{"record":{"id":"b73811f49f62d755","repo":"apache/beam","slug":"unexpected-standardresolveoptions-s-azfsresourceid","errorCode":null,"errorMessage":"Unexpected StandardResolveOptions [%s]","messagePattern":"Unexpected StandardResolveOptions \\[(.+?)\\]","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzfsResourceId.java","lineNumber":231,"sourceCode":"      }\n      if (blob == null) {\n        return fromComponents(account, container, other);\n      }\n      return fromComponents(account, container, blob + other);\n    }\n    if (resolveOptions == ResolveOptions.StandardResolveOptions.RESOLVE_FILE) {\n      checkArgument(\n          !other.endsWith(\"/\"), \"Cannot resolve a file with a directory path: [%s]\", other);\n      checkArgument(!\"..\".equals(other), \"Cannot resolve parent as file: [%s]\", other);\n      if (AZFS_URI.matcher(other).matches()) {\n        return fromUri(other);\n      }\n      if (blob == null) {\n        return fromComponents(account, container, other);\n      }\n      return fromComponents(account, container, blob + other);\n    }\n    throw new UnsupportedOperationException(\n        String.format(\"Unexpected StandardResolveOptions [%s]\", resolveOptions));\n  }\n}\n","sourceCodeStart":213,"sourceCodeEnd":235,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzfsResourceId.java#L213-L235","documentation":"AzfsResourceId.resolve only supports the standard resolution behaviors; when given StandardResolveOptions other than the expected ones it throws UnsupportedOperationException('Unexpected StandardResolveOptions [%s]'). The Azure blobstore filesystem cannot resolve the resource id with the supplied options.","triggerScenarios":"Calling resolve(path, resolveOptions) on an AzfsResourceId with a StandardResolveOptions value outside the handled set (e.g., empty-directory resolution semantics not implemented for Azure blob layout).","commonSituations":"Filesystem operations (match/globbing, directory moves) that request resolve options unsupported by the Azure filesystem, Beam FileSystems default operations interacting with azure:// paths in ways the AzfsResourceId doesn't implement.","solutions":["Check the resolveOptions value in the message and avoid operations that request unsupported options.","Use blob-object paths directly (fromBlobPath) instead of generic resolve with special options.","Avoid glob/directory semantics on azure:// paths that the Azure filesystem doesn't implement.","Upgrade Beam — newer versions may support more resolve options for Azure."],"exampleFix":"// before\nResourceIds.matchResource(\"azure://acct.container/dir/*\") // triggers resolve with unsupported options\n// after\nResourceIds.matchResource(\"azure://acct.container/dir/\") // use supported resolution semantics","handlingStrategy":"validation","validationCode":"// only use resolve options known to be supported by AzfsResourceId\n// avoid EMPTY_DIRECTORY style options on azure:// resource ids","typeGuard":null,"tryCatchPattern":"try {\n  ResourceId resolved = azurePath.resolve(name, options);\n} catch (UnsupportedOperationException e) {\n  if (e.getMessage().startsWith(\"Unexpected StandardResolveOptions\")) {\n    // fall back to direct fromBlobPath construction\n  }\n}","preventionTips":["Construct Azure resource ids via AzfsResourceId.fromBlobPath instead of generic resolve","Avoid glob/directory resolution semantics not implemented for the Azure filesystem","Test match/copy operations against azure:// paths in CI","Upgrade Beam if you need broader resolve-option support"],"tags":["azure","blobstore","resolve-options","unsupported"],"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-20T03:17:13.778Z"}