Skip to content

Object store mtime is alsways '0001-01-01T00:00:00Z' #2053

@fsievers

Description

@fsievers

Observed behavior

When doing a watch or requesting info about an object from the object store, the mtime is always set to '0001-01-01T00:00:00Z'.

Example (typescript):

import { connect } from "@nats-io/transport-node";

import { jetstream } from "@nats-io/jetstream";
import { Objm } from "@nats-io/obj";

async function main() {
    try {
        const nc = await connect({ servers: "localhost" });
        const js = jetstream(nc, { timeout: 10000 });
        const objm = new Objm(js);
        const os = await objm.open("sample");

        const watcher = await os.watch({ includeHistory: true });

        for await (const entry of watcher) {
            console.log(entry);
        }

        await nc.close();
    } catch (err) {
        console.log(`Some error: ${err}`);
    }
}

await main();

The output is:

{
  name: 'something-one',
  options: { max_chunk_size: 131072 },
  bucket: 'sample',
  nuid: 'oWRfe1FNB5IykFUFvvpFTy',
  size: 542850,
  mtime: '0001-01-01T00:00:00Z',
  chunks: 5,
  digest: 'SHA-256=mT0zapKIRNt6BNC1i3KDVjzgvhm3clbgG-GcQbxyjUQ=',
  isUpdate: false
}
{
  name: 'something-twp',
  options: { max_chunk_size: 131072 },
  bucket: 'sample',
  nuid: '7OaaaiDsfg9sFjlOAobPWK',
  size: 5971143,
  mtime: '0001-01-01T00:00:00Z',
  chunks: 46,
  digest: 'SHA-256=GdBhynQjYs48FVOghB7BvpwfDYbWo5eZVpv_ONoXZL4=',
  isUpdate: true
}

Expected behavior

I expect to get a proper modification time in the result.

Server and client version

Server: 2.12.4
@nats-io/nats-core: 3.3.1
@nats-io/obj: 3.3.1
@nats-io/transport-node: 3.3.1

Host environment

No response

Steps to reproduce

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions