{"record":{"id":"68dc20d5571c03e3","repo":"prestodb/presto","slug":"hudi-filesystem-error-68dc20","errorCode":"HUDI_FILESYSTEM_ERROR","errorMessage":"Could not open file system for ${table}","messagePattern":"Could not open file system for (.+?)","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-hudi/src/main/java/com/facebook/presto/hudi/HudiSplitManager.java","lineNumber":155,"sourceCode":"                asyncQueueExecutor,\n                splitLoaderExecutorService,\n                splitGeneratorExecutorService,\n                getMaxOutstandingSplits(session));\n    }\n\n    private ExtendedFileSystem getFileSystem(ConnectorSession session, HudiTableHandle table)\n    {\n        HdfsContext hdfsContext = new HdfsContext(\n                session,\n                table.getSchemaName(),\n                table.getTableName(),\n                table.getPath(),\n                false);\n        try {\n            return hdfsEnvironment.getFileSystem(hdfsContext, new Path(table.getPath()));\n        }\n        catch (IOException e) {\n            throw new PrestoException(HUDI_FILESYSTEM_ERROR, \"Could not open file system for \" + table, e);\n        }\n    }\n\n    public static HudiPartition getHudiPartition(ExtendedHiveMetastore metastore, MetastoreContext context, HudiTableLayoutHandle tableLayout, String partitionName)\n    {\n        String databaseName = tableLayout.getTable().getSchemaName();\n        String tableName = tableLayout.getTable().getTableName();\n        List<HudiColumnHandle> partitionColumns = tableLayout.getPartitionColumns();\n\n        if (partitionColumns.isEmpty()) {\n            // non-partitioned tableLayout\n            Table table = metastore.getTable(context, databaseName, tableName)\n                    .orElseThrow(() -> new PrestoException(HUDI_INVALID_METADATA, format(\"Table %s.%s expected but not found\", databaseName, tableName)));\n            return new HudiPartition(partitionName, ImmutableList.of(), ImmutableMap.of(), table.getStorage(), tableLayout.getDataColumns());\n        }\n        else {\n            // partitioned tableLayout\n            List<String> partitionValues = extractPartitionValues(partitionName);","sourceCodeStart":137,"sourceCodeEnd":173,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-hudi/src/main/java/com/facebook/presto/hudi/HudiSplitManager.java#L137-L173","documentation":"HudiSplitManager.getFileSystem resolves an ExtendedFileSystem for the table's base path via HdfsEnvironment; any failure opening it (missing scheme support, bad credentials, unavailable naming authority) is wrapped in this PrestoException with the table path, aborting split generation for that table.","triggerScenarios":"Thrown at presto-hudi/src/main/java/com/facebook/presto/hudi/HudiSplitManager.java:155 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the table path URI and that a FileSystem implementation exists for its scheme","Check HDFS/S3 credentials and HdfsEnvironment configuration for the query user","Confirm the Hudi table location is reachable from all worker nodes"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}