[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-25 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-1.3-JDK8 #296 (See 
[https://builds.apache.org/job/HBase-1.3-JDK8/296/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (achouhan: 
rev 1b3a745f8640b52b33fec245917eb4796e7f4421)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-25 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-1.3-JDK7 #285 (See 
[https://builds.apache.org/job/HBase-1.3-JDK7/285/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (achouhan: 
rev 1b3a745f8640b52b33fec245917eb4796e7f4421)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-25 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #214 (See 
[https://builds.apache.org/job/HBase-1.3-IT/214/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (achouhan: 
rev 1b3a745f8640b52b33fec245917eb4796e7f4421)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-25 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Pushed to branch-1.3

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-25 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


I believe that branch-1.3's scan code doesn't suffer from the bug that the 
addendum is solving and hence should not be needed there. branch-1.3 uses 
ClientSmallReversedScanner for the scan, the loadCache method in 
ClientSmallReversedScanner doesn't modify the passed in scan object's caching, 
which is the case in later branches in ClientScanner.java
 
if (scan.getLimit() >0) {
int newLimit = scan.getLimit() - numberOfCompleteRows;
assert newLimit >=0;
scan.setLimit(newLimit);
}
The original change however still applies to branch-1.3. I ran the test suite 
locally and the tests pass for me.
Will commit the original change to branch-1.3 later today unless objections.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-2.0 #560 (See 
[https://builds.apache.org/job/HBase-2.0/560/])
HBASE-18796 Addendum: Scanner returning null incorrectly during (apurtell: rev 
8df523bdd0d03f32a189fe39bee27380095e1a47)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3761 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3761/])
HBASE-18796 Addendum: Scanner returning null incorrectly during (apurtell: rev 
21a61ad597bbc1d15cf2aa44fa9307b580f76c38)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.5 #73 (See 
[https://builds.apache.org/job/HBase-1.5/73/])
HBASE-18796 Addendum: Scanner returning null incorrectly during (apurtell: rev 
2f18d9e1559387eef9747c9fbda31534a8ec6f1f)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #295 (See 
[https://builds.apache.org/job/HBase-1.3-JDK8/295/])
Revert "HBASE-18796 Admin#isTableAvailable returns incorrect result (apurtell: 
rev 0068ae83bb44b4e97052ff031d97c930f2330a73)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-1.4 #929 (See 
[https://builds.apache.org/job/HBase-1.4/929/])
HBASE-18796 Addendum: Scanner returning null incorrectly during (apurtell: rev 
10a090387ac996e2ab2394a2c693de432f82a35f)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #213 (See 
[https://builds.apache.org/job/HBase-1.3-IT/213/])
Revert "HBASE-18796 Admin#isTableAvailable returns incorrect result (apurtell: 
rev 0068ae83bb44b4e97052ff031d97c930f2330a73)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-1.3-JDK7 #284 (See 
[https://builds.apache.org/job/HBase-1.3-JDK7/284/])
Revert "HBASE-18796 Admin#isTableAvailable returns incorrect result (apurtell: 
rev 0068ae83bb44b4e97052ff031d97c930f2330a73)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


I committed this earlier to branch-1.3 also, but the branch-1 addendum doesn't 
apply there, so I reverted the original commit. If we want this change on 
branch-1.3 also please provide a new patch for branch-1.3. 

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


Thanks for the new addendum. I couldn't commit the other because it didn't 
check out obviously. :-) This looks better. Trying again 

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
25s{color} | {color:blue} Docker mode activated. {color} |
| {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:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
16s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
35s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
27s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
42s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
20s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
49s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
42s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
40s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
34s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
32s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
28s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
28s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
43s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
49s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
30m 53s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
11s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
47s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
39s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
46s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
17s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 53m 35s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:6f1cc2c |
| JIRA Issue | HBASE-18796 |
| JIRA Patch URL | 

[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
27s{color} | {color:blue} Docker mode activated. {color} |
| {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:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
50s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
16s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
25s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
11s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
32s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
49s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
19s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
10s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
55s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
38m 57s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
3s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
18s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
39s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 8s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 54m 50s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:5d60123 |
| JIRA Issue | HBASE-18796 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12888515/HBASE-18796-addendum.master.patch
 |
| Optional Tests |  asflicense  shadedjars  javac  javadoc  unit  findbugs  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux ebe28072294a 3.13.0-129-generic #178-Ubuntu SMP Fri Aug 11 
12:48:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 5f238b3 |
| Default Java | 1.8.0_144 |
| findbugs | v3.1.0-RC3 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8743/testReport/ |
| modules | C: hbase-client U: hbase-client |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8743/console |
| Powered by | Apache Yetus 0.4.0   http://yetus.apache.org |

[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-18796:


Thanks for digging.

The TestMultiRespectsLimits passes with new addendum. Suggest removing the old 
addendum for clarity.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.branch-1.patch, HBASE-18796-addendum.master.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Debugged this further. The issue was infact related to this part :)
{code}
if (scan.getLimit() == 0 || scanExhausted(values)) {
closeScanner();
closed = true;
break;
  }
{code}
We're hitting scan.getLimit() == 0 which results in closing the scanner and 
returning null. The problem being in 
ConnectionImplementation#locateRegionInMeta we create the scan object outside 
the retry loop and set s.setOneRowLimit() now during the first attempt we get 
the row but with empty server location so we retry, however the limit has 
already become 0 now because the scan returned a row during the first attempt, 
now during the first attempt we incorrectly close the scan, hence getting the 
TableNotFoundException. Let me put up an addendum that does this. Apologies for 
the to and fro, took me some time to get to the bottom of this(hopefully :)).

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-22 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


[~apurtell] The addendum might not be correct solution to this problem and 
might cause a problem elsewhere. I think we should hold on to committing that.
I had a bit more look into the behavior. Scan.next says that we should either 
get values or we get null if the scanner is exhausted. This doesn't seem to be 
the case hence we're getting the issue here.
In the client scanner 
values = call(callable, caller, scannerTimeout, true);
we get a single element in the Result[] values array. Now we proceed to
Result[] resultsToAddToCache =
  scanResultCache.addAndGet(values, callable.isHeartbeatMessage());
int numberOfCompleteRows =
  scanResultCache.numberOfCompleteRows() - numberOfCompleteRowsBefore;

In CompleteScanResultCache#addAndGet we have the code:
{code}
Result last = results[results.length - 1];
if (last.mayHaveMoreCellsInRow()) {
  if (partialResults.isEmpty()) {
partialResults.add(last);
return updateNumberOfCompleteResultsAndReturn(Arrays.copyOf(results, 
results.length - 1));
  }
{code}
here since results.length = 1 and last.mayHaveMoreCellsInRow() is true we add 
the result we got into partialResults however the completed results is 0.  
We end up in  (have to look more into this part)
if (scan.getLimit() == 0 || scanExhausted(values)) {
closeScanner();
closed = true;
break;
  }
and end up returning null to the client which should not be the case. We should 
open another jira for this. Setting allowpartial in ConnectionImplementation 
might be the wrong thing to do that has other side effects and might hide the 
actual problem.
Someone with more familiarity on the partial scanning side should have more 
insights. I'll dig into this more tomorrow. In the meantime if we want to just 
fix the test we can add isTableEnabled() in the wait for split which would make 
it more robust since checking just number of regions might be a false indicator 
of successful split.

[~tedyu] [~apurtell] [~lhofhansl]

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


I'm running full test suites for HBASE-18786. I have rolled in the addendums as 
separate commits in those working branches so will test them both together. If 
good I will commit them. Thanks for the addendum [~abhishek.chouhan] and thanks 
for pointing out the issue [~ted_yu]

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796-addendum.branch-1.patch, 
> HBASE-18796-addendum.master.patch, HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 21m 
46s{color} | {color:blue} Docker mode activated. {color} |
| {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:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  7m 
26s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
15s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
18s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
32s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
29s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
39s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
2s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
18s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
20s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
20s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
18s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
18s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
30s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
12s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  2m 
41s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
20m 40s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
15s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
20s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m  
3s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 8s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 62m  4s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:6f1cc2c |
| JIRA Issue | HBASE-18796 |
| JIRA Patch URL | 

[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
16s{color} | {color:blue} Docker mode activated. {color} |
| {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:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 0s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
18s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
27s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
 9s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
37s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
54s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
17s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
19s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
10s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
 0s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
37m 29s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
1s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
17s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
29s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
 8s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 53m 19s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:5d60123 |
| JIRA Issue | HBASE-18796 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12888357/HBASE-18796-addendum.master.patch
 |
| Optional Tests |  asflicense  shadedjars  javac  javadoc  unit  findbugs  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 70f172fa95a2 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 
12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / e393599 |
| Default Java | 1.8.0_144 |
| findbugs | v3.1.0-RC3 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8726/testReport/ |
| modules | C: hbase-client U: hbase-client |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/8726/console |
| Powered by | Apache Yetus 0.4.0   http://yetus.apache.org |


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-18796:


Since the issue was found soon after the commit, I would think applying 
addendum should suffice.

Thanks for digging.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Spent some time looking at the failure. Looks to be a problem elsewhere that 
surfaced.
The test does a split and then tries a batch get operation which fails due to 
table not found although the table is there. This is happening because now that 
we do not put daughter locations before they're actually opened on the 
regionserver, we run into NoServerForRegionException in 
ConnectionImplementation#locateRegionInMeta which should be fine since there 
are retries which should succeed as soon as the region is opened. However our 
retry fails on a TableNotFound exception here

{code}
try (ReversedClientScanner rcs =
new ReversedClientScanner(conf, s, TableName.META_TABLE_NAME, this, 
rpcCallerFactory,
rpcControllerFactory, getMetaLookupPool(), 
metaReplicaCallTimeoutScanInMicroSecond)) {
  regionInfoRow = rcs.next();
}
if (regionInfoRow == null) {
throw new TableNotFoundException(tableName);
}
{code}

The result that we get has mayHaveMoreCellsInRow() true during one of the 
retries, since we don't have setAllowPartialResults(true) set on our scan we 
get regionInfoRow as null since we got only 1 row which has 
mayHaveMoreCellsInRow() as true and we use 
 CompleteScanResultCache which won't return this to the client. After i do
{code}
s.addFamily(HConstants.CATALOG_FAMILY);
s.setOneRowLimit();
 + s.setAllowPartialResults(true);
if (this.useMetaReplicas) {
  s.setConsistency(Consistency.TIMELINE);
}
{code}
the client is able to ride over the split during its retries and the test 
passes.
[~tedyu] [~apurtell] This issues seems to be something that can be hit during 
any other retry too in locateRegionInMeta when mayHaveMoreCellsInRow() is true 
for the meta scan and the client would get TableNotFound and will not retry. I 
can open another jira for this if this sounds good.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-21 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Looking into it. Thanks [~tedyu].

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-20 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-18796:


At commit a29ea36194a18c1de415577e78ca3553818a72b5, TestMultiRespectsLimits 
passes on master branch.

When switching to commit 29a3ff303799299ce42b57e85b2a2ac575dab474, the test 
fails:
{code}
testMultiLimits(org.apache.hadoop.hbase.client.TestMultiRespectsLimits)  Time 
elapsed: 18.346 sec  <<< ERROR!
org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 
action: testMultiLimits: 1 time, servers with issues: null
at 
org.apache.hadoop.hbase.client.TestMultiRespectsLimits.testMultiLimits(TestMultiRespectsLimits.java:106)
{code}
testMultiLimits involves splitting region.

Abhishek:
Mind taking a look ?

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-20 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Thanks [~apurtell] for committing !!

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3744 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3744/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev 29a3ff303799299ce42b57e85b2a2ac575dab474)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-2.0 #543 (See 
[https://builds.apache.org/job/HBase-2.0/543/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev 518674bce683a81ca2a9923fbd40c18029394c36)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #291 (See 
[https://builds.apache.org/job/HBase-1.3-JDK8/291/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev c7a165cb48ec27c0b12b0f6fdd499c14d6ba96b9)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.4 #925 (See 
[https://builds.apache.org/job/HBase-1.4/925/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev d4aa7181c1f831f35fe76f88d7547575dae972af)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.5 #70 (See 
[https://builds.apache.org/job/HBase-1.5/70/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev 2845ddaf9e32d5aedc16424ba17e644411bc91ca)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Fix For: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0
>
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


FAILURE: Integrated in Jenkins build HBase-1.3-JDK7 #281 (See 
[https://builds.apache.org/job/HBase-1.3-JDK7/281/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev c7a165cb48ec27c0b12b0f6fdd499c14d6ba96b9)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18796:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #210 (See 
[https://builds.apache.org/job/HBase-1.3-IT/210/])
HBASE-18796 Admin#isTableAvailable returns incorrect result before (apurtell: 
rev c7a165cb48ec27c0b12b0f6fdd499c14d6ba96b9)
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java


> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


Tests look good locally. Precommit is messed up. Committing shortly. Thanks for 
the patch [~abhishek.chouhan]

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-19 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Failed tests pass for me locally.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-18 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


Ok, thanks. The precommit looks messed up but I'm not sure it is related. Let 
me try this change out locally. If it looks good I will commit. 

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-18 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
16s{color} | {color:blue} Docker mode activated. {color} |
| {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}  0m 
11s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
42s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
44s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
52s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
53s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
28s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
53s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
40s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
55s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
13s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 0s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
45s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
45s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
53s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
28s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
15m 44s{color} | {color:green} The 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}  3m 
20s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
40s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  1m 
58s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}544m 36s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  5m 
18s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}587m 13s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.client.TestReplicasClient |
|   | hadoop.hbase.regionserver.TestSplitTransactionOnCluster |
|   | hadoop.hbase.replication.TestReplicationEndpoint |
|   | hadoop.hbase.master.balancer.TestStochasticLoadBalancer2 |
| 

[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-18 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


The same code is there in master's metaTableAccessor. I've included a patch for 
branch-1 that fixes the issue and adds a test in TestEndToEndSplitTransaction 
as well as TestMetaTableAccessor. For the master patch i've added just the test 
in TestMetaTableAccessor, due to the procedure stuff i didn't see any 
straightforward way to test the behavior of isTableAvailable at a particular 
point when the split procedure is executing.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch, 
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-17 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Sure Andrew, i got side tracked on another issue. Let me pick this back up 
today.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-15 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18796:


[~abhishek.chouhan] Are there similar issues with the master and branch-2 
branches? We will need changes/patches for them and commits there before commit 
to branch-1, unless they are not impacted. I think we need a new unit in 
TestEndToEndSplitTransaction that confirms the presence of this issue or not, 
and this should be committed everywhere.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch, 
> HBASE-18796.branch-1.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-15 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18796:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
24s{color} | {color:blue} Docker mode activated. {color} |
| {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 1 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
26s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
56s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
33s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
45s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
45s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
57s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  5m 
46s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
19s{color} | {color:green} branch-1 passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
45s{color} | {color:green} branch-1 passed with JDK v1.7.0_151 {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
12s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
 0s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
46s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
14s{color} | {color:green} hbase-client in the patch passed with JDK 
v1.8.0_144. {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
32s{color} | {color:green} hbase-server-jdk1.8.0_144 with JDK v1.8.0_144 
generated 0 new + 5 unchanged - 5 fixed = 5 total (was 10) {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
52s{color} | {color:green} the patch passed with JDK v1.7.0_151 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
18s{color} | {color:green} hbase-client in the patch passed with JDK 
v1.7.0_151. {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
34s{color} | {color:green} hbase-server-jdk1.7.0_151 with JDK v1.7.0_151 
generated 0 new + 5 unchanged - 5 fixed = 5 total (was 10) {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
52s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
29s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
15m 58s{color} | {color:green} The 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}  3m 
21s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
15s{color} | {color:green} hbase-client-jdk1.8.0_144 with JDK v1.8.0_144 
generated 0 new + 13 unchanged - 13 fixed = 13 total (was 26) {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
25s{color} | {color:green} hbase-server-jdk1.8.0_144 with JDK v1.8.0_144 
generated 0 new + 3 unchanged - 3 fixed = 3 total (was 6) {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
20s{color} | {color:green} hbase-client-jdk1.7.0_151 with JDK v1.7.0_151 
generated 0 new + 13 unchanged 

[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-14 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


[~tedyu] My intention behind this was to put it like a utility method just like 
many other methods in metatableaccessor that could be used elsewhere too in the 
future.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-14 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-18796:


{code}
1615  public static Put addSequenceNum(final Put p, long openSeqNum, long 
time, int replicaId) {
{code}
This method doesn't have to be public.
It seems the return value is not used.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-13 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


I had a quick look at this. In the code before HBASE-7721 we used to add 
daughters without location. Location is anyways going to be added when the 
region is successfully opened. Let me try to come up with a patch where we do 
not add location at this point of split and see how it fares.

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-18796) Admin#isTableAvailable returns incorrect result before daughter regions are opened

2017-09-12 Thread Abhishek Singh Chouhan (JIRA)

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

Abhishek Singh Chouhan commented on HBASE-18796:


Need to check why locations were added during the meta update when the method 
description says that it does not add the location (which seems like the 
correct behavior).

> Admin#isTableAvailable returns incorrect result before daughter regions are 
> opened
> --
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1
>Reporter: Abhishek Singh Chouhan
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it 
> reads. During the time of split server location are added to the meta entries 
> in MetaTableAccessor#splitRegion although the description of the method says 
> "Does not add the location information to the daughter regions since they are 
> not open yet.". At this point during the split daughter regions are not 
> actually open, so we can get to a state where parent is offline, daughters 
> are not yet open but isTableAvailable returns true.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)