[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027642#comment-16027642 ] Hudson commented on HBASE-18042: FAILURE: Integrated in Jenkins build HBase-HBASE-14614 #253 (See [https://builds.apache.org/job/HBase-HBASE-14614/253/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 6846b03944d7e72301b825d4d118732c0ca65577) * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027494#comment-16027494 ] Hudson commented on HBASE-18042: FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3086 (See [https://builds.apache.org/job/HBase-Trunk_matrix/3086/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 6846b03944d7e72301b825d4d118732c0ca65577) * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027423#comment-16027423 ] Hudson commented on HBASE-18042: SUCCESS: Integrated in Jenkins build HBase-1.3-JDK7 #172 (See [https://builds.apache.org/job/HBase-1.3-JDK7/172/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 2277c2b63680df2af9edb3c534f0359e0ea14b5d) * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027422#comment-16027422 ] Hudson commented on HBASE-18042: SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #186 (See [https://builds.apache.org/job/HBase-1.3-JDK8/186/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 2277c2b63680df2af9edb3c534f0359e0ea14b5d) * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027417#comment-16027417 ] Hudson commented on HBASE-18042: FAILURE: Integrated in Jenkins build HBase-1.4 #751 (See [https://builds.apache.org/job/HBase-1.4/751/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 1a37f3be82f3d4e111ff846a79583472da86da4d) * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027399#comment-16027399 ] Hudson commented on HBASE-18042: SUCCESS: Integrated in Jenkins build HBase-1.3-IT #53 (See [https://builds.apache.org/job/HBase-1.3-IT/53/]) HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: rev 2277c2b63680df2af9edb3c534f0359e0ea14b5d) * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027364#comment-16027364 ] Duo Zhang commented on HBASE-18042: --- TestReplicasClient.testCancelOfMultiGet is not related. It has already failed on branch-1. Will commit later if no objections. Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16027151#comment-16027151 ] Duo Zhang commented on HBASE-18042: --- Oh I do not have time either... Will be out for a week... Let me finish this issue first. For branch-1.3 all UTs passed, and for branch-1, the failed UT is TestReplicasClient.testCancelOfMultiGet. Let me check. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16026322#comment-16026322 ] Sean Busbey commented on HBASE-18042: - I probably won't have time to chase down docker problems until next week at the earliest. Probably best to send a note to dev@hbase looking for help. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025877#comment-16025877 ] Duo Zhang commented on HBASE-18042: --- Let me run UTs for branch-1 and branch-1.3 locally... Will be out next week so let's finish this issue ASAP. Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025769#comment-16025769 ] Duo Zhang commented on HBASE-18042: --- OK, now branch-1.3 is also failed... We need to find a solution... [~busbey] > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025765#comment-16025765 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 24s {color} | {color:red} Docker failed to build yetus/hbase:e1e11ad. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869990/HBASE-18042-branch-1.3-v1.patch | | JIRA Issue | HBASE-18042 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6963/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025654#comment-16025654 ] Duo Zhang commented on HBASE-18042: --- Seems the download url is changed by oracle. https://stackoverflow.com/questions/44142450/apt-get-installing-oracle-java-7-stopped-working. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025047#comment-16025047 ] Sean Busbey commented on HBASE-18042: - looks like the jdk the branch-1 dockerfile wants isn't available from oracle. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024809#comment-16024809 ] Duo Zhang commented on HBASE-18042: --- [~busbey] Seems yetus always failed to build the docker image for branch-1? > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024744#comment-16024744 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 6m 34s {color} | {color:red} Docker failed to build yetus/hbase:58c504e. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869870/HBASE-18042-branch-1-v1.patch | | JIRA Issue | HBASE-18042 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6950/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.3.patch, > HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024717#comment-16024717 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 30s {color} | {color:blue} Docker mode activated. {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 3 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 50s {color} | {color:green} branch-1.3 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 6s {color} | {color:green} branch-1.3 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 33s {color} | {color:green} branch-1.3 passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 25s {color} | {color:green} branch-1.3 passed {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 3m 46s {color} | {color:red} hbase-server in branch-1.3 has 1 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 10s {color} | {color:green} branch-1.3 passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 41s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 19s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 19s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 46s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 31s {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} 40m 45s {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} hbaseprotoc {color} | {color:green} 0m 28s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 57s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 5s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 182m 7s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 22s {color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 248m 9s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestRegionReplicaFailover | | | hadoop.hbase.client.TestScanWithoutFetchingData | | | hadoop.hbase.regionserver.TestRegionReplicas | | | hadoop.hbase.regionserver.TestPerColumnFamilyFlush | | | hadoop.hbase.regionserver.TestCorruptedRegionStoreFile | | Timed out junit tests | org.apache.hadoop.hbase.snapshot.TestSecureExportSnapshot | | | org.apache.hadoop.hbase.snapshot.TestExportSnapshot | | | org.apache.hadoop.hbase.replication.regionserver.TestReplicationWALReaderManager | | | org.apache.hadoop.hbase.filter.TestFuzzyRowFilterEndToEnd | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:e1e11ad | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869823/HBASE-18042-branch-1.3.patch | | JIRA Issue | HBASE-18042 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux 78fbc4786c9f 4.8.3-std-1 #1 SMP Fri Oct 21 11:15:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/patchprocess/precommit/personality/hbase.sh | | git revision | branch-1.3 / 17e87ae | | Default Java | 1.8.0_131 | | findbugs | v3.0.0 | | findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/6945/artifact/patchprocess/branch-findbugs-hbase-server-warnings.html | | unit |
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024374#comment-16024374 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 34s {color} | {color:red} Docker failed to build yetus/hbase:58c504e. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869817/HBASE-18042-branch-1-v1.patch | | JIRA Issue | HBASE-18042 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6944/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, > HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024324#comment-16024324 ] Karan Mehta commented on HBASE-18042: - [~Apache9] Thanks for clarifying. Let me dig more into the code to understand it completely. I have also put up a patch for AsyncHBase after upgrading the protos from 0.98 to 1.3. Link: https://github.com/OpenTSDB/opentsdb/pull/990 With the patch it should work fine, but in general it is good to keep the logic consistent. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024301#comment-16024301 ] Duo Zhang commented on HBASE-18042: --- The failed UTs are unrelated and can pass locally. Let me prepare patches for branch-1 and branch-1.3. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024260#comment-16024260 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 26s {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 3 new or modified test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 11s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 44s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 53s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 18s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 11s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 51s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 44s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 44s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 51s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 18s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 35m 20s {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-alpha2. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 23s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 138m 53s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s {color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 189m 52s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.TestJMXListener | \\ \\ || Subsystem || Report/Notes || | Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869789/HBASE-18042-v2.patch | | JIRA Issue | HBASE-18042 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux f651c13a7bb1 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 13:48:03 UTC 2016 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 / 8b75e9e | | Default Java | 1.8.0_131 | | findbugs | v3.0.0 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/6936/artifact/patchprocess/patch-unit-hbase-server.txt | | unit test logs | https://builds.apache.org/job/PreCommit-HBASE-Build/6936/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/6936/testReport/ | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6936/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 >
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024089#comment-16024089 ] Duo Zhang commented on HBASE-18042: --- I mean the official client for HBase-1.2-, where we will not fetch any data when opening a scanner. There is a bug at server side that if you do not fetch any data, then server will close the scanner accidentally and lead to a wrong result. The asynchbase for OpenTSDB will not effect by this bug as it will also fetch data when opening a scanner. The problem is described above, client may still send next request even if moreResultsInRegion is false. So here I introduced a guava cache to hold the closed scanner names for a while. If there are requests to the closed scanner, then just return an empty ScanResponse to let the client move to the next region. Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16023226#comment-16023226 ] Karan Mehta commented on HBASE-18042: - [~Apache9] Could you please clarify your explanation for the bug, along with the versions you are referring as {{old client}}? Thanks > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16023178#comment-16023178 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 18s {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:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 22s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 39s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 52s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 16s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 5s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 50s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 42s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 42s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 50s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {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} 30m 48s {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-alpha2. {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 2m 21s {color} | {color:red} hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 117m 47s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s {color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 162m 50s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | FindBugs | module:hbase-server | | | Exception is caught when Exception is not thrown in org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RpcController, ClientProtos$ScanRequest) At RSRpcServices.java:is not thrown in org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RpcController, ClientProtos$ScanRequest) At RSRpcServices.java:[line 3298] | | Failed junit tests | hadoop.hbase.client.TestLeaseRenewal | \\ \\ || Subsystem || Report/Notes || | Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869658/HBASE-18042-v1.patch | | JIRA Issue | HBASE-18042 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux 3c322a270931 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016 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 / 64c7017 | | Default Java | 1.8.0_131 | | findbugs | v3.0.0 | | findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/6925/artifact/patchprocess/new-findbugs-hbase-server.html | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/6925/artifact/patchprocess/patch-unit-hbase-server.txt | | unit test logs |
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16022903#comment-16022903 ] Duo Zhang commented on HBASE-18042: --- OK, finally I found that this is a bug, not by design... If numberOfRows is zero, we will bypass the actual scan call(the private one in RSRpcServices) so the moreResultsInRegion flag will not be set. But at the end of the public scan method, we will test builder.getMoreResultsInRegion, if it returns false then we will close the scanner. So the problem is, for old client, we will set numberOfRows to 0 when opening a scanner, and the RS will close the scanner immediately... Will prepare a patch soon and also add a UT to cover this. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, > HBASE-18042.patch, HBASE-18042-v1.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16022646#comment-16022646 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 21s {color} | {color:blue} Docker mode activated. {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} 1m 44s {color} | {color:green} branch-1 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 27s {color} | {color:green} branch-1 passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 34s {color} | {color:green} branch-1 passed with JDK v1.7.0_80 {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 15s {color} | {color:green} branch-1 passed {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 49s {color} | {color:red} hbase-server in branch-1 has 1 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 23s {color} | {color:green} branch-1 passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 31s {color} | {color:green} branch-1 passed with JDK v1.7.0_80 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 39s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 30s {color} | {color:green} the patch passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 30s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s {color} | {color:green} the patch passed with JDK v1.7.0_80 {color} | | {color:red}-1{color} | {color:red} javac {color} | {color:red} 0m 32s {color} | {color:red} hbase-server-jdk1.7.0_80 with JDK v1.7.0_80 generated 1 new + 4 unchanged - 1 fixed = 5 total (was 5) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 55s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {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} 14m 52s {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} hbaseprotoc {color} | {color:green} 0m 12s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 4s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 24s {color} | {color:green} the patch passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s {color} | {color:green} the patch passed with JDK v1.7.0_80 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 99m 30s {color} | {color:red} hbase-server in the patch failed. {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} 128m 5s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.regionserver.TestRSKilledWhenInitializing | | | hadoop.hbase.client.TestReplicasClient | \\ \\ || Subsystem || Report/Notes || | Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:58c504e | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869596/HBASE-18042-branch-1.patch | | JIRA Issue | HBASE-18042 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16022470#comment-16022470 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 35s {color} | {color:red} Docker failed to build yetus/hbase:58c504e. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869595/HBASE-18042-branch-1.patch | | JIRA Issue | HBASE-18042 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6914/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042-branch-1.patch, HBASE-18042.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16022463#comment-16022463 ] Duo Zhang commented on HBASE-18042: --- The patch worked in our internal version. Let me prepare patches for branch-1 and branch-1.3. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug > Components: regionserver, scan >Affects Versions: 2.0.0, 1.4.0, 1.3.1 >Reporter: Karan Mehta >Assignee: Duo Zhang >Priority: Critical > Fix For: 2.0.0, 1.4.0, 1.3.2 > > Attachments: HBASE-18042.patch > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16022346#comment-16022346 ] Hadoop QA commented on HBASE-18042: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 28s {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} 6m 45s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 22s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 29s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 26s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 18s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 53s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 31s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 27s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 24s {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} 56m 3s {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-alpha2. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 18s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 51s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 218m 59s {color} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 55s {color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 302m 1s {color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.client.TestAsyncProcedureAdminApi | | | hadoop.hbase.client.TestAsyncTableAdminApi | | | hadoop.hbase.client.TestAsyncSnapshotAdminApi | | Timed out junit tests | org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer2 | | | org.apache.hadoop.hbase.replication.regionserver.TestWALEntryStream | | | org.apache.hadoop.hbase.master.balancer.TestFavoredStochasticLoadBalancer | | | org.apache.hadoop.hbase.master.TestSplitLogManager | | | org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:757bf37 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12869462/HBASE-18042.patch | | JIRA Issue | HBASE-18042 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile | | uname | Linux 9d61eef71410 4.8.3-std-1 #1 SMP Fri Oct 21 11:15:43 UTC 2016 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 / ebe92c8 | | Default Java | 1.8.0_131 | | findbugs | v3.0.0 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/6908/artifact/patchprocess/patch-unit-hbase-server.txt |
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16021016#comment-16021016 ] Duo Zhang commented on HBASE-18042: --- OK I tried modifying the client code but failed. The actual logic is still a mystery for me... Let me prepare a patch to add some code at server side to make it compatible with old client... Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.4.0, 1.3.1, 1.2.5, 1.1.10 >Reporter: Karan Mehta >Assignee: Karan Mehta >Priority: Critical > Fix For: 1.4.0, 1.2.6, 1.3.2, 1.1.11 > > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16019602#comment-16019602 ] Duo Zhang commented on HBASE-18042: --- After digging I think HBASE-17489 did break the compatibility between 1.2 and 1.3. Before branch-1.2, we only set moreResultsInRegion to false when we return empty result to client, even if moreRows returned by the RegionScanner is false. That's why we will issue one more request to a region which has already been exhausted. And in 1.3, if we set moreResultsInRegion to false when we have also reached the scan caching, the {{doneWithRegion}} will return false because the countdown is 0 thus a new request to the same region will be issued. It is easy to fix at client side. The problem of the old doneWithRegion method is that, we set serverHasMoreResults to false even if we do not have moreResultsInRegion flag in proto. Will prepare a patch soon. But I'm not sure if we also need to add some dirty code at server side to keep compatible with the old client without the new patch. I want to define this problem as a bug, but it is also a pain for users that they must upgrade to the newest version of 1.2 or 1.1 before upgrading to 1.3 only because of a 'bug' that does not break anything on 1.2 or 1.1... Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16012609#comment-16012609 ] Karan Mehta commented on HBASE-18042: - bq. But it is ok to get any exception while closing a scanner because the ClientScanner will catch any exception from server in close(). There will be lot of unnecessary exceptions being generated and routed to the Client, which is not good. OpenTSDB does lot of RPC calls for fetching metrics data and it sometimes results in being winded up infinitely in these exceptions. If it's a single query then it might just work fine. Sometimes it returns duplicate results, since it sends out multiple OpenScannerRequests after getting confused by the exception. bq. I guess the problem for AsyncHBase is that it will also fetch data when opening a scanner, just like what we do in the new code in master and branch-1? Yes that is true. See description for the exact behavior. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16012366#comment-16012366 ] Duo Zhang commented on HBASE-18042: --- The code of ClientScanner in branch-1.2- is black magic for me... I think it will cause some problems when upgrading from 1.2- to 1.3 as we may hit UnknownScannerException, but client will try opening the scanner again and get nothing, and then move to the next region. Need to confirm this. I guess the problem for AsyncHBase is that it will also fetch data when opening a scanner, just like what we do in the new code in master and branch-1? Not sure, just guess. Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011959#comment-16011959 ] Phil Yang commented on HBASE-18042: --- I think even when we don't have {{more_results_in_region}} flag (before HBASE-13262 ), when the client scanner "thinks" this region is done, it will call possiblyNextScanner to close current scanner and open a new scanner in next region? {code title=ClientScanner.java} while (remainingResultSize > 0 && countdown > 0 && (!partialResults.isEmpty() || possiblyNextScanner(countdown, values == null))); {code} But it is ok to get any exception while closing a scanner because the ClientScanner will catch any exception from server in close(). I am not sure if the current implementation in 0.98-1.2 will close the scanner correctly, but I think it is by designed that client should have some logic to judge if we are done for a region and prevent send another next rpc to the region, just send close rpc? The different from 1.2 to 1.3 is in 1.3 we just close the scanner at server directly and don't need the close rpc from client. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011477#comment-16011477 ] Duo Zhang commented on HBASE-18042: --- The field has been introduced in all branches, even for 0.98. So I think the fix for AsyncHBase is straightforward? If the field is present then depend on the value of this field to decide if we need to go to the next region. If not, use the old logic. And we also need a fix for all branches below 1.3 I think. If this field is present then we should not issue a new next request then. We can do it here or open a new issue. Thanks. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011327#comment-16011327 ] Benoit Sigoure commented on HBASE-18042: We can easily update AsyncHBase to accommodate to the change however I would like to voice disagreement with this statement: {quote} It is an unfortunate thing that we have broken the semantics, but in general this is "allowed". {quote} Such semantic changes are like breaking API changes, they are, well, breaking changes. Not cool. One of the challenges with AsyncHBase is that it has to work with all versions of HBase. Since {{more_results_in_region}} was already there in 1.2 but needs to be handled differently in 1.3, that makes it kinda hard for AsyncHBase to know how, exactly, to deal with this flag being set, right? > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011284#comment-16011284 ] Andrew Purtell commented on HBASE-18042: We are not supposed to break wire compatibility in minor versions. This is arguable. The protobuf change is compatible in the strictest sense in that mismatched versions can still parse messages. The fact that semantics rely on a new field not present in older versions means not really. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011277#comment-16011277 ] Lars Hofhansl commented on HBASE-18042: --- So just to be clear: The HBase 1.2.x client will successfully work with a 1.3.x cluster, right? Including no leaked scanners that have to wait for their leases to expire... (Just making sure) [~enis] can you confirm? If 1.2.x clients work fine then it seems we should update asynchbase with this new behavior. [~tsuna], in case you have an opinion. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011167#comment-16011167 ] Enis Soztutar commented on HBASE-18042: --- bq. but can we expect such a client-side behavior change between two minor releases It is a very subtle change that may affect only non-standard clients. It is an unfortunate thing that we have broken the semantics, but in general this is "allowed". It is likely that opentsdb can be updated with an easy fix. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011147#comment-16011147 ] Karan Mehta commented on HBASE-18042: - bq. So, more_rows was used to indicate more results in the region or more results overall in 1.2? {{more_rows}} has always been used to indicate if there are any results pending overall. bq. It may just be a bug in opentsdb itself to check more_results_in_region as well as more_rows. I understand that OpenTSDB should handle {{more_results_in_region}}, but can we expect such a client-side behavior change between two minor releases? OpenTSDB works fine with 1.2 but not with 1.3. [~apurtell] > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011135#comment-16011135 ] Enis Soztutar commented on HBASE-18042: --- So, {{more_rows}} was used to indicate more results in the region or more results overall in 1.2? It may just be a bug in opentsdb itself to check {{more_results_in_region}} as well as {{more_rows}}. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011044#comment-16011044 ] Karan Mehta commented on HBASE-18042: - bq. We already have this field for branch-1.2. I missed that. Sorry about it. But the behavior of {{closeScanner}} is modified between 1.2 and 1.3. Although we set {{more_results_in_region}} bit, we never close the scanner based on that. I am not sure about how the golden behavior should be in such a case. bq. IIRC, the problem is that the official hbase client implementation does not handle {{more_results_in_region}} correctly which leads to one more request to RS but get nothing. I think this is a bug? Can you provide some more insight into this? I am not fully aware about this. From what I understand, for 1.3, if there is an OpenScanRequest for a region which returns all the results, then setting the {{more_results_in_region}} bit should help client to save one RPC request for CloseScanner since the scanner will be automatically closed on the server side. We do not get this advantage in 1.2. If any external client reads the {{more_results_in_region}} bit and doesn't send out the CloseScanRequest. then an open scanner will be lying around on server side wasting the resources. > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16009269#comment-16009269 ] Duo Zhang commented on HBASE-18042: --- We already have this field for branch-1.2. https://github.com/apache/hbase/blob/branch-1.2/hbase-protocol/src/main/protobuf/Client.proto#L322 IIRC, the problem is that the official hbase client implementation does not handle {{more_results_in_region}} correctly which leads to one more request to RS but get nothing. I think this is a bug? > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16009267#comment-16009267 ] Duo Zhang commented on HBASE-18042: --- I haven't added any new fields in HBASE-17489... You can see the patch... > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16009188#comment-16009188 ] Anoop Sam John commented on HBASE-18042: [~Apache9] > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16009182#comment-16009182 ] Karan Mehta commented on HBASE-18042: - HBASE-17489 > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16009140#comment-16009140 ] Anoop Sam John commented on HBASE-18042: Know which jira changed this behave? > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.1 >Reporter: Karan Mehta >Assignee: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3
[ https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16008497#comment-16008497 ] Karan Mehta commented on HBASE-18042: - A simple solution for this is to not close the scanner even if there are no more results in region. I am not sure about other implications due to this though. {{RSRpcServices.java}} {code} addResults(builder, results, (PayloadCarryingRpcController) controller, RegionReplicaUtil.isDefaultReplica(region.getRegionInfo())); - if (!moreResults || !moreResultsInRegion || closeScanner) { + if (!moreResults || closeScanner) { scannerClosed = true; closeScanner(region, scanner, scannerName, context); {code} > Client Compatibility breaks between versions 1.2 and 1.3 > > > Key: HBASE-18042 > URL: https://issues.apache.org/jira/browse/HBASE-18042 > Project: HBase > Issue Type: Bug >Reporter: Karan Mehta > > OpenTSDB uses AsyncHBase as its client, rather than using the traditional > HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been > changed. Newer fields are added to {{ScanResponse}} proto. > For a typical Scan request in 1.2, would require caller to make an > OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on > {{more_rows}} boolean field in the {{ScanResponse}} proto. > However, from 1.3, new parameter {{more_results_in_region}} was added, which > limits the results per region. Therefore the client has to now manage sending > all the requests for each region. Further more, if the results are exhausted > from a particular region, the {{ScanResponse}} will set > {{more_results_in_region}} to false, but {{more_results}} can still be true. > Whenever the former is set to false, the {{RegionScanner}} will also be > closed. > OpenTSDB makes an OpenScanner Request and receives all its results in the > first {{ScanResponse}} itself, thus creating a condition as described in > above paragraph. Since {{more_rows}} is true, it will proceed to send next > request at which point the {{RSRpcServices}} will throw > {{UnknownScannerException}}. The protobuf client compatibility is maintained > but expected behavior is modified. -- This message was sent by Atlassian JIRA (v6.3.15#6346)