You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Anoop Sam John (JIRA)" <ji...@apache.org> on 2012/07/05 10:20:33 UTC
[jira] [Created] (HBASE-6331) Problem with HBCK mergeOverlaps
Anoop Sam John created HBASE-6331:
-------------------------------------
Summary: Problem with HBCK mergeOverlaps
Key: HBASE-6331
URL: https://issues.apache.org/jira/browse/HBASE-6331
Project: HBase
Issue Type: Bug
Components: hbck
Reporter: Anoop Sam John
Assignee: Anoop Sam John
In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
I can see one issue with this code
{code}
if (RegionSplitCalculator.BYTES_COMPARATOR
.compare(hi.getEndKey(), range.getSecond()) > 0) {
range.setSecond(hi.getEndKey());
}
{code}
Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anoop Sam John updated HBASE-6331:
----------------------------------
Attachment: HBASE-6331_Trunk.patch
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406934#comment-13406934 ]
ramkrishna.s.vasudevan commented on HBASE-6331:
-----------------------------------------------
This issue we observed after doing -fixSplitParents..followed by hbck -fix and hbck -repair. I think we may need documentation here on the usage of fixSplitParents.
Parent region A got split into A1 and A2.
A -> startkey = 'x' and endkey = ''.
So A1 -> startkey = 'x' and endkey = 'x1'
A2 -> startkey = 'x1' and endkey =''.
Here while reading the hdfs hbck finds there are 2 regions with same start key and 1 region that overlaps.
{code}
ERROR: (region ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.) Multiple regions have the same startkey: 010193811093051
ERROR: (region ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.) Multiple regions have the same startkey: 010193811093051
ERROR: (regions ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0. and ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.) There is an overlap in the region chain.
{code}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.', STARTKEY => '010193811093051', ENDKEY => '010196915311117', ENCODED => cd3d13f6574059498ceded9661e136cd,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.', STARTKEY => '010193811093051', ENDKEY => '', ENCODED => e3af982dffd49d785f76ab6e5aa36fc0,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.', STARTKEY => '010196915311117', ENDKEY => '', ENCODED => 865326e49dfa71996a92dfa5e45c6977,}
{code}
Now finally while fixing this HBCK creates a region which does not have empty start key.
We can try fixing HBASE-6223 so that we are clear on the usage of -fixSplitParents.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413463#comment-13413463 ]
Jimmy Xiang commented on HBASE-6331:
------------------------------------
For all the add methods of RegionSplitCalculator, the specialEndKey() method seems to be called. If there is a bug, the specialEndKey() probably is not called there. Please share a log. Thanks.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.2
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409045#comment-13409045 ]
Lars Hofhansl commented on HBASE-6331:
--------------------------------------
Patch looks good to me. [~jmhsieh] Should have a look at it.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411882#comment-13411882 ]
Lars Hofhansl commented on HBASE-6331:
--------------------------------------
I'm OK with committing this without a test (change looks very safe to me).
Can we either move this to 0.94.2 or add a 0.94.2 task for adding a test?
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406933#comment-13406933 ]
Anoop Sam John commented on HBASE-6331:
---------------------------------------
Apart from the mentioned issue, the patch contains a trivial fix for a log issue in HbckInfo#getEndKey()
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jonathan Hsieh (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409219#comment-13409219 ]
Jonathan Hsieh commented on HBASE-6331:
---------------------------------------
Ram, I'll comment about the motivation for -fixSplitParents over on HBASE-6223.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13410030#comment-13410030 ]
Anoop Sam John commented on HBASE-6331:
---------------------------------------
@Jon
Sure I will add test case. I have doubt whether some other problems in the related area. Any way tests will reveal that.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-6331:
---------------------------------
Fix Version/s: (was: 0.94.1)
0.94.2
Need to release 0.94.1RC soon, pushing for now.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.2
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490204#comment-13490204 ]
Jimmy Xiang commented on HBASE-6331:
------------------------------------
Should we close this now? We can re-open it or create a new one once it can be reproduced.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
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
[jira] [Comment Edited] (HBASE-6331) Problem with HBCK
mergeOverlaps
Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406934#comment-13406934 ]
ramkrishna.s.vasudevan edited comment on HBASE-6331 at 7/5/12 9:33 AM:
-----------------------------------------------------------------------
This issue we observed after doing -fixSplitParents..followed by hbck -fix and hbck -repair. I think we may need documentation here on the usage of fixSplitParents.
Parent region A got split into A1 and A2.
A -> startkey = 'x' and endkey = ''.
So A1 -> startkey = 'x' and endkey = 'x1'
A2 -> startkey = 'x1' and endkey =''.
Here while reading the hdfs hbck finds there are 2 regions with same start key and 1 region that overlaps.
{code}
ERROR: (region ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.) Multiple regions have the same startkey: 010193811093051
ERROR: (region ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.) Multiple regions have the same startkey: 010193811093051
ERROR: (regions ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0. and ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.) There is an overlap in the region chain.
{code}
{code}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.', STARTKEY => '010193811093051', ENDKEY => '010196915311117', ENCODED => cd3d13f6574059498ceded9661e136cd,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.', STARTKEY => '010193811093051', ENDKEY => '', ENCODED => e3af982dffd49d785f76ab6e5aa36fc0,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.', STARTKEY => '010196915311117', ENDKEY => '', ENCODED => 865326e49dfa71996a92dfa5e45c6977,}
{code}
Now finally while fixing this HBCK creates a region which does not have empty start key.
We can try fixing HBASE-6223 so that we are clear on the usage of -fixSplitParents.
was (Author: ram_krish):
This issue we observed after doing -fixSplitParents..followed by hbck -fix and hbck -repair. I think we may need documentation here on the usage of fixSplitParents.
Parent region A got split into A1 and A2.
A -> startkey = 'x' and endkey = ''.
So A1 -> startkey = 'x' and endkey = 'x1'
A2 -> startkey = 'x1' and endkey =''.
Here while reading the hdfs hbck finds there are 2 regions with same start key and 1 region that overlaps.
{code}
ERROR: (region ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.) Multiple regions have the same startkey: 010193811093051
ERROR: (region ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.) Multiple regions have the same startkey: 010193811093051
ERROR: (regions ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0. and ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.) There is an overlap in the region chain.
{code}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438516341.cd3d13f6574059498ceded9661e136cd.', STARTKEY => '010193811093051', ENDKEY => '010196915311117', ENCODED => cd3d13f6574059498ceded9661e136cd,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010193811093051,1341438202996.e3af982dffd49d785f76ab6e5aa36fc0.', STARTKEY => '010193811093051', ENDKEY => '', ENCODED => e3af982dffd49d785f76ab6e5aa36fc0,}
12/07/05 11:14:09 DEBUG util.HBaseFsck: HRegionInfo read: {NAME => 'ufdr,010196915311117,1341438516341.865326e49dfa71996a92dfa5e45c6977.', STARTKEY => '010196915311117', ENDKEY => '', ENCODED => 865326e49dfa71996a92dfa5e45c6977,}
{code}
Now finally while fixing this HBCK creates a region which does not have empty start key.
We can try fixing HBASE-6223 so that we are clear on the usage of -fixSplitParents.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anoop Sam John updated HBASE-6331:
----------------------------------
Fix Version/s: 0.94.1
0.96.0
Status: Patch Available (was: Open)
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413458#comment-13413458 ]
Anoop Sam John commented on HBASE-6331:
---------------------------------------
Actually we go one problem while running HBCK. Based on the code review seen this. As you said if NULL is end key and it is being handled then it code should be okey. I will verify all with test case.
Actually from the log I have seen that the new region created to solve overlap was not having empty end key. I will get and attach that log.
I will investigate further on this.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.2
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406953#comment-13406953 ]
Hadoop QA commented on HBASE-6331:
----------------------------------
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12535174/HBASE-6331_Trunk.patch
against trunk revision .
+1 @author. The patch does not contain any @author tags.
-1 tests included. The patch doesn't appear to include any new or modified tests.
Please justify why no new tests are needed for this patch.
Also please list what manual steps were performed to verify this patch.
+1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.
+1 javadoc. The javadoc tool did not generate any warning messages.
-1 javac. The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).
-1 findbugs. The patch appears to introduce 7 new Findbugs (version 1.3.9) warnings.
+1 release audit. The applied patch does not increase the total number of release audit warnings.
-1 core tests. The patch failed these unit tests:
org.apache.hadoop.hbase.mapreduce.TestTableMapReduce
org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat
org.apache.hadoop.hbase.mapreduce.TestWALPlayer
org.apache.hadoop.hbase.mapred.TestTableMapReduce
org.apache.hadoop.hbase.mapreduce.TestImportExport
org.apache.hadoop.hbase.mapreduce.TestMultithreadedTableMapper
org.apache.hadoop.hbase.mapreduce.TestImportTsv
Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2327//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2327//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2327//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2327//console
This message is automatically generated.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jonathan Hsieh (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412249#comment-13412249 ]
Jonathan Hsieh commented on HBASE-6331:
---------------------------------------
Lars, let's go ahead and bump it to 0.94.2 -- I don't want to hold up a release, and though it is a bug, we've gotten by without it for a while now.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jonathan Hsieh (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409215#comment-13409215 ]
Jonathan Hsieh commented on HBASE-6331:
---------------------------------------
Hey Anoop, I believe the problem, but I'm always a stickler for adding tests that cover the previously missing cases. Mind adding a test case?
I'm fairly certain the unit test errors were my fault (and reverted).
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-6331:
---------------------------------
Fix Version/s: (was: 0.94.2)
0.94.3
Pushing out again.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.3
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
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
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412261#comment-13412261 ]
Jimmy Xiang commented on HBASE-6331:
------------------------------------
I don't think this is a bug. In hbck, the last endkey is not the normal empty byte[].
Instead, it is changed to null. So we have a special comparator.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409216#comment-13409216 ]
ramkrishna.s.vasudevan commented on HBASE-6331:
-----------------------------------------------
@Jon
Could you take a look at https://issues.apache.org/jira/browse/HBASE-6331?focusedCommentId=13406934&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13406934.
We are having some doubts on the usage of -fixSplitParents.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406973#comment-13406973 ]
Anoop Sam John commented on HBASE-6331:
---------------------------------------
Need to see whether similar issue is there in other parts of code in HBCK.
The place where detecting whether region overlap is there or not?
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.1
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412994#comment-13412994 ]
Jimmy Xiang commented on HBASE-6331:
------------------------------------
@Anoop, in hbck, the last endkey is changed to null, which is greater than all other keys.
Could you add a testcase to verify this is not a bug?
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0, 0.94.2
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Anoop Sam John (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anoop Sam John updated HBASE-6331:
----------------------------------
Attachment: HBASE-6331_94.patch
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-6331) Problem with HBCK mergeOverlaps
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-6331:
---------------------------------
Fix Version/s: (was: 0.94.3)
Removing from 0.94. Pull back if you disagree.
> Problem with HBCK mergeOverlaps
> -------------------------------
>
> Key: HBASE-6331
> URL: https://issues.apache.org/jira/browse/HBASE-6331
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.96.0
>
> Attachments: HBASE-6331_94.patch, HBASE-6331_Trunk.patch
>
>
> In HDFSIntegrityFixer#mergeOverlaps(), there is a logic to create the final range of the region after the overlap.
> I can see one issue with this code
> {code}
> if (RegionSplitCalculator.BYTES_COMPARATOR
> .compare(hi.getEndKey(), range.getSecond()) > 0) {
> range.setSecond(hi.getEndKey());
> }
> {code}
> Here suppose the regions include the end region for which the endKey will be empty, we need to get finally the range with endkey as empty byte[]
> But as per the above logic it will see that any other key greater than the empty byte[] and will set it.
> Finally the new region created will not get endkey as empty byte[]
--
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