[jira] [Commented] (HBASE-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-09-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13448302#comment-13448302
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-0.94-security-on-Hadoop-23 #7 (See 
[https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/7/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1375158)

 Result = FAILURE
Tedyu : 
Files : 
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-23 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13440156#comment-13440156
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-0.92-security #116 (See 
[https://builds.apache.org/job/HBase-0.92-security/116/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1375159)

 Result = FAILURE
tedyu : 
Files : 
* 
/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13439517#comment-13439517
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-0.94-security #48 (See 
[https://builds.apache.org/job/HBase-0.94-security/48/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1375158)

 Result = FAILURE
tedyu : 
Files : 
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-20 Thread Zhihong Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13438053#comment-13438053
 ] 

Zhihong Ted Yu commented on HBASE-6608:
---

Integrated to 0.92 and 0.94 as well.

Thanks for the patch, Enis.

 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-20 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13438068#comment-13438068
 ] 

stack commented on HBASE-6608:
--

@Enis I'd say new issue.  Thanks boss.

 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-20 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13438162#comment-13438162
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-0.94 #407 (See 
[https://builds.apache.org/job/HBase-0.94/407/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1375158)

 Result = SUCCESS
tedyu : 
Files : 
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-20 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13438240#comment-13438240
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-0.92 #508 (See 
[https://builds.apache.org/job/HBase-0.92/508/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1375159)

 Result = SUCCESS
tedyu : 
Files : 
* 
/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1-0.92+0.94.patch, 
 hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-19 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437498#comment-13437498
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #136 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/136/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1374676)

 Result = FAILURE
tedyu : 
Files : 
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-18 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437422#comment-13437422
 ] 

stack commented on HBASE-6608:
--

+1

Makes me think we should not be comparing 'offline' when doing HRI#compareTo.

Good find Enis.

 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-18 Thread Zhihong Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437435#comment-13437435
 ] 

Zhihong Ted Yu commented on HBASE-6608:
---

Integrated to trunk.

@Enis, please attach patch(es) for 0.92 / 0.94

Thanks for the review, Stack.

 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437442#comment-13437442
 ] 

Hudson commented on HBASE-6608:
---

Integrated in HBase-TRUNK #3239 (See 
[https://builds.apache.org/job/HBase-TRUNK/3239/])
HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted 
before parent entries, shouldn't compare HRegionInfo's (Enis) (Revision 1374676)

 Result = SUCCESS
tedyu : 
Files : 
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java


 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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-6608) Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's

2012-08-17 Thread Zhihong Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-6608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437241#comment-13437241
 ] 

Zhihong Ted Yu commented on HBASE-6608:
---

Test failures are not related to the patch.

Will integrate Monday if there is no objection.

 Fix for HBASE-6160, META entries from daughters can be deleted before parent 
 entries, shouldn't compare HRegionInfo's
 -

 Key: HBASE-6608
 URL: https://issues.apache.org/jira/browse/HBASE-6608
 Project: HBase
  Issue Type: Bug
  Components: client, regionserver
Affects Versions: 0.92.1, 0.96.0, 0.94.2
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.92.2, 0.96.0, 0.94.2

 Attachments: 6608-v2.patch, hbase-6608_v1.patch


 Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
 the issue of META entries from daughters can be deleted before parent 
 entries. Instead of reopening the HBASE-6160, it is cleaner to track it 
 here. 
 The original issue is: 
 {quote}
 HBASE-5986 fixed and issue, where the client sees the META entry for the 
 parent, but not the children. However, after the fix, we have seen the 
 following issue in tests:
 Region A is split to - B, C
 Region B is split to - D, E
 After some time, META entry for B is deleted since it is not needed anymore, 
 but META entry for Region A stays in META (C still refers it). In this case, 
 the client throws RegionOfflineException for B.
 {quote}
 The problem with the fix seems to be that we keep and compare HRegionInfo's 
 in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
 not equal.  
 {code}
 HashSetHRegionInfo parentNotCleaned = new HashSetHRegionInfo(); //regions 
 whose parents are still around
   for (Map.EntryHRegionInfo, Result e : splitParents.entrySet()) {
 if (!parentNotCleaned.contains(e.getKey())  cleanParent(e.getKey(), 
 e.getValue())) {
   cleaned++;
 } else {
 ...
 {code}
 In the above case, Meta row for region A will contain a serialized version of 
 B that is not offline. However Meta row for region B will contain a 
 serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
 does that). So the deserialized version we put to HashSet and the 
 deserialized version we query contains() from HashSet are different in the 
 offline field, thus HRI.equals() fail. 

--
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