{"record":{"id":"5c41d3e23a47c337","repo":"apache/hadoop","slug":"class-not-found-5c41d3","errorCode":null,"errorMessage":"Class not found: {}","messagePattern":"Class not found: (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/mapreduce/StreamInputFormat.java","lineNumber":80,"sourceCode":"    context.progress();\n\n    // Open the file and seek to the start of the split\n    Path path = split.getPath();\n    FileSystem fs = path.getFileSystem(conf);\n    // open the file\n    final FutureDataInputStreamBuilder builder = fs.openFile(path);\n    FutureIO.propagateOptions(builder, conf,\n        MRJobConfig.INPUT_FILE_OPTION_PREFIX,\n        MRJobConfig.INPUT_FILE_MANDATORY_PREFIX);\n    FSDataInputStream in = FutureIO.awaitFuture(builder.build());\n\n    // Factory dispatch based on available params..\n    Class readerClass;\n\n    {\n      readerClass = StreamUtil.goodClassOrNull(conf, c, null);\n      if (readerClass == null) {\n        throw new RuntimeException(\"Class not found: \" + c);\n      }\n    }\n    Constructor ctor;\n\n    try {\n      ctor = readerClass.getConstructor(new Class[] { FSDataInputStream.class,\n          FileSplit.class, TaskAttemptContext.class, Configuration.class,\n          FileSystem.class });\n    } catch (NoSuchMethodException nsm) {\n      throw new RuntimeException(nsm);\n    }\n\n    RecordReader<Text, Text> reader;\n    try {\n      reader = (RecordReader<Text, Text>) ctor.newInstance(new Object[] { in,\n          split, context, conf, fs });\n    } catch (Exception nsm) {\n      throw new RuntimeException(nsm);","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/streaming/mapreduce/StreamInputFormat.java#L62-L98","documentation":"Error \"Class not found: {}\" thrown in apache/hadoop.","triggerScenarios":"The record reader class named in the streaming configuration cannot be found on the task classpath.","commonSituations":"See trigger scenarios.","solutions":["Add the named class to the job classpath or fix the configured class name."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}