Alluxio / alluxio

Alluxio, data orchestration for analytics and machine learning in the cloud
https://www.alluxio.io
Apache License 2.0
6.86k stars 2.94k forks source link

Worker Fuse hangs on MacOS #13263

Open LuQQiu opened 3 years ago

LuQQiu commented 3 years ago

Alluxio Version: Alluxio - Master Max OS 11.2.3 Osxfuse 3.11

Describe the bug When WorkerFuse is configured with wrong mount options (e.g.alluxio.worker.fuse.mount.options=kernel_cache,entry_timeout=7200,attr_timeout=N, in which attr_timeout should be set to 7200)

The Worker process will hang when running alluxio-start.sh worker. mount command will also hang. Accessing the alluxio folder will also hang.

The worker.log shows

2021-04-21 10:32:20,056 ERROR FuseManager - Failed to launch worker internal Fuse application
java.io.IOException: Failed to mount Alluxio file system
        at alluxio.fuse.AlluxioFuse.launchFuse(AlluxioFuse.java:189)
        at alluxio.worker.block.FuseManager.start(FuseManager.java:88)
        at alluxio.worker.block.DefaultBlockWorker.start(DefaultBlockWorker.java:268)
        at alluxio.worker.block.DefaultBlockWorker.start(DefaultBlockWorker.java:88)
        at alluxio.Registry.start(Registry.java:131)
        at alluxio.worker.AlluxioWorkerProcess.startWorkers(AlluxioWorkerProcess.java:283)
        at alluxio.worker.AlluxioWorkerProcess.start(AlluxioWorkerProcess.java:235)
        at alluxio.ProcessUtils.run(ProcessUtils.java:36)
        at alluxio.worker.AlluxioWorker.main(AlluxioWorker.java:80)
Caused by: java.io.IOException: Failed to mount alluxio path / to mount point /Users/alluxio/alluxioFolder/alluxio/fuseMount
        at alluxio.fuse.AlluxioFuse.launchFuse(AlluxioFuse.java:165)
        ... 8 more
Caused by: alluxio.jnifuse.FuseException: Unable to mount FS
        at alluxio.jnifuse.AbstractFuseFileSystem.mount(AbstractFuseFileSystem.java:107)
        at alluxio.fuse.AlluxioFuse.launchFuse(AlluxioFuse.java:155)
        ... 8 more
Caused by: alluxio.jnifuse.FuseException: Unable to mount FS, return code = 1
        at alluxio.jnifuse.AbstractFuseFileSystem.mount(AbstractFuseFileSystem.java:103)
        ... 9 more

worker.out shows the mount options is invalid.

To Reproduce Start a local cluster on mac with configuration

alluxio.master.hostname=localhost
alluxio.worker.fuse.enabled=true
alluxio.worker.fuse.mount.alluxio.path=/
alluxio.worker.fuse.mount.point=<mount_point>
alluxio.worker.fuse.mount.options=kernel_cache,entry_timeout=7200,attr_timeout=N

and then

$ bin/alluxio-start.sh all SudoMount

Expected behavior JNI-FUSE failed to launch because of incorrect mount options should not hang worker, mount command, and the alluxio folder.

Urgency Medium

Additional context Add any other context about the problem here.

LuQQiu commented 3 years ago

This issue only occur in Mac. WorkerFuse in docker linux env doesn't hang. Fuse failed to mount but worker ran as expected.

LuQQiu commented 3 years ago

assigned to @yabola

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.