Benjamin Reed commented on ZOOKEEPER-308:

1) added buffering to the txnlog. because of this, when we go to roll the log, 
there still might be txns in memory that have not been flushed to the file, so 
i have to do the flush before the roll.
2) we still need outstanding changes for followers that start to sync up. we 
send them the outstanding changes.
3) i also added buffering to the writePacket(), i want to minimize flushing, 
and thus a system call, so i only flush when i have to.
4) the tcpNodelay option is really there for experimentation. we may want to 
turn in on based on different traffic patterns or network topologies, but 
probably not. if it is an option, we can easly test without have to recompile 
6) i got the unreasonable length exception with a corrupt log. that exception 
is a runtime exception. perhaps i really should have changed that exception to 
be an IOException.

> improve the atomic broadcast performance 3x
> -------------------------------------------
>                 Key: ZOOKEEPER-308
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-308
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: server
>            Reporter: Benjamin Reed
>            Assignee: Benjamin Reed
>         Attachments: dat.png, ZOOKEEPER-308.patch, ZOOKEEPER-308.patch
> We need a benchmark for zab, the atomic broadcast protocol of zookeeper. we 
> can also do some small tweaks to make zab go much faster.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to