You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2013/04/23 22:51:16 UTC
[jira] [Reopened] (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 ]
stack reopened HBASE-7579:
--------------------------
Reopening. Broke build. Backed out the patch. Thanks to Elliott for noticing and bisecting.
> 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: Aleksandr Shulman
> Priority: Minor
> Fix For: 0.98.0, 0.95.1
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira