i have a CI pipeline triggering on lastModified time and since moving to a minio-operator deployed installation (with DirectPV volumes) it started to self-trigger cause the time always changes whenever it looks ...
Before that, data was stored on a ZFS pool without "Erasure Code" and that pool was mounted with noatime flag. Can't tell if that is related - it is the last time i have seen this pipeline work as expected (it was created fronting this test installation).
$ mcli tree -f io/scratch/
io/scratch/
└─ dir
└─ subdir
└─ file.txt
# HERE is the problem (watch timestamps)
$ date && mcli ls --json io/scratch/dir/
Fri Jul 1 11:18:49 AM CEST 2022
{
"status": "success",
"type": "folder",
"lastModified": "2022-07-01T11:18:49.609141635+02:00",
"size": 0,
"key": "subdir/",
"etag": "",
"url": "https://io/scratch/dir/",
"versionOrdinal": 1
}
$ date && mcli ls --json io/scratch/dir/
Fri Jul 1 11:18:50 AM CEST 2022
{
"status": "success",
"type": "folder",
"lastModified": "2022-07-01T11:18:50.737334413+02:00",
"size": 0,
"key": "subdir/",
"etag": "",
"url": "https://io/scratch/dir/",
"versionOrdinal": 1
}
$ date && mcli ls --json io/scratch/dir/
Fri Jul 1 11:18:51 AM CEST 2022
{
"status": "success",
"type": "folder",
"lastModified": "2022-07-01T11:18:51.816087139+02:00",
"size": 0,
"key": "subdir/",
"etag": "",
"url": "https://io/scratch/dir/",
"versionOrdinal": 1
}
# dir/subdir/ does not have the problem (cause its bottom of the tree?)
$ date && mcli ls --json io/scratch/dir/subdir/
Fri Jul 1 11:21:10 AM CEST 2022
{
"status": "success",
"type": "file",
"lastModified": "2022-07-01T10:59:32.228+02:00",
"size": 1,
"key": "file.txt",
"etag": "68b329da9893e34099c7d8ad5cb9c940",
"url": "https://io/scratch/dir/subdir/",
"versionOrdinal": 1,
"storageClass": "STANDARD"
}
$ date && mcli ls --json io/scratch/dir/subdir/
Fri Jul 1 11:21:11 AM CEST 2022
{
"status": "success",
"type": "file",
"lastModified": "2022-07-01T10:59:32.228+02:00",
"size": 1,
"key": "file.txt",
"etag": "68b329da9893e34099c7d8ad5cb9c940",
"url": "https://io/scratch/dir/subdir/",
"versionOrdinal": 1,
"storageClass": "STANDARD"
}
$ date && mcli ls --json io/scratch/dir/subdir/
Fri Jul 1 11:21:13 AM CEST 2022
{
"status": "success",
"type": "file",
"lastModified": "2022-07-01T10:59:32.228+02:00",
"size": 1,
"key": "file.txt",
"etag": "68b329da9893e34099c7d8ad5cb9c940",
"url": "https://io/scratch/dir/subdir/",
"versionOrdinal": 1,
"storageClass": "STANDARD"
}
minio version RELEASE.2022-06-07T00-33-41Z
commit: e2d4d097e754dd3df2f0f6c6104bfc88fb943737
go version: go1.18.3
i have a CI pipeline triggering on lastModified time and since moving to a minio-operator deployed installation (with DirectPV volumes) it started to self-trigger cause the time always changes whenever it looks ...
Before that, data was stored on a ZFS pool without "Erasure Code" and that pool was mounted with
noatimeflag. Can't tell if that is related - it is the last time i have seen this pipeline work as expected (it was created fronting this test installation).Expected Behavior
lastModified should not change unless the thing looked at is actually modified
Current Behavior
mc lsleads to a change of lastModified timestamp, see reproduction belowSteps to Reproduce (for bugs)
its shown best by shell output on a otherwise empty bucket
Your Environment
minio --version):uname -a): CentOS Stream 8 withLinux n04 4.18.0-383.el8.x86_64 minio/minio#1 SMP Wed Apr 20 15:38:08 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux