{"record":{"id":"bbb027bf977c38d8","repo":"apache/beam","slug":"unknown-property-s","errorCode":null,"errorMessage":"Unknown property '%s'","messagePattern":"Unknown property '(.+?)'","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"sdks/java/extensions/sql/delta/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/delta/DeltaTable.java","lineNumber":98,"sourceCode":"      if (lowerKey.startsWith(BEAM_WRITE_PROPERTY)) {\n        // TODO: Support writing to Delta Lake tables once a Delta Lake sink is\n        // available.\n        throw new IllegalArgumentException(\n            String.format(\n                \"Beam write property '%s' is not supported. Writing to Delta Lake tables is currently not supported.\",\n                key));\n      } else if (lowerKey.startsWith(BEAM_READ_PROPERTY)) {\n        // none supported yet\n        throw new IllegalArgumentException(\"Unknown Beam read property: \" + key);\n      } else if (lowerKey.equalsIgnoreCase(VERSION_FIELD)) {\n        parsedVersion = parseVersion(val);\n      } else if (lowerKey.equalsIgnoreCase(TIMESTAMP_FIELD)) {\n        parsedTimestamp = val.asText();\n      } else if (lowerKey.equalsIgnoreCase(HADOOP_CONFIG_FIELD)\n          || lowerKey.equalsIgnoreCase(HADOOP_CONFIG_CAMEL_FIELD)) {\n        parseHadoopConfig(val, parsedHadoopConfig);\n      } else {\n        throw new IllegalArgumentException(String.format(\"Unknown property '%s'\", key));\n      }\n    }\n\n    if (parsedVersion != null && parsedTimestamp != null) {\n      throw new IllegalArgumentException(\"Cannot set both version and timestamp.\");\n    }\n\n    this.version = parsedVersion;\n    this.timestamp = parsedTimestamp;\n    this.hadoopConfig = parsedHadoopConfig.isEmpty() ? null : parsedHadoopConfig;\n  }\n\n  private static Long parseVersion(JsonNode val) {\n    if (val.isNumber()) {\n      return val.asLong();\n    }\n    return Long.parseLong(val.asText());\n  }","sourceCodeStart":80,"sourceCodeEnd":116,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/java/extensions/sql/delta/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/delta/DeltaTable.java#L80-L116","documentation":"DeltaTable.validateTableProperties falls through to the else branch and throws IllegalArgumentException when a property key matches none of the recognized keys: beam_write prefix (rejected earlier), beam_read prefix, 'version', 'timestamp', and 'hadoop_config'/'hadoopConfig'. It prevents silently ignoring misspelled or unsupported options.","triggerScenarios":"Supplying any table property key that is not 'version', 'timestamp', 'hadoop_config', or 'hadoopConfig' (and does not start with a beam_write/beam_read prefix) when constructing or validating a DeltaTable.","commonSituations":"Typo like 'timeStamp' handled? No — actually case-insensitive; real mistakes are misspellings like 'verssion', camelCase variants of keys without exact match like 'hadoopConf', or properties copied from other table providers.","solutions":["Use only the supported property keys: 'version', 'timestamp', 'hadoop_config' (or 'hadoopConfig').","Fix the spelling/casing of the property key in your DDL or configuration.","Remove properties copied from other providers that the Delta provider does not understand."],"exampleFix":"// before\nTBLPROPERTIES { 'hadoopConf': '...' }\n// after\nTBLPROPERTIES { 'hadoop_config': '{\"fs.defaultFS\":\"hdfs://...\"}' }","handlingStrategy":"validation","validationCode":"Set<String> ALLOWED = Set.of(\"version\", \"timestamp\", \"hadoop_config\", \"hadoopconfig\");\nproperties.keySet().forEach(k -> {\n  if (!ALLOWED.contains(k.toLowerCase()) && !k.toLowerCase().startsWith(\"beam_\")) {\n    throw new IllegalArgumentException(\"Unknown Delta property: \" + k);\n  }\n});","typeGuard":null,"tryCatchPattern":"try {\n  table = new DeltaTable(tableId, schema, properties);\n} catch (IllegalArgumentException e) {\n  if (e.getMessage().startsWith(\"Unknown property\")) {\n    log.error(\"Unsupported key in table properties: {}\", e.getMessage());\n  }\n}","preventionTips":["Copy property keys exactly from the DeltaTable source/docs: version, timestamp, hadoop_config.","Validate DDL/TBLPROPERTIES against a whitelist before submitting.","Search the error message's key name against the docs to spot typos quickly."],"tags":["java","beam-sql","delta-lake","table-properties","config"],"backgroundTag":"invalid-config-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"}