virtuoso-opensource icon indicating copy to clipboard operation
virtuoso-opensource copied to clipboard

Error 42000: [Virtuoso Driver][Virtuoso Server]SR286: The user dav does not exist

Open JonnyJD opened this issue 3 years ago • 0 comments

After #1083 changing the password for the "dav" user works in tests, but not in the actual/full automatic deployment:

*** Error 42000: [Virtuoso Driver][Virtuoso Server]SR286: The user dav does not exist
at line 0 of Top-Level:
user_set_password('dav', '...')

Again with: (Version 07.20.3229-pthreads for Linux as of Oct 20 2021; = 7.2.5.1+dfsg1-0.2 in Ubuntu 22.04; running Docker)

It turns out it is not enough starting virtuoso directly to let it create the DB. It needs to be restarted again in order to "fully create" (?) these users. That sounds weird, but I can reproduce this by:

  1. Removing DB like rm -r /var/lib/virtuoso-opensource-7/db
  2. starting virtuoso (I use a self-made docker container with the Ubuntu/Debian package) so with +foreground
  3. running user_set_password('dav', '...')

Waiting does not fix this, but restarting virtuoso does fix it.

What is very interesting though: Even though isql-vt complains that the user does not exist, I can login to localhost:8890/DAV with the "dav" user and I see the "dav" user in conductor. So the problem is not that the user doesn't exist, but there seems to be some prequisite for user_set_password that does not exist.

Also of note: user_set_password('dba', '...') does work, before a restart (see #1087). So at least the "dba" user is "fully there" already.

As for the other ticket: This is easy to fix for our use by making sure virtuoso gets "enough restarts" during our deployment, but maybe this helps others and maybe there is also a way to "fix this".

JonnyJD avatar Dec 15 '22 16:12 JonnyJD