[
https://issues.apache.org/jira/browse/ZOOKEEPER-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16900531#comment-16900531
]
Hudson commented on ZOOKEEPER-3472:
-----------------------------------
SUCCESS: Integrated in Jenkins build ZooKeeper-trunk #649 (See
[https://builds.apache.org/job/ZooKeeper-trunk/649/])
ZOOKEEPER-3472: Treat check request as a write request which needs to (hanm:
rev 1d4aaf7ca292c565f8c77ae5dc980ef6e8e246f1)
* (edit)
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java
> Treat check request as a write request which needs to wait for the check txn
> commit from leader
> -----------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-3472
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3472
> Project: ZooKeeper
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.6.0, 3.5.5
> Reporter: Fangmin Lv
> Assignee: Fangmin Lv
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.6.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Check op is usually used as a sub op in multi, but from the ZooKeeper server
> implementation it can also called separately, the learner will forward this
> request to leader, and the leader will check the version with the given
> version in the request, and generate a txn (error) in the quorum.
>
> This is kind of a heavier sync to make sure when the client check on a
> learner, it is syncing up to date with leader when the check request is being
> processed. The learner need to wait for this remote commit before reply to
> client in FinalRequestProcessor.
>
> There is no explicit API exposed for check, so it seems not a problem, but
> it could leave an issue there if the check API is exposed in the future.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)