Fix snapshot count mismatch due to race
Former-commit-id: b4175c9bf82cbec047b94403e2a3700f4544b4f1
This commit is contained in:
parent
1ebf62da26
commit
ce2c49899d
@ -170,6 +170,7 @@ bool RocksDBStorageProvider::enumerate(callback fn) const
|
|||||||
|
|
||||||
const IStorage *RocksDBStorageProvider::clone() const
|
const IStorage *RocksDBStorageProvider::clone() const
|
||||||
{
|
{
|
||||||
|
std::unique_lock<fastlock> l(m_lock);
|
||||||
const rocksdb::Snapshot *psnapshot = const_cast<RocksDBStorageProvider*>(this)->m_spdb->GetSnapshot();
|
const rocksdb::Snapshot *psnapshot = const_cast<RocksDBStorageProvider*>(this)->m_spdb->GetSnapshot();
|
||||||
return new RocksDBStorageProvider(m_pfactory, const_cast<RocksDBStorageProvider*>(this)->m_spdb, const_cast<RocksDBStorageProvider*>(this)->m_spcolfamily, psnapshot, m_count);
|
return new RocksDBStorageProvider(m_pfactory, const_cast<RocksDBStorageProvider*>(this)->m_spdb, const_cast<RocksDBStorageProvider*>(this)->m_spcolfamily, psnapshot, m_count);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user