{"record":{"id":"61b020084cd77478","repo":"apache/hadoop","slug":"must-specify-either-create-overwrite-or-append","errorCode":null,"errorMessage":"Must specify either create, overwrite or append","messagePattern":"Must specify either create, overwrite or append","errorType":"exception","errorClass":"PathIOException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java","lineNumber":4716,"sourceCode":"    @Override\n    public FSDataOutputStream build() throws IOException {\n      rejectUnknownMandatoryKeys(Collections.emptySet(),\n          \" for \" + getPath());\n      if (getFlags().contains(CreateFlag.CREATE) ||\n          getFlags().contains(CreateFlag.OVERWRITE)) {\n        if (isRecursive()) {\n          return getFS().create(getPath(), getPermission(), getFlags(),\n              getBufferSize(), getReplication(), getBlockSize(), getProgress(),\n              getChecksumOpt());\n        } else {\n          return getFS().createNonRecursive(getPath(), getPermission(),\n              getFlags(), getBufferSize(), getReplication(), getBlockSize(),\n              getProgress());\n        }\n      } else if (getFlags().contains(CreateFlag.APPEND)) {\n        return getFS().append(getPath(), getBufferSize(), getProgress());\n      }\n      throw new PathIOException(getPath().toString(),\n          \"Must specify either create, overwrite or append\");\n    }\n\n    @Override\n    public FileSystemDataOutputStreamBuilder getThisBuilder() {\n      return this;\n    }\n  }\n\n  /**\n   * Create a new FSDataOutputStreamBuilder for the file with path.\n   * Files are overwritten by default.\n   *\n   * @param path file path\n   * @return a FSDataOutputStreamBuilder object to build the file\n   *\n   * HADOOP-14384. Temporarily reduce the visibility of method before the\n   * builder interface becomes stable.","sourceCodeStart":4698,"sourceCodeEnd":4734,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java#L4698-L4734","documentation":"Error \"Must specify either create, overwrite or append\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java:4716 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass at least one of CreateFlag.CREATE, CreateFlag.OVERWRITE, or CreateFlag.APPEND when creating the stream.","Review the create flags being built; an empty flag set is invalid."],"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"}