We should return token to that bucket if `nonUniqueWriteLimiter.Take()`
return true. After unlock Delete/LeaseRevoke ops, the model should be
updated for replay function. There are two updates for `toWatchEvents`.
1. When leaveRevokes op has deleted few keys, we should generate
`delete-operation` events based on alphabetical order of deleted
keys.
2. When putWithLease op hits non-exist lease, we should ignore that
update event.
Signed-off-by: Wei Fu <fuweid89@gmail.com>
Discovered turning off LazyFS before creating the report might result in
empty server directory. This PR moves cluster shutdown to defer executed
after we generate report and copies the data from lazyfs directory.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>