warp retention

Test object retention and locking operations to measure S3 object lock performance.

Synopsis

Flags

Command-specific flags

--objects

Default: 25000

Number of objects to create before starting retention operations. The command creates this many objects during the preparation phase. Use this flag to test retention performance with different object counts.

Example:

warp retention --host myaistor.example.com:9000 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--versions

Default: 5

Number of versions to create for each object. The command creates multiple versions of each object to test versioned retention. Use this flag to test retention operations on objects with varying version counts.

Example:

warp retention --host myaistor.example.com:9000 --versions 10 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--obj.size

Default: 1KiB

Size of each object created during the benchmark. Object size has minimal impact on retention operations but affects preparation time. Use this flag when testing storage with specific object size characteristics.

Valid formats include numbers or values with KiB, MiB, or GiB suffixes (base 2 binary).

Example:

warp retention --host myaistor.example.com:9000 --obj.size 10KiB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Shared flags

This command supports all common flags including connection, performance, object, upload, benchmark control, analysis, and monitoring flags.

Benchmark behavior

The retention benchmark tests object locking and retention policy operations.

During the preparation phase, the command uploads the specified number of objects. The upload phase creates objects with the configured size in a bucket with versioning enabled. The command creates multiple versions of each object to test retention on versioned objects. Object lock must be enabled on the target bucket for retention operations.

During the retention phase, the command applies retention policies to object versions. The benchmark sets retention dates and modes on individual object versions. Retention operations measure the performance of locking metadata updates. The command tests putting retention policies throughout the specified duration.

The command measures retention operation throughput, latency, and error rates. Retention performance depends primarily on metadata operations rather than object size. Versioned objects test retention policy application across multiple versions.

Output

The retention benchmark provides metrics for object retention operations.

The output includes retention operations per second showing policy application rates. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for retention operations. Operations per second displays how many retention policies the system can apply.

The benchmark reports error rates for failed retention operations. Total retention counts show how many retention policies were successfully applied. Version-specific metrics reveal performance characteristics when applying retention to multiple versions.

Compliance mode testing shows performance under strict retention requirements. Legal hold operations display throughput for hold applications and removals.

Examples

Basic retention test

Test retention operations with default settings:

warp retention --host myaistor.example.com:9000 --access-key ACCESS_KEY --secret-key SECRET_KEY

The command creates 25,000 objects with 5 versions each and applies retention policies.

High version count testing

Test retention with many versions per object:

warp retention --host myaistor.example.com:9000 --versions 20 --objects 10000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This tests retention policy application on objects with many versions.

Large scale retention

Test retention operations with many objects:

warp retention --host myaistor.example.com:9000 --objects 100000 --versions 3 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This simulates large scale retention policy applications.

High concurrency retention

Test concurrent retention operations:

warp retention --host myaistor.example.com:9000 --concurrent 100 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This tests how the system handles many simultaneous retention policy applications.

Single version retention

Test retention on objects with single versions:

warp retention --host myaistor.example.com:9000 --versions 1 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Single version testing focuses on base object retention.