zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Germán Blanco (JIRA) <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-1462) Read-only server does not initialize database properly
Date Wed, 04 Sep 2013 09:59:52 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-1462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13757614#comment-13757614

Germán Blanco commented on ZOOKEEPER-1462:

After looking a bit more, it seems that the Observer doesn't write the last transactions in
the transaction log and that is the reason for not being up-to-date when it restarts.
If the Observer is started using the transaction log of a Follower, then it works.
Anybody can tell why is it that the Observer doesn't write those transactions?
> Read-only server does not initialize database properly
> ------------------------------------------------------
>                 Key: ZOOKEEPER-1462
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1462
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.4.3
>            Reporter: Thawan Kooburat
>            Assignee: Thawan Kooburat
>            Priority: Critical
>             Fix For: 3.4.6
>         Attachments: ZOOKEEPER-1462.patch
> Brief Description:
> When a participant or observer get partitioned and restart as Read-only server. ZkDb
doesn't get reinitialized. This causes the RO server to drop any incoming request with zxid
> 0 
> Error message:
> Refusing session request for client /xx.xx.xx.xx:39875 
> as it has seen zxid 0x2e00405fd9 our last zxid is 0x0 client must try another server
> Steps to reproduce:
> Start an RO-enabled observer connecting to an ensemble. Kill the ensemble and wait until
the observer restart in RO mode. Zxid of this observer should be 0.
> Description:
> Before a server transition into LOOKING state, its database get closed as part of shutdown
sequence. The database of leader, follower and observer get initialized as a side effect of
participating in leader election protocol. (eg. observer will call registerWithLeader() and
call getLastLoggedZxid() which initialize the db if not already).
> However, RO server does not participate in this protocol so its DB doesn't get initialized

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message