Search in sources :

Example 1 with SyncRequestProcessor

use of org.apache.zookeeper.server.SyncRequestProcessor in project zookeeper by apache.

the class FollowerZooKeeperServer method setupRequestProcessors.

@Override
protected void setupRequestProcessors() {
    RequestProcessor finalProcessor = new FinalRequestProcessor(this);
    commitProcessor = new CommitProcessor(finalProcessor, Long.toString(getServerId()), true, getZooKeeperServerListener());
    commitProcessor.start();
    firstProcessor = new FollowerRequestProcessor(this, commitProcessor);
    ((FollowerRequestProcessor) firstProcessor).start();
    syncProcessor = new SyncRequestProcessor(this, new SendAckRequestProcessor((Learner) getFollower()));
    syncProcessor.start();
}
Also used : SyncRequestProcessor(org.apache.zookeeper.server.SyncRequestProcessor) FinalRequestProcessor(org.apache.zookeeper.server.FinalRequestProcessor) SyncRequestProcessor(org.apache.zookeeper.server.SyncRequestProcessor) RequestProcessor(org.apache.zookeeper.server.RequestProcessor) FinalRequestProcessor(org.apache.zookeeper.server.FinalRequestProcessor)

Example 2 with SyncRequestProcessor

use of org.apache.zookeeper.server.SyncRequestProcessor in project zookeeper by apache.

the class ObserverZooKeeperServer method setupRequestProcessors.

/**
     * Set up the request processors for an Observer:
     * firstProcesor->commitProcessor->finalProcessor
     */
@Override
protected void setupRequestProcessors() {
    // We might consider changing the processor behaviour of 
    // Observers to, for example, remove the disk sync requirements.
    // Currently, they behave almost exactly the same as followers.
    RequestProcessor finalProcessor = new FinalRequestProcessor(this);
    commitProcessor = new CommitProcessor(finalProcessor, Long.toString(getServerId()), true, getZooKeeperServerListener());
    commitProcessor.start();
    firstProcessor = new ObserverRequestProcessor(this, commitProcessor);
    ((ObserverRequestProcessor) firstProcessor).start();
    /*
         * Observer should write to disk, so that the it won't request
         * too old txn from the leader which may lead to getting an entire
         * snapshot.
         *
         * However, this may degrade performance as it has to write to disk
         * and do periodic snapshot which may double the memory requirements
         */
    if (syncRequestProcessorEnabled) {
        syncProcessor = new SyncRequestProcessor(this, null);
        syncProcessor.start();
    }
}
Also used : SyncRequestProcessor(org.apache.zookeeper.server.SyncRequestProcessor) FinalRequestProcessor(org.apache.zookeeper.server.FinalRequestProcessor) SyncRequestProcessor(org.apache.zookeeper.server.SyncRequestProcessor) RequestProcessor(org.apache.zookeeper.server.RequestProcessor) FinalRequestProcessor(org.apache.zookeeper.server.FinalRequestProcessor)

Aggregations

FinalRequestProcessor (org.apache.zookeeper.server.FinalRequestProcessor)2 RequestProcessor (org.apache.zookeeper.server.RequestProcessor)2 SyncRequestProcessor (org.apache.zookeeper.server.SyncRequestProcessor)2