[
https://issues.apache.org/jira/browse/DERBY-3060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526394
]
Øystein Grøvlen commented on DERBY-3060:
----------------------------------------
Jørgen, thank you for the patch. It looks very good, and is very well
commented. I am running tests, and will commit the patch if nothing new shows
up. While at it, I will take the liberty to fix a mistaken bit-wise or in
getRdbAccessErrorCodePoint, and also add some curly braces to make it more
readable. (None of this was introduced by this patch.)
> Network Server incorrectly assumes that all SQLExceptions with error code
> 08004 are caused by an authentication failure.
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3060
> URL: https://issues.apache.org/jira/browse/DERBY-3060
> Project: Derby
> Issue Type: Bug
> Components: Network Server
> Affects Versions: 10.3.1.4, 10.4.0.0
> Reporter: Jørgen Løland
> Assignee: Jørgen Løland
> Attachments: derby-3060-1.diff, derby-3060-1.stat
>
>
> DRDAConnThread#getConnFromDatabaseName incorrectly assumes that all
> SQLExceptions with error code 08004 thrown when trying to connect to a
> database are caused by an authentication failure.
> DRDAConnThread lines 1295-1296:
> ------8<------
> if (sqlState.regionMatches(0,SQLState.LOGIN_FAILED,0,5))
> return CodePoint.SECCHKCD_USERIDINVALID;
> ------>8------
> I have added an exception to BasicDatabase#setupConnection with error code
> 08004.C.7. The exception is thrown if the connection is refused because the
> database has been booted in slave replication mode. This exception is,
> however, translated into an authentication exception by DRDAConnThread:
> When the NetworkServer has already booted a database 'test' in slave
> replication mode, I get the following output from ij:
> ij> connect 'jdbc:derby://localhost/test';
> ERROR 08004: Connection authentication failure occurred. Reason: userid or
> password invalid.
> If I change the SQL code of the exception to XRE02.C and repeat, I get:
> ij> connect 'jdbc:derby://localhost/test';
> ERROR XRE02: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE02, SQLERRMC: Connect
> refused to database 'test' because it is in replication slave mode.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.