{"record":{"id":"e69874102ceb0e6a","repo":"apache/druid","slug":"unknown-stream-name-s","errorCode":null,"errorMessage":"Unknown stream name[%s]","messagePattern":"Unknown stream name\\[(.+?)\\]","errorType":"validation","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"indexing-service/src/main/java/org/apache/druid/indexing/worker/executor/ExecutorLifecycleConfig.java","lineNumber":89,"sourceCode":"\n  public ExecutorLifecycleConfig setStatusFile(File statusFile)\n  {\n    this.statusFile = statusFile;\n    return this;\n  }\n\n  public ExecutorLifecycleConfig setParentStreamDefined(boolean parentStreamDefined)\n  {\n    this.parentStreamDefined = parentStreamDefined;\n    return this;\n  }\n\n  public InputStream getParentStream()\n  {\n    if (\"stdin\".equals(parentStreamName)) {\n      return System.in;\n    } else {\n      throw new ISE(\"Unknown stream name[%s]\", parentStreamName);\n    }\n  }\n}\n","sourceCodeStart":71,"sourceCodeEnd":93,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/indexing-service/src/main/java/org/apache/druid/indexing/worker/executor/ExecutorLifecycleConfig.java#L71-L93","documentation":"ExecutorLifecycleConfig.getParentStream resolves the name of the stream the executor should read its parent's messages from. Only \"stdin\" is supported; any other parentStreamName throws an IllegalStateException because the executor has no other mechanism to attach to its parent process.","triggerScenarios":"Calling getParentStream() when parentStreamName is null or set to anything other than the literal string \"stdin\".","commonSituations":"Misconfigured task launch command passing a wrong value for the stream flag (e.g. \"stdout\" or a pipe path); parentStreamName never populated because the task's JVM args were altered.","solutions":["Ensure the executor task is launched with parentStreamName=\"stdin\" (the druid.indexing.executor.parentStreamName-style runtime property)","Check the launch command/script that starts the Peon/task child process","Do not substitute other stream names; only stdin is wired to System.in"],"exampleFix":"// before\nparentStreamName = \"pipe\"\n// after\nparentStreamName = \"stdin\"","handlingStrategy":"type-guard","validationCode":"if (!\"stdin\".equals(parentStreamName)) throw new IllegalArgumentException(\"parentStreamName must be 'stdin'\");","typeGuard":"boolean isSupportedStream(String s) { return \"stdin\".equals(s); }","tryCatchPattern":"try { in = lifecycleConfig.getParentStream(); } catch (IllegalStateException e) { log.error(\"parentStreamName misconfigured: {}\", e.getMessage()); throw e; }","preventionTips":["Never override the executor parent stream launch arguments","Use Druid's standard task launch scripts"],"tags":["druid","indexing","executor","invalid-state"],"backgroundTag":"invalid-argument-value","analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}