Skip to content

last_updated_at should record parse-time or last-modified-time, not write-time #1100

Description

@maxrjones

Currently, write_manifest_to_icechunk fills in datetime.now(utc)+1s for the last_updated_at field of chunk references. Icechunk will refuse to serve the chunk if the source was modified after this time. This leaves open the possibility that a file changes in between the parsing and the writing, but Icechunk is left unaware and serves erroneous byte ranges. While not super likely, I believe this is a possibility for long-running coordination pipelines and should be addressed. I think last_updated_at should refer to target of the chunk reference, rather than the chunk reference in the Icechunk store. We could do this using S3 ETag information where available, and secondarily the timestamp at parsing. This would require a change to the manifest-schema and likely parsers 😞

cc @TomNicholas @sharkinsspatial

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions