Deletion has more than one state
A Cloud Storage lifecycle rule evaluates object conditions and performs a configured action when those conditions are satisfied. A delete action does not always mean the object's bytes immediately disappear from every retained state. Object Versioning, soft delete, retention policies, and object holds can change the outcome.
This is why a cost investigation should follow object state rather than only a lifecycle rule's age condition. A live object can become a noncurrent version when versioning applies. Deleted data can remain recoverable under soft delete. A hold or unfulfilled retention requirement can prevent the delete action from taking effect. Storage-class minimum-duration charges can also affect the bill even after data changes state.
Prepare bucket configuration access, a small representative object sample, the storage policy owner, and cost visibility. Use read-only inspection first. Do not disable recovery or retention features simply because a cost chart did not fall immediately after a lifecycle change.
Trace the policy stack
- Read
gcloud storage buckets describe gs://BUCKET_NAME --project=PROJECT_ID. Record lifecycle rules, Object Versioning, soft-delete policy, retention policy, and default event-based holds. Confirm the effective bucket rather than a similarly named archive or replication destination. - Inspect representative object metadata and versions. Determine whether an object is live, noncurrent, soft-deleted, held, or still within retention. Match all lifecycle conditions, including version-related conditions where used. One satisfied age condition does not imply that a rule with several conditions matches.
- Build an expected state timeline for a test object. Include the lifecycle eligibility point, any versioning transition, soft-delete retention, and storage-class duration implications. Use current pricing documentation for the actual class and location rather than a generic savings assumption.
- Validate a reviewed rule in a test bucket or narrowly selected test population. Observe the documented asynchronous behavior and policy propagation. Compare object state and billed storage over an appropriate period; immediate manual deletion of production data is not a useful shortcut for proving lifecycle behavior.
Illustrative scenario
A fictional media team configures deletion of old previews. The ordinary object listing shrinks, but retained storage remains because deleted previews enter the bucket's soft-delete window. Another set remains as noncurrent versions under a separate versioning policy. The correction is an explicit retention and recovery design, with the owner deciding what can be permanently removed and when. The lifecycle service is not necessarily failing.
| Observation | Evidence | Meaning |
|---|---|---|
| Old live object remains | All rule conditions and holds | It may not yet be eligible for deletion |
| Live listing shrinks, storage remains | Soft-deleted objects and policy | Recovery retention is still active |
| Many historical versions remain | Versioning and noncurrent rules | Current-object cleanup is incomplete |
| Bill differs from byte reduction | Class duration and billing timing | Cost includes more than live bytes |
Verify the intended outcome
Inspect the test population's transitions and confirm recovery works during the approved soft-delete window. Verify that required records remain protected by holds or retention. Review storage-class and version-related cost separately from ordinary live data. Ask the application owner to confirm no consumer still depends on objects that the rule intentionally removes.
Operating procedure
Monitor live, noncurrent, and soft-deleted storage as distinct capacity categories where available. Review lifecycle rules after enabling versioning or changing recovery requirements. Keep the retention owner involved in cost changes and document the expected state timeline. Recheck current pricing when moving data between storage classes, because an apparently cheaper class can have duration and access implications.
Explore Clouvenix cloud cost optimization for implementation and operational handover.