incubator-livy icon indicating copy to clipboard operation
incubator-livy copied to clipboard

support using hadoop native methods in local file system

Open Jassy1994 opened this issue 5 years ago • 3 comments

What changes were proposed in this pull request?

support using hadoop native methods while choosing local file system to store sessionMetadata and session nextId, using native methods prevent to create new process. which costs time and may lead to nextId method retain object lock of sessionManager for long time and may cause throughput decreased or create/delete thread hanged

and also a param is suggested to set in livy-env.sh: export LD_LIBRARY_PATH=/usr/local/hadoop-current/lib/native

How was this patch tested?

manual tests and debug

Jassy1994 avatar Dec 30 '19 09:12 Jassy1994

using native methods prevent to create new process

@Jassy1994 would you please explain more about this? I was thinking should it be the behavior of Hadoop, not Livy, why do we need to be aware of this in Livy side?

jerryshao avatar Jan 06 '20 03:01 jerryshao

using native methods prevent to create new process

@Jassy1994 would you please explain more about this? I was thinking should it be the behavior of Hadoop, not Livy, why do we need to be aware of this in Livy side?

@jerryshao I find Livy FileSystemStateStore use RawLocalFileSystem when store recoveryMetadata in local. RawLocalFileSystem default use deprecated file status which won't call hadoop native libs, so we need call this static method explicitly to forbid using deprecated file status. of course this issue has relation about hadoop and hadoop native libs should be supplied and can be quoted by livy server.

Jassy1994 avatar Jan 06 '20 07:01 Jassy1994

So this happens only when you store metadata in local filesystem, not hdfs, right?

jerryshao avatar Jan 06 '20 09:01 jerryshao