[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-04-02 Thread John Leach (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15222883#comment-15222883
 ] 

John Leach commented on HBASE-15556:


Focus of the patch:

1.  Isolate the consistency model of HBase and define it via an interface 
(clarity).  
2.  Define HBase’s current consistency model in a concrete class (synchronized 
ordering of writing threads via single readPoint with all scans synchronized).
3.  Make this interface extensible.  We can then test different approaches and 
the effect on performance/correctness.

At Splice Machine, we have written an implementation for Snapshot Isolation.  
We did this because both synchronizing of scans and ordering of writing threads 
becomes a bottleneck on our TPCC runs.

If you would like to provide feedback on our model, we can post.  I had asked 
Walt not to post because it would muddy the water with regards to this patch 
and it's value to the community.  I was hoping this would enable someone to 
write a non-blocking implementation for HBase's more restrictive model.

In general, I am a huge fan of making things into extensible components and I 
love the work in making stores more extensible (Striped, etc.).



> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0-02.patch, 
> HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15221102#comment-15221102
 ] 

stack commented on HBASE-15556:
---

bq. Hold that thought about our custom bit...don't want to attach it here yet.

The community would be interested in perf improvements if you have some. 
Community would be more interested in that than making MVCC pluggable (IMO).

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0-02.patch, 
> HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220659#comment-15220659
 ] 

Hadoop QA commented on HBASE-15556:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 
20s {color} | {color:green} branch-1.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 9s 
{color} | {color:green} branch-1.0 passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 41s 
{color} | {color:green} branch-1.0 passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
26s {color} | {color:green} branch-1.0 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
23s {color} | {color:green} branch-1.0 passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 2m 20s 
{color} | {color:red} hbase-server in branch-1.0 has 59 extant Findbugs 
warnings. {color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 1m 5s 
{color} | {color:red} hbase-server in branch-1.0 failed with JDK v1.8.0. 
{color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 48s 
{color} | {color:green} branch-1.0 passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 7s 
{color} | {color:green} the patch passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 7s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 41s 
{color} | {color:green} the patch passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 41s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 23s 
{color} | {color:red} hbase-server: patch generated 3 new + 62 unchanged - 0 
fixed = 65 total (was 62) {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
18s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} Patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
14m 19s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
48s {color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 0m 55s 
{color} | {color:red} hbase-server in the patch failed with JDK v1.8.0. {color} 
|
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 4m 36s 
{color} | {color:red} hbase-server-jdk1.7.0_79 with JDK v1.7.0_79 generated 6 
new + 13 unchanged - 0 fixed = 19 total (was 13) {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 51s 
{color} | {color:green} the patch passed with JDK v1.7.0_79 {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 160m 20s 
{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
59s {color} | {color:green} Patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 196m 24s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.master.handler.TestEnableTableHandler |
| Timed out junit tests | 
org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer |
|   | org.apache.hadoop.hbase.io.encoding.TestDataBlockEncoders |
|   | org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2 |
|   | org.apache.hadoop.hbase.snapshot.TestSecureExportSnapshot |
|   | org.apache.hadoop.hbase.snapshot.TestExportSnapshot |
|   | org.apache.hadoop.hbase.mapreduce.TestImportExport |
|   | 

[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread Walter Koetke (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220363#comment-15220363
 ] 

Walter Koetke commented on HBASE-15556:
---

Hold that thought about our custom bit...don't want to attach it here yet.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0-02.patch, 
> HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread Walter Koetke (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220341#comment-15220341
 ] 

Walter Koetke commented on HBASE-15556:
---

Sure, Sean, your concern is understood. I can start a discussion on dev@ but in 
the meantime, this might help: It is not so much that we needed a significantly 
different implementation. Rather, we just found we were able to improve 
performance bottlenecks by replacing synchronized code with usage of 
ConcurrentHashMap and AtomicLong. I'm attaching our 'custom' implementation 
class (SIMultiVersionConsistencyControl) so you can see what we mean. It seemed 
'safer' to make it pluggable but maybe it's cleaner just to propose our changes 
go directly into the MultiVersionConsistencyControl class. What do you think?

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0-02.patch, 
> HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220284#comment-15220284
 ] 

Sean Busbey commented on HBASE-15556:
-

Please have initial patches target the master branch. All changes go there 
first, unless they are somehow only applicable to earlier branches.

Also, please start a discussion on dev@ about this change (including what the 
target use case is) before putting much more work into this. The MVCC is pretty 
central to the operations of HBase, so I'm not sure how amenable to making it 
pluggable we are.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0-02.patch, 
> HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-31 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15220255#comment-15220255
 ] 

Hadoop QA commented on HBASE-15556:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 16s {color} 
| {color:red} HBASE-15556 does not apply to master. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.2.0/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12796348/HBASE-15556-v2-branch-1.0.patch
 |
| JIRA Issue | HBASE-15556 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/1242/console |
| Powered by | Apache Yetus 0.2.0   http://yetus.apache.org |


This message was automatically generated.



> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch, 
> HBASE-15556-v2-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216588#comment-15216588
 ] 

Hadoop QA commented on HBASE-15556:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 2m 9s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
31s {color} | {color:green} branch-1.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 57s 
{color} | {color:green} branch-1.0 passed with JDK v1.8.0 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 42s 
{color} | {color:green} branch-1.0 passed with JDK v1.7.0_79 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
24s {color} | {color:green} branch-1.0 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
32s {color} | {color:green} branch-1.0 passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 0m 43s 
{color} | {color:red} hbase-common in branch-1.0 has 8 extant Findbugs 
warnings. {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 34s 
{color} | {color:red} hbase-server in branch-1.0 has 59 extant Findbugs 
warnings. {color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 0m 26s 
{color} | {color:red} hbase-common in branch-1.0 failed with JDK v1.8.0. 
{color} |
| {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 0m 23s 
{color} | {color:red} hbase-server in branch-1.0 failed with JDK v1.8.0. 
{color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s 
{color} | {color:green} branch-1.0 passed with JDK v1.7.0_79 {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 7s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
36s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 52s 
{color} | {color:green} the patch passed with JDK v1.8.0 {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 3m 35s {color} 
| {color:red} hbase-common-jdk1.8.0 with JDK v1.8.0 generated 6 new + 6 
unchanged - 0 fixed = 12 total (was 6) {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 3m 35s {color} 
| {color:red} hbase-common-jdk1.8.0 with JDK v1.8.0 generated 6 new + 6 
unchanged - 0 fixed = 12 total (was 6) {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 52s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 24s 
{color} | {color:green} the patch passed with JDK v1.7.0_79 {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 4m 59s {color} 
| {color:red} hbase-common-jdk1.7.0_79 with JDK v1.7.0_79 generated 6 new + 6 
unchanged - 0 fixed = 12 total (was 6) {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 4m 59s {color} 
| {color:red} hbase-common-jdk1.7.0_79 with JDK v1.7.0_79 generated 6 new + 6 
unchanged - 0 fixed = 12 total (was 6) {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 24s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 9s 
{color} | {color:red} hbase-common: patch generated 26 new + 13 unchanged - 0 
fixed = 39 total (was 13) {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 9s 
{color} | {color:red} hbase-common: patch generated 26 new + 13 unchanged - 0 
fixed = 39 total (was 13) {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 9s 
{color} | {color:red} hbase-server: patch generated 26 new + 13 unchanged - 0 
fixed = 39 total (was 13) {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 10s 
{color} | {color:red} hbase-server: patch generated 26 new + 13 unchanged - 0 
fixed = 39 total (was 13) {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
46s {color} 

[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Walter Koetke (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216554#comment-15216554
 ] 

Walter Koetke commented on HBASE-15556:
---

You are correct, Sean. The HBaseBlockingWaitStrategy is another optimization we 
came up with but it's not directly related to this Jira, so I will resubmit 
with this piece removed and with the other feedback incorporated (missing 
javadoc, annotations, etc.)

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216288#comment-15216288
 ] 

Sean Busbey commented on HBASE-15556:
-

The HBaseBlockingWaitStrategy stuff for the WAL doesn't look directly related. 
Am I missing something?

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216274#comment-15216274
 ] 

Sean Busbey commented on HBASE-15556:
-

many additional places need ASF compliant headers and InterfaceAudience 
annotations.

please add javadoc descriptions of the purpose for functions in new interfaces.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216271#comment-15216271
 ] 

Sean Busbey commented on HBASE-15556:
-

{code}
+
+public interface ConsistencyControl {
+
{code}

this interface needs audience annotations; it should be 
InterfaceAudience.Private

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216266#comment-15216266
 ] 

Sean Busbey commented on HBASE-15556:
-

{code}
-  /** modifyTable op for replacing the table descriptor */
+  public static final String MVCC_IMPL = "hbase.mvcc.impl";
+
+/** modifyTable op for replacing the table descriptor */
{code}

This is only referenced in one place, it should not be in HConstants.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216270#comment-15216270
 ] 

Sean Busbey commented on HBASE-15556:
-

{code}
--- /dev/null
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConsistencyControl.java
@@ -0,0 +1,47 @@
+package org.apache.hadoop.hbase.regionserver;
+
{code}

This file needs an ASF policy compliant header.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216263#comment-15216263
 ] 

Sean Busbey commented on HBASE-15556:
-

What's the use case? This seems like the kind of change that warrants a 
discussion on dev@hbase.

We should probably target this to a minor release, since making the consistency 
control tunable is a significant change.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216124#comment-15216124
 ] 

Anoop Sam John commented on HBASE-15556:


So what is this extension points to MVCC?  Can u give some details pls?

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
>Assignee: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Walter Koetke (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216073#comment-15216073
 ] 

Walter Koetke commented on HBASE-15556:
---

Patch file submitted is for branch-1.0. It can be forward ported also with the 
previously mentioned class name change.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
> Fix For: 1.0.4
>
> Attachments: HBASE-15556-branch-1.0.patch
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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


[jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface

2016-03-29 Thread Walter Koetke (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15216059#comment-15216059
 ] 

Walter Koetke commented on HBASE-15556:
---

In order to be able to add small custom extensions to 
MultiVersionConsistencyControl (which is called MultiVersionConcurrencyControl 
in versions later than 1.0), we needed to abstract this class into an interface 
ConsistencyControl and implement it with custom class. The custom class (which 
for us was called SIMultiVersionConsistencyControl) will not be included in the 
submitted patch, just the abstraction of the standard class into a pluggable 
interface.

> need extensible ConsistencyControl interface
> 
>
> Key: HBASE-15556
> URL: https://issues.apache.org/jira/browse/HBASE-15556
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.0.3
>Reporter: Walter Koetke
> Fix For: 1.0.4
>
>
> The class MultiVersionConsistencyControl should be abstracted into an 
> interface ConsistencyControl so it can be extended by a configured custom 
> implementation class, with MultiVersionConsistencyControl as the default.



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