{"record":{"id":"f1343fc2269e6b61","repo":"apache/druid","slug":"no-parquet-files-in-directory-s","errorCode":null,"errorMessage":"No parquet files in directory [%s]","messagePattern":"No parquet files in directory \\[(.+?)\\]","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/ParquetToJson.java","lineNumber":78,"sourceCode":"    CliBuilder<Callable> builder = Cli.builder(\"ParquetToJson\");\n    builder.withDefaultCommand(ParquetToJson.class);\n    builder.build().parse(args).call();\n  }\n\n  private File[] getInputFiles()\n  {\n    if (directories == null || directories.size() != 1) {\n      throw new IAE(\"Only one directory argument is supported!\");\n    }\n\n    File dir = new File(directories.get(0));\n    if (!dir.isDirectory()) {\n      throw new IAE(\"Not a directory [%s]\", dir);\n    }\n    File[] inputFiles = dir.listFiles(\n        pathname -> pathname.getName().endsWith(\".parquet\"));\n    if (inputFiles == null || inputFiles.length == 0) {\n      throw new IAE(\"No parquet files in directory [%s]\", dir);\n    }\n    return inputFiles;\n  }\n\n  @Override\n  public Void call() throws Exception\n  {\n    ObjectMapper mapper = new DefaultObjectMapper();\n\n    File[] inputFiles = getInputFiles();\n\n    for (File inputFile : inputFiles) {\n      File outputFile = new File(inputFile.getAbsolutePath() + \".json\");\n\n      try (\n          final org.apache.parquet.hadoop.ParquetReader<Group> reader = org.apache.parquet.hadoop.ParquetReader\n              .builder(new GroupReadSupport(), new Path(inputFile.toURI()))\n              .build();","sourceCodeStart":60,"sourceCodeEnd":96,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/ParquetToJson.java#L60-L96","documentation":"Validation in the ParquetToJson command-line tool's getInputFiles(): the single supplied directory contained no files ending in .parquet (listFiles returned null or an empty array). The tool has nothing to convert, so it aborts; point it at a directory that actually contains .parquet files.","triggerScenarios":"Thrown at extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/ParquetToJson.java:78 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Place .parquet files in the directory or point to the correct directory.","Check file extensions; files not ending in .parquet are filtered out.","Verify read permissions on the directory."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}