You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Matteo Bertozzi (JIRA)" <ji...@apache.org> on 2014/02/04 00:43:08 UTC

[jira] [Assigned] (HBASE-7579) HTableDescriptor equals method fails if results are returned in a different order

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

Matteo Bertozzi reassigned HBASE-7579:
--------------------------------------

    Assignee: Matteo Bertozzi  (was: Aleksandr Shulman)

> HTableDescriptor equals method fails if results are returned in a different order
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-7579
>                 URL: https://issues.apache.org/jira/browse/HBASE-7579
>             Project: HBase
>          Issue Type: Bug
>          Components: Admin
>    Affects Versions: 0.94.6, 0.95.0
>            Reporter: Aleksandr Shulman
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>             Fix For: 0.99.0
>
>         Attachments: HBASE-7579-0.94.patch, HBASE-7579-v1.patch, HBASE-7579-v2.patch, HBASE-7579-v3.patch, HBASE-7579-v4.patch, HBASE-7579-v5.patch
>
>
> HTableDescriptor's compareTo function compares a set of HColumnDescriptors against another set of HColumnDescriptors. It iterates through both, relying on the fact that they will be in the same order.
> In my testing, I may have seen this issue come up, so I decided to fix it.
> It's a straightforward fix. I convert the sets into a hashset for O(1) lookups (at least in theory), then I check that all items in the first set are found in the second.
> Since the sizes are the same, we know that if all elements showed up in the second set, then they must be equal.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)