apache/druid · error · UnsupportedOperationException

UnsupportedOperationException

Error message

UnsupportedOperationException

What it means

Immutable-entry guard in KinesisInputReader's field-to-value map view: the returned Entry objects are read-only projections over parsed Kinesis record fields, so any code attempting setValue() on them (e.g. a parser or flattener mutating the row) is rejected, since records must not be modified in place.

Solutions

  1. Do not mutate entries obtained from the Kinesis input reader's field map; copy the map before modifying.
  2. If mutation is needed, build a new Map from the entries instead of calling setValue.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/data/input/kinesis/KinesisInputReader.java:248 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07). Data as JSON: /api/errors/f81aed724b93aa6e. Report an issue: GitHub.

Appendix: source

Thrown at extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/data/input/kinesis/KinesisInputReader.java:248

            .map(
                field -> new Entry<String, Object>()
                {
                  @Override
                  public String getKey()
                  {
                    return field;
                  }

                  @Override
                  public Object getValue()
                  {
                    return get(field);
                  }

                  @Override
                  public Object setValue(final Object value)
                  {
                    throw new UnsupportedOperationException();
                  }
                }
            )
            .collect(Collectors.toCollection(LinkedHashSet::new));
      }
    };
  }
}

View on GitHub (pinned to 9b90983fd2)