Skip to content

"Invalid etag" on a stale local listing does not name the fix, and prints mtime as a hex float #1906

Description

@dmpetrov

Description

Local-file etags derive from mtime, so regenerating or re-syncing source files invalidates a cached
listing and every read then fails:

FileNotFoundError: Invalid etag for file:///.../fixture/fold_shirt/1.mp4:
  expected 0x1.a9fab9eea1cbdp+30, got 0x1.a9fabd21cdfd9p+30

The behaviour is correct; the message is the problem. It does not mention
read_storage(..., update=True), which is the fix, and the hex float rendering of an mtime tells the
reader nothing.

Suggested fix

Name update=True in the message and render the timestamps as ISO dates.

Version Info

datachain 0.59.4.dev1+g1955f8e5b (editable, main @ 1955f8e5b)
Python 3.12.11, macOS 15 (Darwin 25.6.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions