[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-08 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

[~apurtell] Here HBASE-13431 I have raised the issue for local index change. 
It's ok for me to work on the JIRA if you don't have time.
Thanks.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-08 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

I am thinking about backporting this to 1.0.x because any way split transaction 
in internal and not exposed outside and only the compatibility changes are in 
coprocessors. If we leave the coprocessors without changing then this should be 
back ported. What do you say [~apurtell]?

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-08 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


bq. I am thinking about backporting this to 1.0.x because any way split 
transaction in internal and not exposed outside and only the compatibility 
changes are in coprocessors. If we leave the coprocessors without changing then 
this should be back ported. 

Sounds good, if we leave the coprocessor APIs as is and only make the private 
changes (and introduction of new LP interfaces) we should be good. 

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-08 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


bq. Here HBASE-13431 I have raised the issue for local index change. It's ok 
for me to work on the JIRA if you don't have time.
I can take it, happy to accommodate you.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-02 Thread Srikanth Srungarapu (JIRA)

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

Srikanth Srungarapu commented on HBASE-12975:
-

Looks like this commit introduced RAT warnings. Checked the stat on the commit 
and looks like .rej file got pushed accidentally..
{code}
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java.rej
 |  10 +
{code}


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-02 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12975:


FAILURE: Integrated in HBase-TRUNK #6334 (See 
[https://builds.apache.org/job/HBase-TRUNK/6334/])
HBASE-13383 TestRegionServerObserver.testCoprocessorHooksInRegionsMerge zombie 
after HBASE-12975 (apurtell: rev 2688e831e5ece1961752aed10240e4ab2506fda5)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-02 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12975:


SUCCESS: Integrated in HBase-TRUNK #6337 (See 
[https://builds.apache.org/job/HBase-TRUNK/6337/])
Amend HBASE-12975 Supportable SplitTransaction and RegionMergeTransaction 
interfaces (apurtell: rev 1e6ea5aab7b0b93536ed11ac527e6f2504745a19)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java.rej


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-02 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


 Checked the stat on the commit and looks like .rej file got pushed 
Thanks for the heads up. I have an addendum which deletes this file staged and 
will push it as soon as the Apache git front end is back up.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-02 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


Pushed the delete

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-04-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


I checked the failures reported on 
https://builds.apache.org/job/HBase-TRUNK/6326/ locally and all of them passed. 

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-31 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12975:


FAILURE: Integrated in HBase-TRUNK #6326 (See 
[https://builds.apache.org/job/HBase-TRUNK/6326/])
HBASE-12975 Supportable SplitTransaction and RegionMergeTransaction interfaces 
(apurtell: rev e156ed619c1e79055f9832456e6523ec6a2ae085)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionFactory.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java.rej
* hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionFactory.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-31 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12975:


FAILURE: Integrated in HBase-1.1 #342 (See 
[https://builds.apache.org/job/HBase-1.1/342/])
HBASE-12975 Supportable SplitTransaction and RegionMergeTransaction interfaces 
(apurtell: rev bf76082f5faf448d8491573acbb3b412c400ac31)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransactionFactory.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionFactory.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975-branch-1.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch, 
 HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-31 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


I will fix the long lines on commit. Going to commit shortly unless objection.


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


This is held up by test failures in the branch-1 backport. I will put up new 
master and branch-1 patches here for Jenkins runs when ready. 

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12975:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12708286/HBASE-12975-branch-1.patch
  against branch-1 branch at commit f1f4b6618334767d0da0f47965309b21676e7e9f.
  ATTACHMENT ID: 12708286

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 40 new 
or modified tests.

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.1 2.5.2 2.6.0)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 1 
warning messages.

{color:red}-1 checkstyle{color}.  The applied patch generated 
3813 checkstyle errors (more than the master's current 3811 errors).

{color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 lineLengths{color}.  The patch introduces the following lines 
longer than 100:
+  public static final String MERGE_TRANSACTION_IMPL_KEY = 
hbase.regionserver.merge.transaction.impl;
+  server != null  server.getCoordinatedStateManager() != null ? 
((BaseCoordinatedStateManager) server
+p.addImmutable(HConstants.CATALOG_FAMILY, 
MetaTableAccessor.getStartCodeColumn(replicaId), null);
+  server != null  server.getCoordinatedStateManager() != null ? 
((BaseCoordinatedStateManager) server
+  public static final String SPLIT_TRANSACTION_IMPL_KEY = 
hbase.regionserver.split.transaction.impl;
+expectedReferenceFileCount != 
FSUtils.getRegionReferenceFileCount(this.parent.getFilesystem(), dir)) {
+p.addImmutable(HConstants.CATALOG_FAMILY, 
MetaTableAccessor.getStartCodeColumn(replicaId), null);
+  private PairPath, Path splitStoreFile(final byte[] family, final StoreFile 
sf) throws IOException {
+  private SplitTransactionImpl prepareGOOD_SPLIT_ROW(final HRegion 
parentRegion) throws IOException {

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13499//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13499//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13499//artifact/patchprocess/checkstyle-aggregate.html

Javadoc warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13499//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13499//console

This message is automatically generated.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975-branch-1.patch, HBASE-12975.patch, 
 HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


Would you mind filing the new issue with thoughts about what you need? I can 
look at it next.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


{quote}
And also as stack mentioned here
https://issues.apache.org/jira/browse/HBASE-12975?focusedCommentId=14367729page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14367729

Instead of using SplitTransactionImpl directly It's better to use split 
transaction implementation created from factory based on configuration.
{quote}

The latest patch does this, except for in some unit tests. But I will double 
check that some hunk wasn't missed.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


I'm going to commit this tonight unless objection.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

bq. Deserves its own issue.
Fine.
+1 to commit.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


{quote}
I am thinking more about split for APPROACH #3 at PHOENIX-1734. For index 
column family store files we need to create both top and bottom reference files 
irrespective of split key in the store file key range.
To support this we need to add splitStoreFile to SplitTransaction interface and 
provide APIs to 1)create both top and bottom references irrespective of split 
key in the store file key range 2) create top and/or bottom references based on 
split key in the store file key range or not.
What do you say?
{quote}
Let's do this as follow on work. This issue splits out today's SplitTransaction 
and RegionMergeTransaction as interfaces and adds factories for them. What you 
propose sounds like additional new API and development work. Deserves its own 
issue.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


I let this sit a bit longer but will commit tonight.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-26 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

[~apurtell]
I am thinking more about split for APPROACH #3 at PHOENIX-1734. For index 
column family store files we need to create both top and bottom reference files 
irrespective of split key in the store file key range.
To support this we need to add splitStoreFile to SplitTransaction interface and 
provide APIs to 1)create both top and bottom references irrespective of split 
key in the store file key range 2) create top and/or bottom references based on 
split key in the store file key range or not. 
What do you say? 

And also as stack mentioned here 
https://issues.apache.org/jira/browse/HBASE-12975?focusedCommentId=14367729page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14367729

Instead of using SplitTransactionImpl directly It's better to use split 
transaction implementation created from factory based on configuration.


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-26 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


Any concerns if I commit this tomorrow to branch-1 and master (not branch-1.0 
or 0.98)?

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-25 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


If you're curious what HBASE-12972 and HBASE-12975 look like together, see 
https://github.com/apurtell/hbase/tree/HBASE-12972+12975 

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-19 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


I think the same concerns that [~enis] posted to 
https://issues.apache.org/jira/browse/HBASE-12972?focusedCommentId=14370058page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14370058
 are relevant here. My (frustrated) reaction is here: 
https://issues.apache.org/jira/browse/HBASE-12972?focusedCommentId=14370086page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14370086
 

I'll also hold off here pending feedback on what we should do wrt branch-1

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-18 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

[~apurtell]
I am ok to proceed with the current patch. It's very clean now. 

{noformat}
1. Instantiate N SplitTransactions
2. Run each SplitTransaction up to PONR. Can be done in parallel. If there's a 
failure, invoke the rollback method on all and try again and/or do some other 
remediation.
3. Run each SplitTransaction past PONR. Can be done in parallel. If there's a 
failure, the server must abort.
{noformat}
This is the way I am also suggesting earlier to split multiple regions in a 
transaction.  

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-18 Thread stack (JIRA)

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

stack commented on HBASE-12975:
---

Can this be Interface rather than impl?

 RegionMergeTransactionImpl rmt = new RegionMergeTransactionImpl(a, b, true);

ditto

   SplitTransactionImpl st = new SplitTransactionImpl(parent, midKey);

Skimmed the rest. Looks good.


 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-17 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


Thanks for the pointer [~jamestaylor], I had not seen that issue yet.

So [~rajeshbabu], it looks ok to proceed with this patch as-is. We could even 
drop the listener interface, but I suppose that could be independently useful, 
even though there would be no user for it today. Should we need to group more 
than one SplitTransaction into an uber-transaction, we can enhance the API with 
something like the SplitTransactions suggestion I made above.

Unless I hear otherwise I will refresh the current patch and get it ready for 
review for commit.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-16 Thread James Taylor (JIRA)

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

James Taylor commented on HBASE-12975:
--

[~apurtell] - have you seen the discussion over at PHOENIX-1734? The approach 
there sounds like it won't need any of the co-location code, so this may not be 
necessary.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-16 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


bq. As for the current patch SplitTransactionImpl supports splitting only one 
region at a time. If we want to split multiple regions do we need to have 
custom implementation?

A custom implementation is possible. What factory to use for instantiating 
transactions can be changed in configuration. I don't think this would be 
supportable though. You couldn't do this in a downstream project, for example 
and expect any level of source, binary, or semantic compatibility, because any 
implementation would require use of any number of private interfaces to make a 
split happen.  

bq. Can you explain bit more how we can add more regions to split 
transactionally?

Currently, regions are managed independently *except* when running a region 
merge transaction, for obvious reasons. I would hesitate to extend the scope of 
this issue to also make major changes to how split transactions work, so I 
don't think we should change SplitTransaction to handle coordination of splits 
of multiple regions, but if you have a specific proposal of course we should 
look at it.

What about allowing coprocessors or other internal users to create multiple 
SplitTransactions and coordinate them? The interfaces here would need some more 
work, but the procedure might go something like:

# Instantiate N SplitTransactions
# Run each SplitTransaction up to PONR. Can be done in parallel. If there's a 
failure, invoke the rollback method on all and try again and/or do some other 
remediation. 
# Run each SplitTransaction past PONR. Can be done in parallel. If there's a 
failure, the server must abort. 

The major difference between the above and current proposal is we allow an 
interface user to drive transaction execution in coordinated pre- and post-PONR 
phases to allow clean up without abort if there's a pre-PONR failure. We could 
actually continue to hide the pre- and post-PONR distinction from the API by 
adding a helper class that you create with an array of SplitTransaction, then 
call an {{execute}} method. It would do the above coordination. We could call 
it {{SplitTransactions}} ? 

What do you think?

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-03-12 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

[~apurtell] 
bq. As for specifying what region(s) to run a transaction on, can you use the 
new factories? Create a factory, call its create() method with the desired 
regions(s) to get a transaction instance), and then run it?
This approach is good but confused with the patch. As for the current patch 
SplitTransactionImpl supports splitting only one region at a time. If we want 
to split multiple regions do we need to have custom implementation? Or just if 
we register new transaction listener for other regions? Or still we need to 
make the changes in SplitTransactionImpl?

Can you explain bit more how we can add more regions to split transactionally?
Thanks.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-02-27 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-12975:
---

Sorry a bit late here. Why can't we add a *new* stable interface in a 1.0.x 
release? Where's the compatibility issue?

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-02-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12975:


Here's what I have for SplitTransaction. RegionMergeTransaction will be 
similar, differing in ways you can infer. 
{code:java}
/**
 * Executes region split as a transaction.  Call {@link #prepare()} to setup
 * the transaction, {@link #execute(Server, RegionServerServices)} to run the
 * transaction and {@link #rollback(Server, RegionServerServices)} to cleanup 
if execute fails.
 *
 * pHere is an example of how you would use this interface:
 * pre
 *  SplitTransactionFactory factory = new SplitTransactionFactory(conf);
 *  SplitTransaction st = factory.create(parent, midKey)
 *.registerTransactionListener(new TransactionListener() {
 *   public void transition(SplitTransaction transaction, 
SplitTransactionPhase from,
 *   SplitTransactionPhase to) throws IOException {
 * // ...
 *   }
 *   public void rollback(SplitTransaction transaction, 
SplitTransactionPhase from,
 *   SplitTransactionPhase to) {
 * // ...
 *   }
 *});
 *  if (!st.prepare()) return;
 *  try {
 *st.execute(server, services);
 *  } catch (IOException e) {
 *try {
 *  st.rollback(server, services);
 *  return;
 *} catch (RuntimeException e) {
 *  // abort the server
 *}
 *  }
 * /Pre
 * pA split transaction is not thread safe.  Callers must ensure a split is 
run by
 * one thread only.
 */
@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
@InterfaceStability.Evolving
public interface SplitTransaction {

  /**
   * Each enum is a step in the split transaction.
   */
  public enum SplitTransactionPhase {
/**
 * Started
 */
STARTED,
/**
 * Prepared (after table lock)
 */
PREPARED,
/**
 * Before preSplit coprocessor hook
 */
BEFORE_PRE_SPLIT_HOOK,
/**
 * After preSplit coprocessor hook
 */
AFTER_PRE_SPLIT_HOOK,
/**
 * Set region as in transition, set it into SPLITTING state.
 */
SET_SPLITTING,
/**
 * We created the temporary split data directory.
 */
CREATE_SPLIT_DIR,
/**
 * Closed the parent region.
 */
CLOSED_PARENT_REGION,
/**
 * The parent has been taken out of the server's online regions list.
 */
OFFLINED_PARENT,
/**
 * Started in on creation of the first daughter region.
 */
STARTED_REGION_A_CREATION,
/**
 * Started in on the creation of the second daughter region.
 */
STARTED_REGION_B_CREATION,
/**
 * Opened the first daughter region
 */
OPENED_REGION_A,
/**
 * Opened the second daughter region
 */
OPENED_REGION_B,
/**
 * Point of no return.
 * If we got here, then transaction is not recoverable other than by
 * crashing out the regionserver.
 */
PONR,
/**
 * Before postSplit coprocessor hook
 */
BEFORE_POST_SPLIT_HOOK,
/**
 * After postSplit coprocessor hook
 */
AFTER_POST_SPLIT_HOOK,
/**
 * Completed
 */
COMPLETED
  }

  /**
   * Split transaction journal entry
   */
  public interface JournalEntry {

/** @return the completed phase marked by this journal entry */
SplitTransactionPhase getPhase();

/** @return the time of phase completion */
long getTimeStamp();
  }

  /**
   * Split transaction listener
   */
  public interface TransactionListener {

/**
 * Invoked when transitioning forward from one transaction phase to another
 * @param transaction the transaction
 * @param from the current phase
 * @param to the next phase
 * @throws IOException listener can throw this to abort
 */
void transition(SplitTransaction transaction, SplitTransactionPhase from,
SplitTransactionPhase to) throws IOException;

/**
 * Invoked when rolling back a transaction from one transaction phase to the
 * previous
 * @param transaction the transaction
 * @param from the current phase
 * @param to the previous phase
 */
void rollback(SplitTransaction transaction, SplitTransactionPhase from,
SplitTransactionPhase to);
  }

  /**
   * Check split inputs and prepare the transaction.
   * @return codetrue/code if the region is splittable else
   * codefalse/code if it is not (e.g. its already closed, etc.).
   * @throws IOException 
   */
  boolean prepare() throws IOException;

  /**
   * Run the transaction.
   * @param server Hosting server instance.  Can be null when testing.
   * @param services Used to online/offline regions.
   * @throws IOException If thrown, transaction failed.
   *  Call {@link #rollback(Server, RegionServerServices)}
   * @return Regions created
   * @throws IOException
   * @see #rollback(Server, 

[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-02-27 Thread Rajeshbabu Chintaguntla (JIRA)

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

Rajeshbabu Chintaguntla commented on HBASE-12975:
-

bq. Since I'm working on a patch I'm going to take this Rajeshbabu 
Chintaguntla, but please let me know if you plan on actively working on it 
right away, we can figure something out.
You can continue [~apurtell]. I can help you by parallely testing and let you 
know any pain points to make use for local indexes case in Phoenix.
Thanks.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-02-27 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12975:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12701528/HBASE-12975.patch
  against master branch at commit bec2b0d320554b0af8c891fddc147a953f35765f.
  ATTACHMENT ID: 12701528

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 36 new 
or modified tests.
{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.1 2.5.2 2.6.0)

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 1 
warning messages.

{color:red}-1 checkstyle{color}.  The applied patch generated 
1941 checkstyle errors (more than the master's current 1938 errors).

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 lineLengths{color}.  The patch introduces the following lines 
longer than 100:
+  public static final String MERGE_TRANSACTION_IMPL_KEY = 
hbase.regionserver.merge.transaction.impl;
+  public RegionMergeTransactionImpl create(final HRegion a, final HRegion b, 
final boolean forcible) {
+  public static final String SPLIT_TRANSACTION_IMPL_KEY = 
hbase.regionserver.split.transaction.impl;
+expectedReferenceFileCount != 
FSUtils.getRegionReferenceFileCount(this.parent.getFilesystem(), dir)) {
+  private PairPath, Path splitStoreFile(final byte[] family, final StoreFile 
sf) throws IOException {
+  private SplitTransactionImpl prepareGOOD_SPLIT_ROW(final HRegion 
parentRegion) throws IOException {

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   org.apache.hadoop.hbase.regionserver.TestSplitTransaction
  org.apache.hadoop.hbase.coprocessor.TestCoprocessorInterface
  
org.apache.hadoop.hbase.regionserver.TestRegionMergeTransaction

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/checkstyle-aggregate.html

Javadoc warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/13009//console

This message is automatically generated.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
   

[jira] [Commented] (HBASE-12975) Supportable SplitTransaction and RegionMergeTransaction interfaces

2015-02-27 Thread Sean Busbey (JIRA)

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

Sean Busbey commented on HBASE-12975:
-

semver says we only add features in minor releases.

 Supportable SplitTransaction and RegionMergeTransaction interfaces
 --

 Key: HBASE-12975
 URL: https://issues.apache.org/jira/browse/HBASE-12975
 Project: HBase
  Issue Type: Improvement
Reporter: Rajeshbabu Chintaguntla
Assignee: Andrew Purtell
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12975.patch, HBASE-12975.patch


 Making SplitTransaction, RegionMergeTransaction limited private is required 
 to support local indexing feature in Phoenix to ensure regions colocation. 
 We can ensure region split, regions merge in the coprocessors in few method 
 calls without touching internals like creating zk's, file layout changes or 
 assignments.
 1) stepsBeforePONR, stepsAfterPONR we can ensure split.
 2) meta entries can pass through coprocessors to atomically update with the 
 normal split/merge.
 3) rollback on failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)