diff options
author | Alex Auvolat <alex@adnab.me> | 2023-09-21 15:32:25 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2023-09-21 15:35:31 +0200 |
commit | f97168f80567f43e15cf236092703e6ae5d8dc2e (patch) | |
tree | ca9b06fa1d9bf3af9b33c5db0a8c09a53b403fa9 /src/model | |
parent | fd7d8fec59c617b40e480ff855894cf35fdcfb40 (diff) | |
download | garage-f97168f80567f43e15cf236092703e6ae5d8dc2e.tar.gz garage-f97168f80567f43e15cf236092703e6ae5d8dc2e.zip |
garage_db: refactor transactions and add on_commit mechanism
Diffstat (limited to 'src/model')
-rw-r--r-- | src/model/index_counter.rs | 4 | ||||
-rw-r--r-- | src/model/s3/lifecycle_worker.rs | 8 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/model/index_counter.rs b/src/model/index_counter.rs index 35d6596d..a46c165f 100644 --- a/src/model/index_counter.rs +++ b/src/model/index_counter.rs @@ -294,7 +294,7 @@ impl<T: CountedItem> IndexCounter<T> { let counter_entry = local_counter.into_counter_entry(self.this_node); self.local_counter .db() - .transaction(|mut tx| self.table.queue_insert(&mut tx, &counter_entry))?; + .transaction(|tx| self.table.queue_insert(tx, &counter_entry))?; next_start = Some(local_counter_k); } @@ -360,7 +360,7 @@ impl<T: CountedItem> IndexCounter<T> { let counter_entry = local_counter.into_counter_entry(self.this_node); self.local_counter .db() - .transaction(|mut tx| self.table.queue_insert(&mut tx, &counter_entry))?; + .transaction(|tx| self.table.queue_insert(tx, &counter_entry))?; next_start = Some(counted_entry_k); } diff --git a/src/model/s3/lifecycle_worker.rs b/src/model/s3/lifecycle_worker.rs index 42e661eb..50d4283f 100644 --- a/src/model/s3/lifecycle_worker.rs +++ b/src/model/s3/lifecycle_worker.rs @@ -330,9 +330,7 @@ async fn process_object( "Lifecycle: expiring 1 object in bucket {:?}", object.bucket_id ); - db.transaction(|mut tx| { - garage.object_table.queue_insert(&mut tx, &deleted_object) - })?; + db.transaction(|tx| garage.object_table.queue_insert(tx, &deleted_object))?; *objects_expired += 1; } } @@ -365,9 +363,7 @@ async fn process_object( ); let aborted_object = Object::new(object.bucket_id, object.key.clone(), aborted_versions); - db.transaction(|mut tx| { - garage.object_table.queue_insert(&mut tx, &aborted_object) - })?; + db.transaction(|tx| garage.object_table.queue_insert(tx, &aborted_object))?; *mpu_aborted += n_aborted; } } |