Skip to content

analyze: raw NormEvent version is documented but ignored by cache policies #17

Description

@echemythia

Problem

Raw NormEvent has a version field documented as the ETag or versionId that lets the simulator detect mutation and invalidation, but the replay policies key only on object_id. A raw replay trace with the same object_id and changing versions can therefore report false cache hits across object versions.

This does not affect current s3tap or IBM adapters much because they set version to None, but it affects the documented raw NormEvent input and future version-aware ingestion.

Impact

The model can overstate cacheability for traces that encode object mutations as version changes rather than explicit Put or Delete events.

Expected direction

Either make version part of the cache identity or treat a version change as an invalidation before the next demand access. If version remains unsupported, the field documentation and analyze docs should say it is currently ignored.

Relevant paths

  • crates/s3tap-replay/src/trace.rs::NormEvent
  • crates/s3tap-replay/src/driver.rs::run / eval_all_caps / belady_hit_rates / eval_admission_caps
  • crates/s3tap-replay/src/bytes.rs::replay_bytes
  • crates/s3tap-replay/src/hybrid.rs

Metadata

Metadata

Assignees

No one assigned

    Labels

    analyzeDeep caching and prefetch analysis commandbugSomething isn't workingreplayOffline replay, cache and prefetch modelingschemaPublic JSONL records and wire compatibility

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions