I'm running a debian squeeze with kyoto tycoon 0.9.56-1 (latest release according to
http://fallabs.com/kyototycoon/pkg/).
I run these two on-memory capped hash database ktservers with the memcache protocol in dual-master replication:
ktserver -sid 1 -host localhost -port 1978 -mhost localhost -mport 1979 -rts 1978.rts -ulog 1978.log -ls -th 1 -plsv /usr/lib/x86_64-linux-gnu/ktplugservmemc.so -plex 'port=11211#th=1' '*#capsiz=400000000'
ktserver -sid 2 -host localhost -port 1979 -mhost localhost -mport 1978 -rts 1979.rts -ulog 1979.log -ls -th 1 -plsv /usr/lib/x86_64-linux-gnu/ktplugservmemc.so -plex 'port=11212#th=1' '*#capsiz=400000000'
Then I randomly insert data (only sets, no delete and no expire) only on the first memcache server at port 11211. Inserted key size is between 90 and 100 bytes, values size is between 100 bytes and 450 kbytes.
Until the size of the database hits 400mb, the two servers are consistent and have the same data.
After reaching the 400mb cap, and keeping inserting data, I get inconsistencies from the memcache stats.
For example, I've inserted 19219 keys for a total of 1.1gb of data.
First server:
STAT db_count 10887
STAT db_size 413743877
Second server:
STAT db_count 10762
STAT db_size 409560527
This happens even after a few seconds once reaching the cap.
Another thing I've noticed is that restarting the ktserver won't import the data from the other server automatically. Is that intentional? How does one restart a server in a consistent state?