[jira] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-05 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

Attachment: 9095-2.txt

I had to do some more changes to have the tests work (TestMaster and 
TestTestZKBasedOpenCloseRegion). I was trying to make the tests work with 
Mockito/spy but it didn't work and at some point I gave up. This approach is 
not as elegant but works.

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1 (1).txt, 9095-1.txt, 9095-1.txt, 9095-1.txt, 
 9095-2.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-05 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed to 0.95 and trunk.

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1 (1).txt, 9095-1.txt, 9095-1.txt, 9095-1.txt, 
 9095-2.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-03 Thread stack (JIRA)

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

stack updated HBASE-9095:
-

Attachment: 9095-1 (1).txt

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1 (1).txt, 9095-1.txt, 9095-1.txt, 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-02 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

Attachment: 9095-1.txt

Reattaching again since hadoopqa didn't pick it up the last time.

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1.txt, 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-02 Thread stack (JIRA)

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

stack updated HBASE-9095:
-

Attachment: 9095-1.txt

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1.txt, 9095-1.txt, 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-01 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

  Component/s: Region Assignment
Fix Version/s: 0.95.2
 Assignee: Devaraj Das

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-01 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

Attachment: 9095-1.txt

Should fix the issue.

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
Reporter: Devaraj Das
 Attachments: 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

--
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] [Updated] (HBASE-9095) AssignmentManager's handleRegion should respect the single threaded nature of the processing

2013-08-01 Thread Devaraj Das (JIRA)

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

Devaraj Das updated HBASE-9095:
---

Status: Patch Available  (was: Open)

 AssignmentManager's handleRegion should respect the single threaded nature of 
 the processing
 

 Key: HBASE-9095
 URL: https://issues.apache.org/jira/browse/HBASE-9095
 Project: HBase
  Issue Type: Bug
  Components: Region Assignment
Reporter: Devaraj Das
Assignee: Devaraj Das
 Fix For: 0.95.2

 Attachments: 9095-1.txt


 While debugging a case where a region was getting opened on a RegionServer 
 and then closed soon after (and then never re-opened anywhere thereafter), it 
 seemed like the processing in handleRegion to do with deletion of ZK nodes 
 should be non-asynchronous. This achieves two things:
 1. The synchronous deletion prevents more than one processing on the same 
 event data twice. Assuming that we do get more than one notification (on 
 let's say, region OPENED event), the subsequent processing(s) in handleRegion 
 for the same znode would end up with a zookeeper node not found exception. 
 The return value of the data read would be null and that's already handled. 
 If it is asynchronous, it leads to issues like - master opens a region on a 
 certain RegionServer and soon after it sends that RegionServer a close for 
 the same region, and then the znode is deleted.
 2. The deletion is currently handled in an executor service. This is 
 problematic since by design the events for a given region should be processed 
 in order. By delegating a part of the processing to executor service we are 
 somewhat violating this contract since there is no guarantee of the ordering 
 in the executor service executions...
 Thanks to [~jeffreyz] and [~enis] for the discussions on this issue.

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