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

Hudson commented on HBASE-24603:
--------------------------------

Results for branch branch-2.3
        [build #157 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/157/]: 
(x) *{color:red}-1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/157/General_20Nightly_20Build_20Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/157/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/157/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.3/157/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Zookeeper sync() call is async
> ------------------------------
>
>                 Key: HBASE-24603
>                 URL: https://issues.apache.org/jira/browse/HBASE-24603
>             Project: HBase
>          Issue Type: Improvement
>          Components: master, regionserver
>    Affects Versions: 3.0.0-alpha-1, 2.3.0, 1.7.0
>            Reporter: Bharath Vissapragada
>            Assignee: Bharath Vissapragada
>            Priority: Critical
>             Fix For: 3.0.0-alpha-1, 2.3.1, 1.7.0, 2.4.0
>
>
> Here is the method that does a sync() of lagging followers with leader in the 
> quorum. We rely on this to see a consistent snapshot of ZK data from multiple 
> clients. However the problem is that the underlying sync() call is actually 
> asynchronous since we are passing a 'null' call back.  See the ZK API 
> [doc|https://zookeeper.apache.org/doc/r3.5.7/apidocs/zookeeper-server/index.html]
>  for details. The end-result is that sync() doesn't guarantee that it has 
> happened by the time it returns.
> {noformat}
>   /**
>    * Forces a synchronization of this ZooKeeper client connection.
>    * <p>
>    * Executing this method before running other methods will ensure that the
>    * subsequent operations are up-to-date and consistent as of the time that
>    * the sync is complete.
>    * <p>
>    * This is used for compareAndSwap type operations where we need to read the
>    * data of an existing node and delete or transition that node, utilizing 
> the
>    * previously read version and data.  We want to ensure that the version 
> read
>    * is up-to-date from when we begin the operation.
>    */
>   public void sync(String path) throws KeeperException {
>     this.recoverableZooKeeper.sync(path, null, null);
>   }
> {noformat}
> We rely on this heavily (at least in the older branches that do ZK based 
> region assignment). In branch-1 we saw weird "BadVersionException" exceptions 
> in RITs because of the inconsistent view of the ZK snapshot. It could 
> manifest differently in other branches. Either way, this is something we need 
> to fix.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to