zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From asdf2014 <...@git.apache.org>
Subject [GitHub] zookeeper issue #262: ZOOKEEPER-2789: Reassign `ZXID` for solving 32bit over...
Date Sat, 27 May 2017 01:29:54 GMT
Github user asdf2014 commented on the issue:

    Hi, @maoling. Thanks for your discussion. Maybe due to my description is problematic,
so make you confused.
    1. I am worry about if the lower 8 bits of the upper 32 bits are divided into the low
32 bits of the entire `long` and become 40 bits low, there may be a concurrent problem. Actually,
it shouldn't be worried, all operation about `ZXID` is bit operation rather than `=` assignment
operation. So, it cann't be a concurrent problem in `JVM` level.
    2. Yep, it is. Especially, if it is `1k/s` ops, then as long as $2^{32} / (86400 * 1000)
\approx 49.7$ days `ZXID` will exhausted. And more terrible situation will make the `re-election`
process comes early. At the same time, the "re-election" process could take half a minute.
And it will be cannot acceptable.
    3. As so far, it will throw a `XidRolloverException` to force `re-election` process and
reset the `counter` to zero.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message