Code review comment for lp://staging/~trond-norbye/libmemcached/bug_394442

Revision history for this message
Trond Norbye (trond-norbye) wrote :

 Bug 394442: Replication mget test fail on linux due to race conditions

  All replicas are stored on the different servers by using the quiet commands,
  and when we start to receive them we will do that in another memcached_st
  instance (aka another connection to the server). The code goes directly
  from the SET command to trying to fetch the items from all of the servers.
  This means that the memcached server may still be processing the quiet set
  commands while another thread in the memcached server tries to fetch all of
  the items.

  To fix this we need to ensure that all of the set commands are executed on
  all of the memcached servers before starting to receive them. memcached_quit
  will send the QUIT command to all of the servers and wait for a response,
  so we now that when memcached_quit returns all commands are executed on
  the client.

  In addition the response counter should not be updated when we send out the
  replica storage / delete commands.

« Back to merge proposal