zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From suyogmapara <...@git.apache.org>
Subject [GitHub] zookeeper issue #567: ZOOKEEPER-3071: Add a config parameter to control tran...
Date Fri, 24 Aug 2018 20:52:05 GMT
Github user suyogmapara commented on the issue:

    https://github.com/apache/zookeeper/pull/567
  
    Hi @maoling 
    
    Regarding 1, preAllocSize controls how big the contiguous region of transaction file would
be on disk (to reduce number seeks you need to do) while this feature controls how big the
file size would be before we roll to the next transaction log. It would make sense to set
later one as some multiple of the first one. If you set both values closers or if preAllocSize
is smaller, you are right you would get very frequent log rolls (maybe for every transaction
in 1.2), but as far as I can think of it shouldn't impact correctness. I don't have checks
against such values mainly because it is not clear what is the minimum value I should allow.
Basically the same reason we don't have check against setting snapCount = 2, for example.
    
    Regarding your example, can you please elaborate your values in 1.1?
    
    Regarding 2, during diff sync, leader will seek for the last transaction follower has
seen in the in-memory committed log cache. If the zxid is older than oldest transaction then
leader has to first send over the transactions from the earlier transaction log file. For
starting the stream of transaction, leader has to do a linear search for the zxid, in the
transaction log (as we don't have an index over it). Larger the transaction log file, longer
it takes. It can happen if you have especially larger individual transactions. This feature
give you control over the maximum size.


---

Mime
View raw message