{"record":{"id":"240b4d0dc2f52163","repo":"apache/beam","slug":"withthrottlingreporttargetms-has-been-removed-and-does-not","errorCode":null,"errorMessage":"withThrottlingReportTargetMs has been removed and does not have an effect.","messagePattern":"withThrottlingReportTargetMs has been removed and does not have an effect\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java","lineNumber":1158,"sourceCode":"          .setBigtableWriteOptions(options.toBuilder().setFlowControl(enableFlowControl).build())\n          .build();\n    }\n\n    /**\n     * @deprecated This method has been deprecated in Beam 2.60.0. It does not have an effect.\n     */\n    @Deprecated\n    public Write withThrottlingTargetMs(int throttlingTargetMs) {\n      LOG.warn(\"withThrottlingTargetMs has been removed and does not have effect.\");\n      return this;\n    }\n\n    /**\n     * @deprecated This method has been deprecated in Beam 2.60.0. It does not have an effect.\n     */\n    @Deprecated\n    public Write withThrottlingReportTargetMs(int throttlingReportTargetMs) {\n      LOG.warn(\"withThrottlingReportTargetMs has been removed and does not have an effect.\");\n      return this;\n    }\n\n    public Write withErrorHandler(ErrorHandler<BadRecord, ?> badRecordErrorHandler) {\n      return toBuilder()\n          .setBadRecordErrorHandler(badRecordErrorHandler)\n          .setBadRecordRouter(BadRecordRouter.RECORDING_ROUTER)\n          .build();\n    }\n\n    @VisibleForTesting\n    Write withServiceFactory(BigtableServiceFactory factory) {\n      return toBuilder().setServiceFactory(factory).build();\n    }\n\n    /**\n     * Returns a {@link BigtableIO.WriteWithResults} that will emit a {@link BigtableWriteResult}\n     * for each batch of rows written.","sourceCodeStart":1140,"sourceCodeEnd":1176,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java#L1140-L1176","documentation":"withThrottlingReportTargetMs was removed in Beam 2.60.0 and no longer has any effect. The BigtableIO.Write transform keeps the method for source compatibility but only logs a warning and returns the unchanged Write object, so caller configuration is silently ignored.","triggerScenarios":"Calling BigtableIO.write().withThrottlingReportTargetMs(<int>) after upgrading to Beam 2.60.0 or later.","commonSituations":"Pipelines migrated from older Beam versions that used Bigtable throttling-based rate limiting (the Bigtable throttling mensuration/reporting mechanism was removed); code compiled against the old API re-run on a newer Beam runner.","solutions":["Remove the .withThrottlingReportTargetMs(...) call from your pipeline code.","If throttling behavior is needed, configure it via Bigtable service-side settings or use a different rate-limiting approach (e.g. Beam's autoscaling or a custom rate-limiting DoFn).","Pin to Beam < 2.60.0 only if the old throttling behavior is strictly required (not recommended)."],"exampleFix":"// before\npipeline.apply(\"Read\", BigtableIO.read().withProjectId(project).withInstanceId(instance).withThrottlingReportTargetMs(5000));\n// after\npipeline.apply(\"Read\", BigtableIO.read().withProjectId(project).withInstanceId(instance));","handlingStrategy":"validation","validationCode":"// Java: fail fast on removed API usage\nif (writeObj.getClass().getSimpleName().equals(\"Write\") && beamVersionAtLeast(\"2.60.0\")) {\n    // do not call withThrottlingReportTargetMs\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Grep your pipeline code for removed BigtableIO methods when bumping Beam versions.","Read the @Deprecated Javadoc (removed in 2.60.0) before configuring Write.","Treat warn-level logs about no-op methods as config drift in CI log scans."],"tags":["java","apache-beam","bigtable","deprecated-api"],"backgroundTag":"deprecated-api-usage","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"}