[
https://issues.apache.org/jira/browse/JCR-710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Guggisberg updated JCR-710:
----------------------------------
Fix Version/s: 1.2.1
> NullPointerException in DatabasePersistenceManager and DatabaseFileSystem
> after a failed reconnection attempt
> -------------------------------------------------------------------------------------------------------------
>
> Key: JCR-710
> URL: https://issues.apache.org/jira/browse/JCR-710
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.2
> Reporter: Olivier Dony
> Assigned To: Stefan Guggisberg
> Priority: Minor
> Fix For: 1.2.1
>
>
> As reported on the dev mailing-list, this is what happens:
> The reconnection/retry mechanism in
> DatabasePersistenceManager/DatabaseFileSystem seems to behave fine when the
> connection times out or is killed for some reason, and the DB server is in
> fact still running.
> However there is a problem if the connection cannot be re-established
> directly, for example if a transient network outage lasts longer than the few
> reconnection attempts.
> Inside DatabasePersistenceManager.reestablishConnection(), initConnection()
> will fail, and the preparedStatements map will stay empty.
> This in turn will trigger a nasty NullPointerException (never caught) next
> time executeStmt() is called, because the map is still empty, and there is no
> check for that.
> The following proposed fix from Stefan Guggisberg has been tested to work
> when applied on 1.2-rc2:
> > the simplest fix would be to remove line 783 in
> > DatabasePersistenceManager.java and line 1010 in
> > DatabaseFileSystem.java,
> > i.e. the following stmt:
> >
> > preparedStatements.clear();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira