{"record":{"id":"5df8aa05fcaad6bd","repo":"apache/beam","slug":"this-sdk-is-only-capable-of-dealing-with-s-materializations","errorCode":null,"errorMessage":"This SDK is only capable of dealing with %s materializations but was asked to handle %s for PCollectionView with tag %s.","messagePattern":"This SDK is only capable of dealing with (.+?) materializations but was asked to handle (.+?) for PCollectionView with tag (.+?)\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/FnApiStateAccessor.java","lineNumber":381,"sourceCode":"            .setSideInputId(tag.getId())\n            .setWindow(encodedWindow);\n        break;\n\n      case Materializations.MULTIMAP_MATERIALIZATION_URN:\n        checkState(\n            sideInputSpec.getCoder() instanceof KvCoder,\n            \"Expected %s but received %s.\",\n            KvCoder.class,\n            sideInputSpec.getCoder().getClass());\n        cacheKeyBuilder\n            .getMultimapKeysSideInputBuilder()\n            .setTransformId(ptransformId)\n            .setSideInputId(tag.getId())\n            .setWindow(encodedWindow);\n        break;\n\n      default:\n        throw new IllegalStateException(\n            String.format(\n                \"This SDK is only capable of dealing with %s materializations \"\n                    + \"but was asked to handle %s for PCollectionView with tag %s.\",\n                ImmutableList.of(\n                    Materializations.ITERABLE_MATERIALIZATION_URN,\n                    Materializations.MULTIMAP_MATERIALIZATION_URN),\n                sideInputSpec.getAccessPattern(),\n                tag));\n    }\n    return (T)\n        stateKeyObjectCache.computeIfAbsent(\n            cacheKeyBuilder.build(),\n            key -> {\n              switch (sideInputSpec.getAccessPattern()) {\n                case Materializations.ITERABLE_MATERIALIZATION_URN:\n                  return sideInputSpec\n                      .getViewFn()\n                      .apply(","sourceCodeStart":363,"sourceCodeEnd":399,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/FnApiStateAccessor.java#L363-L399","documentation":"FnApiStateAccessor.get materializes side inputs according to a materialization URN advertised by the runner. The SDK harness only supports ITERABLE_MATERIALIZATION_URN and MULTIMAP_MATERIALIZATION_URN; if the runner requests any other materialization type (e.g. multimap-with-keys-values or a newer URN), get throws this IllegalStateException naming the requested URN and the PCollectionView tag.","triggerScenarios":"Calling sideInput() on a PCollectionView whose runner-side side input is configured with an unsupported materialization URN in the process-bundle instruction.","commonSituations":"Runner/SDK version mismatch introducing a new materialization type; custom or newer runner enabling MULTIMAP_KEYS_VALUES side inputs against an older harness; misconfigured runner capabilities negotiation.","solutions":["Upgrade the Apache Beam SDK harness so it supports the materialization URN reported in the message.","Downgrade or reconfigure the runner to advertise only supported materializations (iterable/multimap).","Check runner capability flags (e.g. multimap keys-values side inputs) and disable them if the SDK cannot handle them.","Align runner and SDK versions so capability negotiation succeeds."],"exampleFix":"// before: runner advertises a materialization the harness cannot handle\nrunnerCapabilities.add(MULTIMAP_KEYS_VALUES_SIDE_INPUT);\n// after: only enable capabilities the SDK harness supports\n// (upgrade harness first, then enable the capability)","handlingStrategy":"validation","validationCode":"Set<String> supported = Set.of(\"beam:runner_api:v:iterable_side_input\", \"beam:runner_api:v:multimap_side_input\");\nif (!supported.contains(materializationUrn)) {\n  throw new UnsupportedOperationException(\"Upgrade SDK harness to handle \" + materializationUrn);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin matching SDK/runner container image versions","Review runner side-input capabilities before enabling","Restart workers after runner upgrades"],"tags":["side-input","state","beam","version-mismatch"],"backgroundTag":"unsupported-enum-value","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}