#ifndef ROCKSDB_DISABLE_STALL_NOTIFICATION
autovector<WriteStallNotification> write_stall_notifications;
#endif
- unique_ptr<SuperVersion> new_superversion; // if nullptr no new superversion
+ std::unique_ptr<SuperVersion>
+ new_superversion; // if nullptr no new superversion
explicit SuperVersionContext(bool create_superversion = false)
: new_superversion(create_superversion ? new SuperVersion() : nullptr) {}
}
void NewSuperVersion() {
- new_superversion = unique_ptr<SuperVersion>(new SuperVersion());
+ new_superversion = std::unique_ptr<SuperVersion>(new SuperVersion());
}
inline bool HaveSomethingToDelete() const {
size_t num_alive_log_files = 0;
uint64_t size_log_to_delete = 0;
+ // Snapshot taken before flush/compaction job.
+ std::unique_ptr<ManagedSnapshot> job_snapshot;
+
explicit JobContext(int _job_id, bool create_superversion = false) {
job_id = _job_id;
manifest_file_number = 0;
memtables_to_free.clear();
logs_to_free.clear();
+ job_snapshot.reset();
}
~JobContext() {