You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Michael Gentry (JIRA)" <de...@cayenne.apache.org> on 2007/06/12 15:19:28 UTC

[JIRA] Created: (CAY-801) Re-encode DB password on connection failure

Re-encode DB password on connection failure
-------------------------------------------

                 Key: CAY-801
                 URL: https://issues.apache.org/cayenne/browse/CAY-801
             Project: Cayenne
          Issue Type: Improvement
          Components: Cayenne Core Library
    Affects Versions: 3.0
         Environment: All
            Reporter: Michael Gentry
            Assignee: Michael Gentry
            Priority: Minor
             Fix For: 3.0


If Cayenne tries to do a DB connection and fails (something like this):

org.objectstyle.cayenne.access.QueryLogger  - --- will run 1 query.
org.objectstyle.cayenne.access.QueryLogger  - Opening connection: jdbc:sybase:Tds:host:port/db
        Login: xxxxx
        Password: *******
org.objectstyle.cayenne.access.QueryLogger  - *** Connecting: FAILURE.
java.sql.SQLException: JZ00L: Login failed.  Examine the SQLWarnings chained to
this exception for the reason(s).
        at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:506)
        at com.sybase.jdbc2.tds.Tds.processLoginAckToken(Tds.java:3248)
        at com.sybase.jdbc2.tds.Tds.doLogin(Tds.java:483)
        at com.sybase.jdbc2.tds.Tds.login(Tds.java:405)
        at com.sybase.jdbc2.jdbc.SybConnection.tryLogin(SybConnection.java:218)
        at com.sybase.jdbc2.jdbc.SybConnection.regularConnect(SybConnection.java:195)

When Cayenne tries to reconnect, it should read and encode the DB password through the encoders again.  (Although this probably only makes sense if not stored in the model.)  The above example occurred when the DB password changed, and even though the password was stored outside the model (in an external file), Cayenne has the password cached and will not re-read it to obtain the new password.

If Cayenne can re-read the password, then DB password changes can be done without bringing an application server down or doing migrations.  (This particular application was running from a WAR file.)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.