[jira] Created: (JCR-1665) In JCAConnectionRequestInfo, equals() and hashCode() implementations are inconsistent

View: New views
2 Messages — Rating Filter:   Alert me  

[jira] Created: (JCR-1665) In JCAConnectionRequestInfo, equals() and hashCode() implementations are inconsistent

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

In JCAConnectionRequestInfo, equals() and hashCode() implementations are inconsistent
-------------------------------------------------------------------------------------

                 Key: JCR-1665
                 URL: https://issues.apache.org/jira/browse/JCR-1665
             Project: Jackrabbit
          Issue Type: Bug
          Components: jackrabbit-jca
    Affects Versions: 1.4
            Reporter: Roman Puchkovskiy


JCAConnectionRequestInfo behaves differently in its equals() and hashCode() methods. The former is aware about SimpleCredentials structure, so two instances of JCAConnectionRequestInfo were supplied SimpleCredentials instances with same userID, password and attributes, they are considered equal.
But JCAConnectionRequestInfo.hashCode() just delegates to SimpleCredentials.hashCode() which is same as Object's method. This breaks session pooling.

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


[jira] Updated: (JCR-1665) In JCAConnectionRequestInfo, equals() and hashCode() implementations are inconsistent

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/JCR-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Puchkovskiy updated JCR-1665:
-----------------------------------

    Attachment: JCR-1665.patch

Attaching a patch which contains a test demonstrating a problem and a quick fix.

> In JCAConnectionRequestInfo, equals() and hashCode() implementations are inconsistent
> -------------------------------------------------------------------------------------
>
>                 Key: JCR-1665
>                 URL: https://issues.apache.org/jira/browse/JCR-1665
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-jca
>    Affects Versions: 1.4
>            Reporter: Roman Puchkovskiy
>         Attachments: JCR-1665.patch
>
>
> JCAConnectionRequestInfo behaves differently in its equals() and hashCode() methods. The former is aware about SimpleCredentials structure, so two instances of JCAConnectionRequestInfo were supplied SimpleCredentials instances with same userID, password and attributes, they are considered equal.
> But JCAConnectionRequestInfo.hashCode() just delegates to SimpleCredentials.hashCode() which is same as Object's method. This breaks session pooling.

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