Skip to content
Snippets Groups Projects
  1. Jul 31, 2017
  2. Jul 30, 2017
    • Eric Cano's avatar
      Revisited locking in BackendRados. · 600a5f06
      Eric Cano authored
      The locks in Rados have timeouts. They are needed in case a locker process dies without
      releasing its lock. As we have some contention in heavily loaded situations, it can happen
      that a process is till accessing objects while the lock is expired. To lessen the likeliness
      of this situation, the timeout has been increased from 10s to 60s.
      
      The backoff was ajusted using the MultithreadLockingInterface unit test, with printouts
      allowing to visually see the effect of the backoff strategy. The printouts are committed,
      but they are commented out.
      
      The same unit test was fized as it used to create an empty object, which is not supported
      anymore in order to be able to detect locking of non-existing objects (lock creates the object,
      but we detect non-existence as it is empty and re-delete it.
      
      This mechanism of empty object locking detection is also added to the async update of object
      as it was missing there (and the backoff has been added there too).
      600a5f06
  3. Jul 29, 2017
  4. Jul 28, 2017
  5. Jul 27, 2017
  6. Jul 26, 2017
  7. Jul 25, 2017
Loading