Skip to content

Make sure ufs to only once load a native shared library #14142

Open
@LuQQiu

Description

Alluxio Version:
Alluxio 2.6

Describe the bug
Our extension class loader will load a native shared library (.so) for multiple times.
Failed to load Ceph native library

2021-09-18 15:49:21,444 WARN UnderFileSystem$Factory - Failed to create UnderFileSystem by factory alluxio.underfs.cephfs.CephFSUnderFileSystemFactory@5e2694c1: java.lang.UnsatisfiedLinkError: Native Library /usr/lib64/libcephfs_jni.so.1.0.0 already loaded in another classloader
2021-09-18 15:49:21,444 ERROR FileSystemMasterClientServiceHandler - Exit (Error): Mount: request=alluxioPath: "/fs2"

To Reproduce
Steps to reproduce the behavior (as minimally and precisely as possible)

Expected behavior
An extension class loader will only be loaded once

Urgency
Describe the impact and urgency of the bug.

Additional context
After used #14058 : the native shared lib problem is solved

We test underfs-cephfs and underfs-cephfs-hadoop

[root@s131 /data/alluxio-2.7.0-SNAPSHOT]# bin/alluxio fs mount
cephfs://xx.xx.xx.A:6789/ on /fs2 (cephfs, capacity=711.02TB, used=86.41GB(0%), not read-only, not shared})
cephfs://xx.xx.xx.B:6789/ on /fs3 (cephfs, capacity=24.59TB, used=58.50GB(0%), not read-only, not shared})
ceph://xx.xx.xx.A:6789/ on /fs1 (hdfs, capacity=-1B, used=-1B, read-only, not shared)
ceph://xx.xx.xx.B:6789/ on /fs4 (hdfs, capacity=-1B, used=-1B, read-only, not shared})
/data/alluxio-2.7.0-SNAPSHOT/underFSStorage on / (local, capacity=31.90GB, used=29.72GB(93%), not read-only, not shared, properties={})

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    priority-mediumstaleThe PR/Issue does not have recent activities and will be closed automaticallytype-bugThis issue is about a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions