diff --git a/third_party/src/rocksdb-cloud b/third_party/src/rocksdb-cloud index 88025423..7b4210e7 160000 --- a/third_party/src/rocksdb-cloud +++ b/third_party/src/rocksdb-cloud @@ -1 +1 @@ -Subproject commit 88025423eeeeb5c7a9f52eec84d93824ff2dfb19 +Subproject commit 7b4210e7351a961a7fc2196c0ecfc81d01be3ac8 diff --git a/tx_service/include/cc/cc_entry.h b/tx_service/include/cc/cc_entry.h index dff57df9..c87fb20d 100644 --- a/tx_service/include/cc/cc_entry.h +++ b/tx_service/include/cc/cc_entry.h @@ -223,6 +223,10 @@ struct FlushRecord else { std::get<1>(payload_).value_.clear(); + // The BlobTxRecord is reused across scan batches; clear the + // previous record's TTL so a no-TTL record is not flushed with a + // stale expiration. + std::get<1>(payload_).ttl_ = UINT64_MAX; } if (ptr != nullptr) {