• Manuel Ung's avatar
    Remove extraneous call to TrackKey (#5173) · d655a3aa
    Manuel Ung authored
    In `PessimisticTransaction::TryLock`, we were calling `TrackKey` even when assume_tracked=true, which defeats the purpose of assume_tracked. Remove this.
    For keys that are already tracked, TrackKey will actually bump some counters (num_reads/num_writes) which are consumed in `TransactionBaseImpl::GetTrackedKeysSinceSavePoint`, and this is used to determine which keys were tracked since the last savepoint. I believe this functionality should still work, since I think the user should not call GetForUpdate/Put(assume_tracked=true) across savepoints, and if they do, they should not expect the Put(assume_tracked=true) to show up as a tracked key in the second savepoint.
    This is another 2-3% cpu improvement.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/5173
    Differential Revision: D14883809
    Pulled By: lth
    fbshipit-source-id: 7d09f0772da422384af0519773e310c22b0cbca3