[
https://issues.apache.org/jira/browse/ZOOKEEPER-1462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13757697#comment-13757697
]
Germán Blanco commented on ZOOKEEPER-1462:
------------------------------------------
It seems to me that the Observer is not sending anything through
SyncRequestProcessor ... is that so?
It seems that if I add "syncProcessor.processRequest(request);" as the first
line of ObserverZooKeeperServer.commitRequest, the problem is solved.
I will start preparing a patch with a test case, but given the amount of
guessing that I am doing for this I would really appreciate some feedback :-)
> 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 properly
>
--
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