{"record":{"id":"2e4f7632724889f6","repo":"apache/iceberg","slug":"signer-endpoint-is-configured-via-deprecated-prope","errorCode":null,"errorMessage":"Signer endpoint is configured via deprecated property {}, this won't be supported in future releases. Please remove this property to let the signer use the default endpoint instead.","messagePattern":"Signer endpoint is configured via deprecated property (.+?), this won't be supported in future releases\\. Please remove this property to let the signer use the default endpoint instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"aws/src/main/java/org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.java","lineNumber":245,"sourceCode":"    Preconditions.checkArgument(\n        properties().containsKey(RESTCatalogProperties.SIGNER_ENDPOINT)\n            || properties().containsKey(RESTCatalogProperties.REMOTE_SIGNING_ENDPOINT),\n        \"Remote signing endpoint is required\");\n\n    Preconditions.checkArgument(\n        properties().containsKey(RESTCatalogProperties.SIGNER_URI)\n            || properties().containsKey(CatalogProperties.URI),\n        \"S3 signer service URI is required\");\n\n    if (properties().containsKey(RESTCatalogProperties.SIGNER_URI)) {\n      LOG.warn(\n          \"S3 signer URI is configured via deprecated property {}, this won't be supported in future releases. \"\n              + \"Please remove this property to let the signer use the default URI instead.\",\n          RESTCatalogProperties.SIGNER_URI);\n    }\n\n    if (properties().containsKey(RESTCatalogProperties.SIGNER_ENDPOINT)) {\n      LOG.warn(\n          \"Signer endpoint is configured via deprecated property {}, this won't be supported in future releases. \"\n              + \"Please remove this property to let the signer use the default endpoint instead.\",\n          RESTCatalogProperties.SIGNER_ENDPOINT);\n    }\n  }\n\n  @Override\n  protected void processRequestPayload(\n      SdkHttpFullRequest.Builder mutableRequest,\n      byte[] signature,\n      byte[] signingKey,\n      Aws4SignerRequestParams signerRequestParams,\n      AwsS3V4SignerParams signerParams) {\n    checkSignerParams(signerParams);\n  }\n\n  @SuppressWarnings(\"deprecation\")\n  @Override","sourceCodeStart":227,"sourceCodeEnd":263,"githubUrl":"https://github.com/apache/iceberg/blob/86d9c8fc543e7c56c9f624eb725f76c9baff9570/aws/src/main/java/org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.java#L227-L263","documentation":"S3V4RestSignerClient.check() detects the deprecated s3.signer.endpoint property and warns that it will stop being supported; users should remove it so the signer derives the endpoint from the default location instead.","triggerScenarios":"Having s3.signer.endpoint in catalog properties when initializing the REST signer client.","commonSituations":"Configs migrated from older Iceberg versions; mixed old/new properties kept 'just in case'; environment provisioning scripts that inject legacy signer settings.","solutions":["Remove s3.signer.endpoint from properties","If a custom endpoint is genuinely needed, upgrade to a version where the replacement mechanism applies, or configure it via the supported URI property","Verify signer traffic hits the intended endpoint after removal"],"exampleFix":"// before\n's3.signer.endpoint' = '/v1/aws/s3/sign'\n// after\n// property removed; signer uses default endpoint","handlingStrategy":"validation","validationCode":"Properties props = catalog.properties();\nif (props.containsKey(\"s3.signer.endpoint\")) {\n  throw new IllegalArgumentException(\"Remove deprecated s3.signer.endpoint; let the signer use the default endpoint\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Audit catalog properties for legacy s3.signer.* keys after upgrades","Prefer default signer endpoint unless there is a documented reason otherwise"],"tags":["aws","s3-signer","rest-catalog","deprecation"],"backgroundTag":"deprecated-api-usage","analyzedSha":"86d9c8fc543e7c56c9f624eb725f76c9baff9570","analyzedAt":"2026-09-12T00:46:39.097Z","contentChangedAt":"2026-09-12T00:46:39.097Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}