mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-27 16:48:58 +00:00
refactor: move heal and namespace contracts (#3560)
This commit is contained in:
@@ -204,7 +204,7 @@ require_source_line \
|
||||
"storage-api public list response contract re-export"
|
||||
require_source_line \
|
||||
"crates/storage-api/src/lib.rs" \
|
||||
"pub use object::{MultipartOperations, ObjectIO, ObjectOperations};" \
|
||||
"pub use object::{HealOperations, MultipartOperations, NamespaceLocking, ObjectIO, ObjectOperations};" \
|
||||
"storage-api public object operation contract re-export"
|
||||
require_source_line \
|
||||
"crates/storage-api/src/lib.rs" \
|
||||
@@ -300,12 +300,12 @@ fi
|
||||
|
||||
(
|
||||
cd "$ROOT_DIR"
|
||||
rg -n --no-heading 'async fn (get_object_reader|put_object|get_object_info|verify_object_integrity|copy_object|delete_object_version|delete_object|delete_objects|put_object_metadata|get_object_tags|put_object_tags|delete_object_tags|add_partial|transition_object|restore_transitioned_object|list_multipart_uploads|new_multipart_upload|copy_object_part|put_object_part|get_multipart_info|list_object_parts|abort_multipart_upload|complete_multipart_upload)\b' \
|
||||
rg -n --no-heading 'async fn (get_object_reader|put_object|get_object_info|verify_object_integrity|copy_object|delete_object_version|delete_object|delete_objects|put_object_metadata|get_object_tags|put_object_tags|delete_object_tags|add_partial|transition_object|restore_transitioned_object|list_multipart_uploads|new_multipart_upload|copy_object_part|put_object_part|get_multipart_info|list_object_parts|abort_multipart_upload|complete_multipart_upload|heal_format|heal_bucket|heal_object|get_pool_and_set|check_abandoned_parts|new_ns_lock)\b' \
|
||||
crates/ecstore/src/store_api/traits.rs || true
|
||||
) >"$STORE_API_OBJECT_OPERATION_LOCAL_METHOD_HITS_FILE"
|
||||
|
||||
if [[ -s "$STORE_API_OBJECT_OPERATION_LOCAL_METHOD_HITS_FILE" ]]; then
|
||||
report_failure "old ecstore object/multipart operation method signatures reintroduced: $(paste -sd '; ' "$STORE_API_OBJECT_OPERATION_LOCAL_METHOD_HITS_FILE")"
|
||||
report_failure "old ecstore operation method signatures reintroduced: $(paste -sd '; ' "$STORE_API_OBJECT_OPERATION_LOCAL_METHOD_HITS_FILE")"
|
||||
fi
|
||||
|
||||
require_source_contains \
|
||||
@@ -322,8 +322,12 @@ require_source_contains \
|
||||
"ECStore MultipartOperations compatibility binding"
|
||||
require_source_contains \
|
||||
"crates/ecstore/src/store_api/traits.rs" \
|
||||
"pub trait NamespaceLocking: Send + Sync + Debug + 'static" \
|
||||
"separate namespace-locking operation-group trait"
|
||||
"rustfs_storage_api::HealOperations<" \
|
||||
"ECStore HealOperations compatibility binding"
|
||||
require_source_contains \
|
||||
"crates/ecstore/src/store_api/traits.rs" \
|
||||
"rustfs_storage_api::NamespaceLocking<" \
|
||||
"ECStore NamespaceLocking compatibility binding"
|
||||
require_source_contains \
|
||||
"crates/ecstore/tests/ecstore_contract_compat_test.rs" \
|
||||
"fn ecstore_implements_storage_admin_api_contract()" \
|
||||
@@ -332,6 +336,18 @@ require_source_contains \
|
||||
"crates/ecstore/tests/ecstore_contract_compat_test.rs" \
|
||||
"fn ecstore_implements_namespace_locking_contract()" \
|
||||
"ECStore NamespaceLocking compile-time coverage test"
|
||||
require_source_contains \
|
||||
"crates/ecstore/tests/ecstore_contract_compat_test.rs" \
|
||||
"fn ecstore_implements_heal_operations_contract()" \
|
||||
"ECStore HealOperations compile-time coverage test"
|
||||
require_source_contains \
|
||||
"crates/ecstore/tests/ecstore_contract_compat_test.rs" \
|
||||
"fn ecstore_implements_storage_namespace_locking_contract()" \
|
||||
"ECStore storage-api NamespaceLocking compile-time coverage test"
|
||||
require_source_contains \
|
||||
"crates/ecstore/tests/ecstore_contract_compat_test.rs" \
|
||||
"fn ecstore_implements_storage_heal_operations_contract()" \
|
||||
"ECStore storage-api HealOperations compile-time coverage test"
|
||||
|
||||
if (( FAILURES > 0 )); then
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user