mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-25 05:26:50 +00:00
test(ecstore): stabilize multipart lock ordering test (#5454)
This commit is contained in:
@@ -3379,7 +3379,12 @@ mod tests {
|
|||||||
#[tokio::test(flavor = "multi_thread")]
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
#[serial]
|
#[serial]
|
||||||
async fn complete_holds_object_then_upload_lock_through_commit() {
|
async fn complete_holds_object_then_upload_lock_through_commit() {
|
||||||
temp_env::async_with_vars([(crate::object_api::ENV_RUSTFS_ENCRYPTED_RANGE_SEEK, Some("true"))], async {
|
temp_env::async_with_vars(
|
||||||
|
[
|
||||||
|
(crate::object_api::ENV_RUSTFS_ENCRYPTED_RANGE_SEEK, Some("true")),
|
||||||
|
(rustfs_config::ENV_OBJECT_LOCK_ACQUIRE_TIMEOUT, Some("60")),
|
||||||
|
],
|
||||||
|
async {
|
||||||
let manager = Arc::new(rustfs_lock::GlobalLockManager::new());
|
let manager = Arc::new(rustfs_lock::GlobalLockManager::new());
|
||||||
let signaling = Arc::new(SignalingLockClient::new(Arc::new(LocalClient::with_manager(manager))));
|
let signaling = Arc::new(SignalingLockClient::new(Arc::new(LocalClient::with_manager(manager))));
|
||||||
let lockers: Vec<Arc<dyn LockClient>> = vec![signaling.clone()];
|
let lockers: Vec<Arc<dyn LockClient>> = vec![signaling.clone()];
|
||||||
@@ -3391,7 +3396,8 @@ mod tests {
|
|||||||
user_defined: HashMap::from([(SSEC_ALGORITHM_HEADER.to_string(), "AES256".to_string())]),
|
user_defined: HashMap::from([(SSEC_ALGORITHM_HEADER.to_string(), "AES256".to_string())]),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let (upload_id, parts) = stage_upload_with_create_opts(&set_disks, bucket, object, &[0x43; 4096], &create_opts).await;
|
let (upload_id, parts) =
|
||||||
|
stage_upload_with_create_opts(&set_disks, bucket, object, &[0x43; 4096], &create_opts).await;
|
||||||
let upload_id_path = SetDisks::get_upload_id_dir(bucket, object, &upload_id);
|
let upload_id_path = SetDisks::get_upload_id_dir(bucket, object, &upload_id);
|
||||||
let upload_resource = rustfs_lock::ObjectKey::new(RUSTFS_META_MULTIPART_BUCKET, upload_id_path);
|
let upload_resource = rustfs_lock::ObjectKey::new(RUSTFS_META_MULTIPART_BUCKET, upload_id_path);
|
||||||
let object_resource = rustfs_lock::ObjectKey::new(bucket, object);
|
let object_resource = rustfs_lock::ObjectKey::new(bucket, object);
|
||||||
@@ -3451,13 +3457,20 @@ mod tests {
|
|||||||
.await
|
.await
|
||||||
.expect("abort task should not panic")
|
.expect("abort task should not panic")
|
||||||
.expect_err("the committed upload should no longer exist when abort acquires the lock");
|
.expect_err("the committed upload should no longer exist when abort acquires the lock");
|
||||||
assert!(matches!(abort_err, StorageError::InvalidUploadID(..)));
|
assert!(
|
||||||
|
matches!(abort_err, StorageError::InvalidUploadID(..)),
|
||||||
|
"abort should return InvalidUploadID after completion, got {abort_err:?}"
|
||||||
|
);
|
||||||
let list_err = list
|
let list_err = list
|
||||||
.await
|
.await
|
||||||
.expect("ListParts task should not panic")
|
.expect("ListParts task should not panic")
|
||||||
.expect_err("the committed upload should no longer exist when ListParts acquires the lock");
|
.expect_err("the committed upload should no longer exist when ListParts acquires the lock");
|
||||||
assert!(matches!(list_err, StorageError::InvalidUploadID(..)));
|
assert!(
|
||||||
})
|
matches!(list_err, StorageError::InvalidUploadID(..)),
|
||||||
|
"ListParts should return InvalidUploadID after completion, got {list_err:?}"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user