apache/hadoop · error · ConcurrentWriteOperationDetectedException

Parallel access to the create path detected. Failing request

Error message

Parallel access to the create path detected. Failing request to honor single writer semantics

What it means

Error "Parallel access to the create path detected. Failing request to honor single writer semantics" thrown in apache/hadoop.

Source

Thrown at hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/AbfsDfsClient.java:535

      TracingContext tracingContext) throws IOException {
    AbfsRestOperation op;
    try {
      // Trigger a create with overwrite=false first so that eTag fetch can be
      // avoided for cases when no pre-existing file is present (major portion
      // of create file traffic falls into the case of no pre-existing file).
      op = createPath(relativePath, true, false, permissions,
          isAppendBlob, null, contextEncryptionAdapter, tracingContext);

    } catch (AbfsRestOperationException e) {
      if (e.getStatusCode() == HttpURLConnection.HTTP_CONFLICT) {
        // File pre-exists, fetch eTag
        try {
          op = getPathStatus(relativePath, false, tracingContext, null);
        } catch (AbfsRestOperationException ex) {
          if (ex.getStatusCode() == HttpURLConnection.HTTP_NOT_FOUND) {
            // Is a parallel access case, as file which was found to be
            // present went missing by this request.
            throw new ConcurrentWriteOperationDetectedException();
          } else {
            throw ex;
          }
        }

        String eTag = extractEtagHeader(op.getResult());

        try {
          // overwrite only if eTag matches with the file properties fetched befpre
          op = createPath(relativePath, true, true, permissions,
              isAppendBlob, eTag, contextEncryptionAdapter, tracingContext);
        } catch (AbfsRestOperationException ex) {
          if (ex.getStatusCode() == HttpURLConnection.HTTP_PRECON_FAILED) {
            // Is a parallel access case, as file with eTag was just queried
            // and precondition failure can happen only when another file with
            // different etag got created.
            throw new ConcurrentWriteOperationDetectedException();
          } else {

View on GitHub (pinned to 2add963021)

Solutions

  1. Avoid concurrent creates of the same file from multiple writers; coordinate through a single writer.
  2. Retry after the competing create completes if this is a transient race.

When it happens

Trigger: Two clients create the same path simultaneously; ABFS fails one to enforce single-writer semantics.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/dc2398c2b390752d. Report an issue: GitHub.