Skip to content

[Bug] Can't use a HDFS dir for kyuubi.operation.result.saveToFile.dir #6437

@camper42

Description

@camper42

Code of Conduct

Search before asking

  • I have searched in the issues and found no similar issues.

Describe the bug

we use JuiceFS as our HDFS. And have set fs.jfs.impl & fs.AbstractFileSystem.jfs.impl properly.

we set spark.sql.warehouse.dir="jfs://datalake/hive"

without kyuubi.operation.result.saveToFile.dir=jfs://datalake/tmp, everything works fine.

with kyuubi.operation.result.saveToFile.dir=jfs://datalake/tmp, Spark engine failed with error java.io.IOException: JuiceFS initialized failed for jfs:///.

Our friends at JuiceFS have discovered that Paths.get in getEngineResultSavePath may cause the problem.

scala> import java.nio.file.Paths
import java.nio.file.Paths

scala> Paths.get("jfs://datalake/tmp", "test_engine_id").toString
res0: String = jfs:/datalake/tmp/test_engine_id

scala> Paths.get("hdfs://datalake/tmp", "test_engine_id").toString
res1: String = hdfs:/datalake/tmp/test_engine_id

Should this be fixed or saveToFile only support local dir ?

Affects Version(s)

1.9.0

Kyuubi Server Log Output

No response

Kyuubi Engine Log Output

24/05/30 10:51:41 WARN FileSystem: Failed to initialize fileystem jfs:/datalake/tmp/spark-f47b20fb20d44845898adcaa3ae3cb68/8d6fc3b6-eee9-4a66-885f-8cbd8a5365e7: java.io.IOException: JuiceFS initialized failed for jfs:///

Kyuubi Server Configurations

kyuubi.operation.result.saveToFile.dir=jfs://datalake/tmp

Kyuubi Engine Configurations

No response

Additional context

No response

Are you willing to submit PR?

  • Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
  • No. I cannot submit a PR at this time.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions