Re: JDBCRealm.getRoles causes NullPointerException
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Lloyd, DIGLLOYD INC wrote: I am using Realm className=org.apache.catalina.realm.JDBCRealm ... I don't know what's required to use a DataSourceRealm (yet), but if it's a simple switch I'll try it. Ooh, using DataSourceRealm is much better, because you can share the JDBC Connection objects with the rest of your application. It apparently also doesn't suffer from this bug. If you are already using a DataSource in your application, just switch the className and then remove all the connection information from your Realm and replace it with the required DataSource name (see the docs for specifics). I am not sharing anything; the database is used for authentication only. I've declared the realm, but I don't think there's any pool involved. Right: JDBCRealm does not do any connection pooling AFAIK. I don't know how to set up a validation query or debugging options for leaked connections. I see the problem occur just after restarting tomcat so leaked connections shouldn't be the problem. For the DataSourceRealm, you can simply set these options on your Resource that defines the DataSource. You just set the validationQuery attribute to something that your database is guaranteed to execute successfully. MySQL users often choose SELECT 1 but pretty much anything will work. The odd thing is that it has run for 10 days, then it just fails, and then fails after restarting Tomcat. That makes it really hard to isolate the cause. Agreed: very strange. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkjQHmEACgkQ9CaO5/Lv0PAHVACbBK8J1sFObfNYKMJmPBCLdnG7 JlYAn1nEp8JRGjSrSZgpFW8t8hw7D8Z4 =I6hD -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JDBCRealm.getRoles causes NullPointerException
Christopher Schultz wrote: Lloyd, DIGLLOYD INC wrote: I am using Realm className=org.apache.catalina.realm.JDBCRealm ... I don't know what's required to use a DataSourceRealm (yet), but if it's a simple switch I'll try it. Ooh, using DataSourceRealm is much better, because you can share the JDBC Connection objects with the rest of your application. It apparently also doesn't suffer from this bug. If you are already using a DataSource in your application, just switch the className and then remove all the connection information from your Realm and replace it with the required DataSource name (see the docs for specifics). I am not sharing anything; the database is used for authentication only. I've declared the realm, but I don't think there's any pool involved. Right: JDBCRealm does not do any connection pooling AFAIK. It is better than that. It uses a single connection and lots of syncs :) Mark - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JDBCRealm.getRoles causes NullPointerException
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mark, Mark Thomas wrote: Christopher Schultz wrote: Right: JDBCRealm does not do any connection pooling AFAIK. It is better than that. It uses a single connection and lots of syncs :) Sweet! Sounds like a heckuva first-term freshman hack-job to me. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkjQJOIACgkQ9CaO5/Lv0PAqOQCggHTR48qmxyWM2zcNXvRckVXi CboAn0MhjoLCSlxsI0xSBfwglg8rCS6P =eOpr -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JDBCRealm.getRoles causes NullPointerException
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Lloyd, DIGLLOYD INC wrote: MySQL 5.0.51b + mysql-connector-java-5.1.6-bin.jar Have you tried downgrading to a 5.0 version? It might be worth it to see if there is some weird problem with their new driver. The only clue I see in catalina.out is the stack trace below (10 of them or so), about 9 hours *prior* to my detecting the authentication failure. However, my access logs show that users logged in successfully *after* that series of failures. That indicates to me that you are using multiple connections to the database, and perhaps one of them gets damaged but the others are okay. Do you see any other JDBC-related exceptions on your logs, or any faults detected on the MySQL-server-side? Are you using a DataSourceRealm? If so, are you sharing that DataSource with your actual application, or do you have a separate one for authentication? Any other problems /not/ related to authentication? Do you have a validationQuery set for your JDBC/JNDI Resource? If so, what is it? Also, do you have the debugging options for leaked connections turned on? I'm not sure where or how to debug this further. It seems that Tomcat is making a bad call to next() which causes the NPE, but that's unclear; perhaps it's ResultSetImpl with a problem. It's also unclear why there's a burst of such problems, then no further ones in the log, then the hours-later complete failure. I suspect that your connection pool is slowly failing, one connection at a time. When you run out of useful connections, your app is dead. Aug 31, 2008 5:30:48 PM org.apache.catalina.connector.CoyoteAdapter service SEVERE: An exception or error occurred in the container during the request processing java.lang.NullPointerException at com.mysql.jdbc.ResultSetImpl.setRowPositionValidity(ResultSetImpl.java:826) at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:7046) at org.apache.catalina.realm.JDBCRealm.getRoles(JDBCRealm.java:632) I would check with MySQL as well. I've found that my reported bugs never get fixed, but sometimes Tonci will at least get back to you ;) - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAki+vd0ACgkQ9CaO5/Lv0PCa8QCeMoMC4hYDVZnK2TM+If/sJ7wC YTYAnjHrmxXSu2rLdE5i2YDirOtAh3tb =+9Cz -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JDBCRealm.getRoles causes NullPointerException
DIGLLOYD INC wrote: Aug 31, 2008 5:30:48 PM org.apache.catalina.connector.CoyoteAdapter service SEVERE: An exception or error occurred in the container during the request processing java.lang.NullPointerException at com.mysql.jdbc.ResultSetImpl.setRowPositionValidity(ResultSetImpl.java:826) at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:7046) at org.apache.catalina.realm.JDBCRealm.getRoles(JDBCRealm.java:632) The JDBC realm is very much the poor relation of the DataSource realm. If you can switch, you really should. This is probably https://issues.apache.org/bugzilla/show_bug.cgi?id=45453 Mark - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]