[MonetDB-users] JDBC InvalidCredentialsException
On 16-07-2009 00:51:44 -0400, McKennirey.Matthew wrote:
I suspect Fabian is tired of these messages. We have been using MonetDB for about two years now and are very impressed.
heh :) Thanks for all the details. Maybe we can get a private discussion on this, but I would be interested in a JDBC debuglog of the server conversation when you get this invalid credentials, while mclient works fine. Could you run `JdbcClient -hxxx -umonetdb -Xdebug login-debug.log` for me and send the login-debug.log file? Thanks!
However, issues with JDBC connections continue to plague us from time to time. We keep trying to determine exactly what the magical sequence is in respect to creating databases and connecting using merovingian that will avoid the dreaded "InvalidCredentialsException". We carefully read all mentions of merovignian locks and vaultkeys but are frequently still sometimes stuck trying to connect to a new database.
We are very grateful for this wonderful piece of technology, and would be even more grateful if we could figure out how to avoid the InvalidCredentialsException when connecting using the JDBC driver. As far as the driver is concerned we are using the driver from the same build, monetdb-1.10-jdbc.jar, identified as Magnistipula 20090424. (We have also tried the most recent driver, with no better result)
Here is a full sequence of one of the many approaches we have tried, based on Fabian's documentation at http://monetdb.cwi.nl/XQuery/ Documentation/The-JDBC-Library.html
We run as monetdb:monetdb (user:group)
In summary, make sure user monetdb has permissions on the necessary commands and on the dbarm, then
1. switch to user monetdb
2. start merovingian
3. create database
4. connect to merovignian
This fails, here is the gory detail:
# what version are we running, built from MonetDB-Feb2009-SuperBall-SP1.tar.bz2 dbserver:/ # /monetdb/bin/mserver5 --version MonetDB server v5.12.0 (64-bit), based on kernel v1.30.0 (64-bit oids) Copyright (c) 1993-July 2008 CWI Copyright (c) August 2008-2009 MonetDB B.V., all rights reserved Visit http://monetdb.cwi.nl/ for further information Configured for prefix: /monetdb Libraries: libpcre: 7.2 2007-06-19 (compiled with 7.2) openssl: OpenSSL 0.9.8e 23 Feb 2007 (compiled with OpenSSL 0.9.8e 23 Feb 2007) libxml2: 2.6.30 (compiled with 26.30)
Compiled by: root@dbserver (x86_64-unknown-linux-gnu)
Compilation: gcc -O2 -std=c99 -fgnu89-inline Linking : ld -IPA -m elf_x86_64
# start from a fresh install, let's make sure the dbfarm is clean dbserver:/ # ls -l -r /monetdb/var/MonetDB5/dbfarm/
total 0
# let's make sure merovingian is not running dbserver:/ # netstat -tlnp | grep mero
# let's see who owns the dbfarm, it is monetdb:monetdb dbserver:/ # ls -l -r /monetdb/var/MonetDB5 total 4 drwxrwxrwx 2 monetdb monetdb 4096 2009-07-15 23:40 dbfarm
# so we switch to monetdb dbserver:/ # su monetdb
# who are we, just to be sure monetdb@dbserver:/> id uid=1015(monetdb) gid=1099(monetdb) groups=1099(monetdb)
# Fabian says start merovingian monetdb@dbserver:/> /monetdb/bin/merovingian
# is merovignian running - we set its port to 50050 in monetdb5.conf monetdb@dbserver:/> netstat -tlnp | grep mero tcp 0 0 0.0.0.0:50050 0.0.0.0:* LISTEN 9588/merovingian
# Fabian says create a database with monetdb monetdb@dbserver:/> /monetdb/bin/monetdb create TEST successfully created database 'TEST'
# we have downloaded the jdbcclient.jar from the same build (SP1), let's try and connect monetdb@dbserver:/> java -jar /monetdb/jdbcclient.jar -umonetdb -hlocalhost -p50050 -dTEST password:
Database connect failed: InvalidCredentialsException:checkCredentials:invalid credentials for user 'monetdb' monetdb@dbserver:/>
# not so good, let's try mclient to see what happens with a similar request monetdb@dbserver:/> /monetdb/bin/mclient -umonetdb -lsql -hlocalhost -p50050 -dTEST Password:
sql> # looks more promising, who are the users sql>SELECT * FROM USERS; +---------+---------------+----------------+ | name | fullname | default_schema | +=========+===============+================+ | monetdb | MonetDB Admin | 1061 | +---------+---------------+----------------+ 1 tuple
# what's happening on disk, merovignian has created its locks monetdb@dbserver:/> ls -la /monetdb/var/MonetDB5/dbfarm/ total 12 drwxrwxrwx 3 monetdb monetdb 4096 2009-07-15 23:43 . drwxrwxrwx 3 monetdb monetdb 4096 2009-05-23 18:03 .. srwx------ 1 monetdb monetdb 0 2009-07-15 23:43 .merovingian_control -rw------- 1 monetdb monetdb 0 2009-07-15 23:43 .merovingian_lock drwx------ 5 monetdb monetdb 4096 2009-07-15 23:46 TEST
# and in the dbfarm there is a vaultkey monetdb@dbserver:/> ls -la /monetdb/var/MonetDB5/dbfarm/TEST/ total 40 drwx------ 5 monetdb monetdb 4096 2009-07-15 23:46 . drwxrwxrwx 3 monetdb monetdb 4096 2009-07-15 23:43 .. drwx------ 8 monetdb monetdb 4096 2009-07-15 23:53 bat drwx------ 2 monetdb monetdb 4096 2009-07-15 23:46 box -rw------- 1 monetdb monetdb 31 2009-07-15 23:46 .conn -rw------- 1 monetdb monetdb 56 2009-07-15 23:46 .gdk_lock -rw------- 1 monetdb monetdb 13 2009-07-15 23:46 .scen drwx------ 3 monetdb monetdb 4096 2009-07-15 23:46 sql_logs -rw------- 1 monetdb monetdb 11 2009-07-15 23:46 .uplog -rw------- 1 monetdb monetdb 48 2009-07-15 23:43 .vaultkey monetdb@dbserver:/>
# what did the merovignian log say when we tried to connect with the jdbcclient 2009-07-15 23:43:02 MSG merovingian[9588]: Merovingian 1.0 starting ... 2009-07-15 23:43:02 MSG merovingian[9588]: monitoring dbfarm /monetdb/ var/MonetDB5/dbfarm 2009-07-15 23:43:02 MSG merovingian[9588]: listening for TCP connections on dbserver:50050 2009-07-15 23:43:02 MSG merovingian[9588]: listening for UDP messages on dbserver:50050 2009-07-15 23:43:02 MSG merovingian[9588]: listening for UNIX connections on /monetdb/var/MonetDB5/dbfarm/.merovingian_control 2009-07-15 23:46:37 MSG merovingian[9588]: starting database 'TEST', up min/avg/max: 0/0/0, crash average: 0.00 0.00 0.00 (0-0=0) 2009-07-15 23:46:37 MSG TEST[9654]: executing '/monetdb/bin/mserver5' for database 'TEST' 2009-07-15 23:46:37 MSG TEST[9654]: # MonetDB server v5.12.0, based on kernel v1.30.0 2009-07-15 23:46:37 MSG TEST[9654]: # Serving database 'TEST', using 1 thread 2009-07-15 23:46:37 MSG TEST[9654]: # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked 2009-07-15 23:46:37 MSG TEST[9654]: # Copyright (c) 1993-July 2008 CWI. 2009-07-15 23:46:37 MSG TEST[9654]: # Copyright (c) August 2008-2009 MonetDB B.V., all rights reserved 2009-07-15 23:46:37 MSG TEST[9654]: # Visit http://monetdb.cwi.nl/ for further information 2009-07-15 23:46:37 MSG TEST[9654]: # Listening for connection requests on mapi:monetdb://dbserver:50000/ 2009-07-15 23:46:38 MSG merovingian[9588]: proxying client 127.0.0.1:55131 for database 'TEST' to mapi:monetdb://dbserver:50000/ 2009-07-15 23:46:38 MSG merovingian[9588]: client 127.0.0.1:55131 has disconnected from proxy
------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge
_______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
On 16-07-2009 11:27:40 +0200, Fabian Groffen wrote:
On 16-07-2009 00:51:44 -0400, McKennirey.Matthew wrote:
I suspect Fabian is tired of these messages. We have been using MonetDB for about two years now and are very impressed.
heh :)
Thanks for all the details. Maybe we can get a private discussion on this, but I would be interested in a JDBC debuglog of the server conversation when you get this invalid credentials, while mclient works fine.
Could you run `JdbcClient -hxxx -umonetdb -Xdebug login-debug.log` for me and send the login-debug.log file?
We had the problem locally here and found out there has been made a little confusing mistake with regards to the versioning of the driver. We found that the driver which works is this one: Driver: MonetDB Native Driver v1.10 (Magnistipula 20090629 based on MCL v1.4) (found with java -jar jdbcclient --version) However, a previous version is also called monetdb-1.10-jdbc.jar, but bundles the 1.3 MCL component. That one is known to throw the invalid credentials exception. So please download the very latest JDBC drivers (currently from May2009-SP1) from our download area on the website.
Thanks for chasing this down. On Mon, 2009-07-27 at 08:31 -0400, Fabian Groffen wrote:
On 16-07-2009 11:27:40 +0200, Fabian Groffen wrote:
On 16-07-2009 00:51:44 -0400, McKennirey.Matthew wrote:
I suspect Fabian is tired of these messages. We have been using MonetDB for about two years now and are very impressed.
heh :)
Thanks for all the details. Maybe we can get a private discussion on this, but I would be interested in a JDBC debuglog of the server conversation when you get this invalid credentials, while mclient works fine.
Could you run `JdbcClient -hxxx -umonetdb -Xdebug login-debug.log` for me and send the login-debug.log file?
We had the problem locally here and found out there has been made a little confusing mistake with regards to the versioning of the driver.
We found that the driver which works is this one: Driver: MonetDB Native Driver v1.10 (Magnistipula 20090629 based on MCL v1.4) (found with java -jar jdbcclient --version) However, a previous version is also called monetdb-1.10-jdbc.jar, but bundles the 1.3 MCL component. That one is known to throw the invalid credentials exception.
So please download the very latest JDBC drivers (currently from May2009-SP1) from our download area on the website.
------------------------------------------------------------------------------ _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
participants (2)
-
Fabian Groffen
-
McKennirey.Matthew