question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Stat command get different mtime in alluxio fuse mount point

See original GitHub issue

Alluxio Version: 2.6 or newer Describe the bug Touch a new file, and using stat command to get file’s mtime in the alluxio fuse mount point, the mtime shows different result in the first and second stat command.
image

To Reproduce Prerequisite:

  • Start an alluxio cluster
  • Alluxio fuse has been mount to a local dir(e.g. /mnt/alluxio-fuse)

Execute the following commands:

$ cd /mnt/alluxio-fuse/
$ touch a; stat a
$ stat a

The two stat commands will show different mtime and the ctime is 1970.

Expected behavior The two stat commands will show the same mtime and atime since we just touch a file.

Urgency Urgent

Are you planning to fix it We need to fix after discussion.

Additional context This problem only occurs in the linux environment, the Mac os seems alright. SImple analysis: The close() function in linux will call a async release API, so the touch process maybe exit before the file complete, and the stat may get an incomplete state, then the async release will complete the file and update the mtime, so the next stat will get a different atime.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:17 (17 by maintainers)

github_iconTop GitHub Comments

1reaction
LuQQiucommented, Jul 19, 2022

The latest master

[ec2-user@testBackup-1master-EBJ-worker-0 alluxio-fuse]$ touch a.file;stat a.file
  File: ‘a.file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 26h/38d	Inode: 2           Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1100/ alluxio)   Gid: ( 1100/ alluxio)
Context: system_u:object_r:fusefs_t:s0
Access: 2022-07-19 23:57:04.130000000 +0000
Modify: 2022-07-19 23:57:04.130000000 +0000
Change: 2022-07-19 23:57:04.130000000 +0000
 Birth: -
[ec2-user@testBackup-1master-EBJ-worker-0 alluxio-fuse]$ stat a.file
  File: ‘a.file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 26h/38d	Inode: 2           Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1100/ alluxio)   Gid: ( 1100/ alluxio)
Context: system_u:object_r:fusefs_t:s0
Access: 2022-07-19 23:57:04.130000000 +0000
Modify: 2022-07-19 23:57:04.130000000 +0000
Change: 2022-07-19 23:57:04.130000000 +0000
 Birth: -

Ext4

[root@testBackup-1master-EBJ-worker-0 disk2-part1]# touch a.file;stat a.file
  File: ‘a.file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 10303h/66307d	Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:unlabeled_t:s0
Access: 2022-07-19 23:57:08.263691030 +0000
Modify: 2022-07-19 23:57:08.263691030 +0000
Change: 2022-07-19 23:57:08.263691030 +0000
 Birth: -
[root@testBackup-1master-EBJ-worker-0 disk2-part1]# stat a.file
  File: ‘a.file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 10303h/66307d	Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:unlabeled_t:s0
Access: 2022-07-19 23:57:08.263691030 +0000
Modify: 2022-07-19 23:57:08.263691030 +0000
Change: 2022-07-19 23:57:08.263691030 +0000
 Birth: -

Looks like the behavior changed and now the behavior matched

0reactions
LuQQiucommented, Jul 21, 2022

@bzheng888 i didn’t fix the issue, but in latest testing surprising find the atime and mtime matches the EXT4 behavior

Read more comments on GitHub >

github_iconTop Results From Across the Web

FUSE-based POSIX API - Alluxio v2.9.0 (stable) Documentation
Mount Alluxio as a FUSE Mount Point. After properly configuring and starting an Alluxio cluster; Run the following command on the node where...
Read more >
List of Configuration Properties - Alluxio v2.9.0 (stable ...
Property Name Default Description alluxio.conf.dynamic.update.enabled false Whether to support dynamic update pro... alluxio.fuse.fs.name alluxio‑fuse The FUSE file system name. alluxio.fuse.special.command.enabled false
Read more >
User Command Line Interface - Alluxio v2.9.0 (stable ...
Running this command on an existing Alluxio cluster deletes everything persisted in Alluxio, including cached data and any metadata information. Data in under ......
Read more >
Running Tensorflow on Alluxio-FUSE - Introduction
Tensorflow enables developers to quickly and easily get started with deep learning. ... Run the following command to install FUSE on Linux:.
Read more >
List of Metrics - Alluxio v2.9.0 (stable) Documentation
Name Type Description Master.AbsentCacheHits GAUGE Number of cache hits on the absent cache Master.AbsentCacheMisses GAUGE Number of cache misses on the absent cache Master.AbsentCacheSize GAUGE Size...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found