You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "bambadiouf1 (via GitHub)" <gi...@apache.org> on 2026/01/21 20:56:35 UTC

[PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

bambadiouf1 opened a new pull request, #37377:
URL: https://github.com/apache/beam/pull/37377

   
   **Please** add a meaningful description for your change here
   This pull request introduces two new pipeline options for the Google Cloud Dataflow runner across the Python, Java, and Go SDKs ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=add+diskprovisionediops+and+diskprovisionedthroughputmibps+pipeline+o+ptions+for+python+java+and+go+sdks#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)). These options allow users to specify provisioned performance for worker VM root disks:
   
   disk_provisioned_iops: Sets the provisioned IOPS for the root disk. If unspecified, the service chooses a default ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=iops+provisioned+for+the+root+disk+for+vms+if+zero+or+unspecified+the+service+will+attempt+to+choose+a+reasonable+default#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   disk_provisioned_throughput_mibps: Sets the provisioned throughput in MiB/s for the root disk ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=for+the+root+disk+for+vms+if+zero+or+unspecified+the+service+will+attempt+to+choose+a+reasonable+default#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   Changes by SDK:
   
   Java SDK: Added getters and setters to DataflowPipelineWorkerPoolOptions and updated DataflowPipelineTranslator to pass these values to the worker pool configuration ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=workerpool+setdiskprovisionediops+options+getdiskprovisionediops+if+options+getdiskprovisionedthroughputmibps#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   Python SDK: Added --disk_provisioned_iops and --disk_provisioned_throughput_mibps to WorkerOptions and updated the internal apiclient to include these fields in the Dataflow environment ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=worker_options+disk_provisioned_iops+pool+diskprovisionediops+self+worker_options+disk_provisioned_iops#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   Go SDK: Added flags for both options and updated the dataflowlib job translation logic ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=diskprovisionediops+flag+int64+disk_provisioned_iops+0+provisioned+iops+for+the+root+disk+for+vms+optional#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   Tests have been added to verify that these options are correctly parsed and translated for each SDK ([ source](https://github.com/apache/beam/compare/master...bambadiouf1:beam:iops_throughput_pipeline_options?expand=1&content_ref=pelineoptions+class+options+setdiskprovisionediops+long+valueof+7000+options+setdiskprovisionedthroughputmibps+long+valueof+250+options+setproject+test+project#diff-68a845ae48fadf50528918b93dea4a227e0572038fb54ec68c79e68f11b51ac5)).
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier).
   
   To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/actions/workflows/build_wheels.yml/badge.svg?event=schedule&&?branch=master)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/actions/workflows/python_tests.yml/badge.svg?event=schedule&&?branch=master)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/actions/workflows/java_tests.yml/badge.svg?event=schedule&&?branch=master)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Go tests](https://github.com/apache/beam/actions/workflows/go_tests.yml/badge.svg?event=schedule&&?branch=master)](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-3781297438

   Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment `assign set of reviewers`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4344967465

   > Hey, this PR actually breaks the Dataflow protos in python by changing field numbers for existing fields. Additionally, this is changing the internally generated python client that we're in the process of deprecating. I'd suggest reverting this PR and removing the Python-specific code
   
   This is my fault, I should've caught the conflict. The relevant PR making this change is https://github.com/apache/beam/pull/37639, which would basically need to undo all the Python pieces here.
   
    I agree, lets:
   
   1) Revert
   2) Put up another PR with just the Java and Go side changes. We can merge that immediately.
   3) Address the Python pieces separately. @jrmccluskey could you help Bamba with that after you merge your PR? (either by just doing it or providing code pointers on what changes need to happen)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4241076192

   assign set of reviewers


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3150003494


##########
sdks/python/apache_beam/runners/dataflow/internal/clients/dataflow/dataflow_v1b3_messages.py:
##########
@@ -8047,11 +8062,3 @@ class WriteInstruction(_messages.Message):
     StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
 encoding.AddCustomJsonEnumMapping(
     StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsLocationsTemplatesLaunchRequest, 'dynamicTemplate_gcsPath', 'dynamicTemplate.gcsPath')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsLocationsTemplatesLaunchRequest, 'dynamicTemplate_stagingLocation', 'dynamicTemplate.stagingLocation')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsTemplatesLaunchRequest, 'dynamicTemplate_gcsPath', 'dynamicTemplate.gcsPath')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsTemplatesLaunchRequest, 'dynamicTemplate_stagingLocation', 'dynamicTemplate.stagingLocation')

Review Comment:
   I think this is deleted because of a merge issue (this was added after the commit you're generating from) - could you try pulling in the latest contents of master (`git pull origin master`) and then regenerating this client?



##########
sdks/go.mod:
##########
@@ -25,12 +25,12 @@ go 1.26.0
 toolchain go1.26.2
 
 require (
-	cloud.google.com/go/bigquery v1.72.0
-	cloud.google.com/go/bigtable v1.41.0
-	cloud.google.com/go/datastore v1.21.0
+	cloud.google.com/go/bigquery v1.74.0
+	cloud.google.com/go/bigtable v1.42.0
+	cloud.google.com/go/datastore v1.22.0

Review Comment:
   Oh, and could you also mention the pipeline options in https://github.com/apache/beam/blob/master/CHANGES.md ? (you don't need to call out the client libraries there)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4321116569

   ## [Codecov](https://app.codecov.io/gh/apache/beam/pull/37377?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 71.90%. Comparing base ([`a615657`](https://app.codecov.io/gh/apache/beam/commit/a615657d5a41a0baa5b653abe072fc4c1c9dcd6c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`785d55c`](https://app.codecov.io/gh/apache/beam/commit/785d55c8fb303ffc6142d64e3086554af8f44b36?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 11 commits behind head on master.
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@              Coverage Diff              @@
   ##             master   #37377       +/-   ##
   =============================================
   + Coverage     58.52%   71.90%   +13.37%     
   + Complexity    15434     3425    -12009     
   =============================================
     Files          2851      329     -2522     
     Lines        280086    29836   -250250     
     Branches      12337     3593     -8744     
   =============================================
   - Hits         163917    21453   -142464     
   + Misses       109756     6739   -103017     
   + Partials       6413     1644     -4769     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/beam/pull/37377/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [go](https://app.codecov.io/gh/apache/beam/pull/37377/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java](https://app.codecov.io/gh/apache/beam/pull/37377/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `71.90% <ø> (+7.29%)` | :arrow_up: |
   | [python](https://app.codecov.io/gh/apache/beam/pull/37377/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/beam/pull/37377?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4330165411

   /gemini review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4335915617

   /gemini review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "gemini-code-assist[bot] (via GitHub)" <gi...@apache.org>.
gemini-code-assist[bot] commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3133415730


##########
runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/options/DataflowPipelineOptionsTest.java:
##########
@@ -322,4 +322,13 @@ public void destroy() {
           TimeoutException.class, () -> DefaultGcpRegionFactory.getRegionFromGcloudCli(1L));
     }
   }
+
+  @Test
+  public void testDiskProvisionedIopsAndThroughput() {
+    DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class);
+    options.setDiskProvisionedIops(1000);
+    options.setDiskProvisionedThroughputMibps(100);
+    assertEquals(Integer.valueOf(1000), options.getDiskProvisionedIops());
+    assertEquals(Integer.valueOf(100), options.getDiskProvisionedThroughputMibps());

Review Comment:
   ![high](https://www.gstatic.com/codereviewagent/high-priority.svg)
   
   These assertions will fail because `options.getDiskProvisionedIops()` returns a `Long`, while `Integer.valueOf(1000)` creates an `Integer`. In Java, an `Integer` object is never equal to a `Long` object via `.equals()`. You should use `Long.valueOf()` or a long literal (e.g., `1000L`) to match the return type of the getter.
   
   ```suggestion
       assertEquals(Long.valueOf(1000), options.getDiskProvisionedIops());
       assertEquals(Long.valueOf(100), options.getDiskProvisionedThroughputMibps());
   ```



##########
runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java:
##########
@@ -489,6 +489,13 @@ public Job translate(List<DataflowPackage> packages) {
       if (options.getDiskSizeGb() > 0) {
         workerPool.setDiskSizeGb(options.getDiskSizeGb());
       }
+      if (options.getDiskProvisionedIops() != null && options.getDiskProvisionedIops() > 0) {
+        workerPool.setDiskProvisionedIops((long) options.getDiskProvisionedIops());
+      }
+      if (options.getDiskProvisionedThroughputMibps() != null && options.getDiskProvisionedThroughputMibps() > 0) {
+        workerPool.setDiskProvisionedThroughputMibps(
+            (long) options.getDiskProvisionedThroughputMibps());
+      }

Review Comment:
   ![high](https://www.gstatic.com/codereviewagent/high-priority.svg)
   
   The cast to `(long)` is likely incorrect and may cause a compilation error. Based on the Dataflow API definition (and the Python SDK changes in this PR using `INT32`), these fields are typically 32-bit integers. Since `options.getDiskProvisionedIops()` returns a `Long`, you should convert it to an `Integer` (e.g., using `.intValue()`) before passing it to the `workerPool` setter, assuming the generated client library expects an `Integer` for these fields. Alternatively, consider changing the option type to `Integer` in `DataflowPipelineWorkerPoolOptions` for consistency with other fields like `diskSizeGb`.
   
   ```suggestion
         if (options.getDiskProvisionedIops() != null && options.getDiskProvisionedIops() > 0) {
           workerPool.setDiskProvisionedIops(options.getDiskProvisionedIops().intValue());
         }
         if (options.getDiskProvisionedThroughputMibps() != null && options.getDiskProvisionedThroughputMibps() > 0) {
           workerPool.setDiskProvisionedThroughputMibps(
               options.getDiskProvisionedThroughputMibps().intValue());
         }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "tvalentyn (via GitHub)" <gi...@apache.org>.
tvalentyn commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4392831925

   > Hey, this PR actually breaks the Dataflow protos in python by changing field numbers for existing fields
   
   I think apitools generates the fields in the proto alphabetically, and the order likely is not material for the underlying JSON api; we made similar updates in   https://github.com/apache/beam/pull/37581/changes and earlier changes. 
   
   Did something get broken by this PR when it was merge or we reverted out of caution?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4241080868

   Assigning reviewers:
   
   R: @damccorm for label python.
   R: @jrmccluskey for label go.
   R: @Abacn for label build.
   
   
   Note: If you would like to opt out of this review, comment `assign to next reviewer`.
   
   Available commands:
   - `stop reviewer notifications` - opt out of the automated review tooling
   - `remind me after tests pass` - tag the comment author after tests pass
   - `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
   
   The PR bot will only process comments in the main thread (not review comments).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "gemini-code-assist[bot] (via GitHub)" <gi...@apache.org>.
gemini-code-assist[bot] commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3079455108


##########
sdks/go/pkg/beam/runners/dataflow/dataflow.go:
##########
@@ -61,9 +61,11 @@ var (
 	numWorkers             = flag.Int64("num_workers", 0, "Number of workers (optional).")
 	workerHarnessThreads   = flag.Int64("number_of_worker_harness_threads", 0, "The number of threads per each worker harness process (optional).")
 	maxNumWorkers          = flag.Int64("max_num_workers", 0, "Maximum number of workers during scaling (optional).")
-	diskSizeGb             = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
-	diskType               = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
-	autoscalingAlgorithm   = flag.String("autoscaling_algorithm", "", "Autoscaling mode to use (optional).")
+	diskSizeGb                     = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
+	diskType                       = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
+	diskProvisionedIops            = flag.Int64("disk_provisioned_iops", 0, "Provisioned IOPS for the worker disk (optional).")
+	diskProvisionedThroughputMibps = flag.Int64("disk_provisioned_throughput_mibps", 0, "Provisioned throughput in MiB/s for the worker disk (optional).")

Review Comment:
   ![high](https://www.gstatic.com/codereviewagent/high-priority.svg)
   
   The Go implementation appears to be incomplete. While flags and `JobOptions` fields have been added, there is no corresponding logic to translate these values into the `WorkerPool` configuration within the Dataflow API request (typically handled in `environment.go`). Without this translation, these flags will have no effect on the provisioned workers.



##########
runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineWorkerPoolOptions.java:
##########
@@ -193,6 +193,20 @@ public String getAlgorithm() {
 
   void setWorkerDiskType(String value);
 
+  /** Provisioned IOPS for the worker disk. */
+  @Description("Provisioned IOPS for the worker disk.")
+  @Nullable
+  Integer getDiskProvisionedIops();
+
+  void setDiskProvisionedIops(Integer value);

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   Consider using `Long` instead of `Integer` for these performance-related fields. While `Integer` is likely sufficient for current IOPS limits, using `Long` is more consistent with the underlying Dataflow API (which the translator casts to `Long`) and the Go implementation in this PR. It also future-proofs the options against very high performance disk specifications.
   
   ```suggestion
     Long getDiskProvisionedIops();
   
     void setDiskProvisionedIops(Long value);
   ```



##########
runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java:
##########
@@ -489,6 +489,13 @@ public Job translate(List<DataflowPackage> packages) {
       if (options.getDiskSizeGb() > 0) {
         workerPool.setDiskSizeGb(options.getDiskSizeGb());
       }
+      if (options.getDiskProvisionedIops() != null) {
+        workerPool.setDiskProvisionedIops(Long.valueOf(options.getDiskProvisionedIops()));
+      }
+      if (options.getDiskProvisionedThroughputMibps() != null) {
+        workerPool.setDiskProvisionedThroughputMibps(
+            Long.valueOf(options.getDiskProvisionedThroughputMibps()));
+      }

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   For consistency with how `diskSizeGb` is handled (lines 489-491), it is recommended to also check that these values are greater than zero. This provides basic client-side validation and ensures that a value of 0 (if provided) doesn't inadvertently override service defaults in an unexpected way. Additionally, the conversion to `Long` can be simplified.
   
   ```suggestion
         if (options.getDiskProvisionedIops() != null && options.getDiskProvisionedIops() > 0) {
           workerPool.setDiskProvisionedIops((long) options.getDiskProvisionedIops());
         }
         if (options.getDiskProvisionedThroughputMibps() != null && options.getDiskProvisionedThroughputMibps() > 0) {
           workerPool.setDiskProvisionedThroughputMibps(
               (long) options.getDiskProvisionedThroughputMibps());
         }
   ```



##########
runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineWorkerPoolOptions.java:
##########
@@ -193,6 +193,20 @@ public String getAlgorithm() {
 
   void setWorkerDiskType(String value);
 
+  /** Provisioned IOPS for the worker disk. */
+  @Description("Provisioned IOPS for the worker disk.")
+  @Nullable
+  Integer getDiskProvisionedIops();
+
+  void setDiskProvisionedIops(Integer value);
+
+  /** Provisioned throughput in MiB/s for the worker disk. */
+  @Description("Provisioned throughput in MiB/s for the worker disk.")
+  @Nullable
+  Integer getDiskProvisionedThroughputMibps();
+
+  void setDiskProvisionedThroughputMibps(Integer value);

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   Consider using `Long` for throughput as well, for consistency and future-proofing.
   
   ```suggestion
     Long getDiskProvisionedThroughputMibps();
   
     void setDiskProvisionedThroughputMibps(Long value);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3127636344


##########
sdks/go/pkg/beam/runners/dataflow/dataflowlib/job.go:
##########
@@ -57,8 +57,10 @@ type JobOptions struct {
 	NoUsePublicIPs      bool
 	NumWorkers          int64
 	DiskSizeGb          int64
-	DiskType            string
-	MachineType         string
+	DiskType                       string
+	DiskProvisionedIops            int64
+	DiskProvisionedThroughputMibps int64
+	MachineType                    string

Review Comment:
   Thanks, Danny! I ran `got fmt` and the all format fixes have been applied :).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "gemini-code-assist[bot] (via GitHub)" <gi...@apache.org>.
gemini-code-assist[bot] commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3154741469


##########
CHANGES.md:
##########
@@ -68,6 +68,7 @@
 
 ## New Features / Improvements
 
+* Added support for setting disk provisioned IOPS and throughput in Dataflow runner via `--diskProvisionedIops` and `--diskProvisionedThroughputMibps` pipeline options (Java/Python/Go) ([#37377](https://github.com/apache/beam/issues/37377)).

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   The flag names listed here (`--diskProvisionedIops` and `--diskProvisionedThroughputMibps`) are only accurate for the Java SDK. In Python and Go, these pipeline options use snake_case: `--disk_provisioned_iops` and `--disk_provisioned_throughput_mibps`. Please update the description to be accurate for all supported languages.
   
   ```suggestion
   * Added support for setting disk provisioned IOPS and throughput in Dataflow runner (Java/Python/Go) ([#37377](https://github.com/apache/beam/issues/37377)).
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4307428941

   /gemini review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4296259429

   Reminder, please take a look at this pr: @damccorm @jrmccluskey @Abacn 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3154858198


##########
CHANGES.md:
##########
@@ -68,6 +68,7 @@
 
 ## New Features / Improvements
 
+* Added support for setting disk provisioned IOPS and throughput in Dataflow runner via `--diskProvisionedIops` and `--diskProvisionedThroughputMibps` pipeline options (Java/Python/Go) ([#37377](https://github.com/apache/beam/issues/37377)).

Review Comment:
   This is fine, it conveys the idea



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3150428175


##########
sdks/go.mod:
##########
@@ -25,12 +25,12 @@ go 1.26.0
 toolchain go1.26.2
 
 require (
-	cloud.google.com/go/bigquery v1.72.0
-	cloud.google.com/go/bigtable v1.41.0
-	cloud.google.com/go/datastore v1.21.0
+	cloud.google.com/go/bigquery v1.74.0
+	cloud.google.com/go/bigtable v1.42.0
+	cloud.google.com/go/datastore v1.22.0

Review Comment:
   Thanks, Danny! I updated the PR's title and description accordingly.
   
   I also updated the upcoming 2.74.0 release section in  https://github.com/apache/beam/blob/master/CHANGES.md  to include the pipeline options.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3150343163


##########
sdks/python/apache_beam/runners/dataflow/internal/clients/dataflow/dataflow_v1b3_messages.py:
##########
@@ -8047,11 +8062,3 @@ class WriteInstruction(_messages.Message):
     StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
 encoding.AddCustomJsonEnumMapping(
     StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsLocationsTemplatesLaunchRequest, 'dynamicTemplate_gcsPath', 'dynamicTemplate.gcsPath')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsLocationsTemplatesLaunchRequest, 'dynamicTemplate_stagingLocation', 'dynamicTemplate.stagingLocation')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsTemplatesLaunchRequest, 'dynamicTemplate_gcsPath', 'dynamicTemplate.gcsPath')
-encoding.AddCustomJsonFieldMapping(
-    DataflowProjectsTemplatesLaunchRequest, 'dynamicTemplate_stagingLocation', 'dynamicTemplate.stagingLocation')

Review Comment:
   Thanks a lot, Danny! I did a pull origin but the regenerating the gen_client causes these lines to be deleted for some reasons, so I reverted the changes!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm merged PR #37377:
URL: https://github.com/apache/beam/pull/37377


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "gemini-code-assist[bot] (via GitHub)" <gi...@apache.org>.
gemini-code-assist[bot] commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-3781128628

   ## Summary of Changes
   
   Hello @bambadiouf1, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
   
   This pull request enhances Google Cloud Dataflow's capabilities by allowing users to specify detailed performance characteristics for worker VM root disks. By introducing options for provisioned IOPS and throughput, it provides greater control over the underlying infrastructure, which can be crucial for optimizing the performance and cost-efficiency of data processing pipelines. This change is integrated across all supported SDKs, ensuring a consistent experience for developers.
   
   ### Highlights
   
   * **New Pipeline Options**: Introduced `DiskProvisionedIops` and `DiskProvisionedThroughputMibps` as new pipeline options for Google Cloud Dataflow.
   * **Cross-SDK Implementation**: These new options are implemented across the Python, Java, and Go SDKs, allowing users to specify provisioned performance for worker VM root disks regardless of the SDK used.
   * **Worker Disk Performance Control**: Users can now explicitly set the provisioned IOPS (Input/Output Operations Per Second) and throughput (in MiB/s) for Dataflow worker root disks, offering finer control over job performance.
   * **Comprehensive Testing**: New tests have been added for each SDK to ensure that these options are correctly parsed, translated, and applied to the Dataflow worker pool configuration.
   
   🧠 **New Feature in Public Preview:** You can now enable **Memory** to help **Gemini Code Assist** learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. **Click [here](https://codeassist.google/code-review/login) to enable Memory in your admin console.**
   
   
   
   
   
   
   
   <details>
   <summary><b>Using Gemini Code Assist</b></summary>
   <br>
   
   The full guide for Gemini Code Assist can be found on our [documentation page](https://developers.google.com/gemini-code-assist/docs/review-github-code), here are some quick tips.
   
   <b>Invoking Gemini</b>
   
   You can request assistance from Gemini at any point by creating a comment using either `/gemini <command>` or `@gemini-code-assist <command>`. Below is a summary of the supported commands on the current page.
   
   Feature | Command | Description
   --- | --- | ---
   Code Review | `/gemini review` | Performs a code review for the current pull request in its current state.
   Pull Request Summary | `/gemini summary` | Provides a summary of the current pull request in its current state.
   Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments.
   Help | `/gemini help` | Displays a list of available commands.
   
   <b>Customization</b>
   
   To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a `.gemini/` folder in the base of the repository. Detailed instructions can be found [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github).
   
   <b>Limitations & Feedback</b>
   
   Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with :thumbsup: and :thumbsdown: on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up [here](https://google.qualtrics.com/jfe/form/SV_2cyuGuTWsEw84yG).
   
   <b>You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the [Gemini Code Assist IDE Extension](https://cloud.google.com/products/gemini/code-assist).</b>
   </details>
   
   
   
   
   [^1]: Review the [Privacy Notices](https://policies.google.com/privacy), [Generative AI Prohibited Use Policy](https://policies.google.com/terms/generative-ai/use-policy), [Terms of Service](https://policies.google.com/terms), and learn how to configure Gemini Code Assist in GitHub [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). Gemini can make mistakes, so double check it and [use code with caution](https://support.google.com/legal/answer/13505487).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4300581789

   waiting on author


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4243886243

   /gemini review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3133414460


##########
sdks/go.mod:
##########
@@ -25,12 +25,12 @@ go 1.26.0
 toolchain go1.26.2
 
 require (
-	cloud.google.com/go/bigquery v1.72.0
-	cloud.google.com/go/bigtable v1.41.0
-	cloud.google.com/go/datastore v1.21.0
+	cloud.google.com/go/bigquery v1.74.0
+	cloud.google.com/go/bigtable v1.42.0
+	cloud.google.com/go/datastore v1.22.0

Review Comment:
   Do we need all these dependency changes? I think they're maybe responsible for precommit failures



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3079462008


##########
sdks/go/pkg/beam/runners/dataflow/dataflowlib/job.go:
##########
@@ -57,8 +57,10 @@ type JobOptions struct {
 	NoUsePublicIPs      bool
 	NumWorkers          int64
 	DiskSizeGb          int64
-	DiskType            string
-	MachineType         string
+	DiskType                       string
+	DiskProvisionedIops            int64
+	DiskProvisionedThroughputMibps int64
+	MachineType                    string

Review Comment:
   These don't look correctly formatted - could you please run `go fmt` to fix?



##########
sdks/go/pkg/beam/runners/dataflow/dataflow.go:
##########
@@ -61,9 +61,11 @@ var (
 	numWorkers             = flag.Int64("num_workers", 0, "Number of workers (optional).")
 	workerHarnessThreads   = flag.Int64("number_of_worker_harness_threads", 0, "The number of threads per each worker harness process (optional).")
 	maxNumWorkers          = flag.Int64("max_num_workers", 0, "Maximum number of workers during scaling (optional).")
-	diskSizeGb             = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
-	diskType               = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
-	autoscalingAlgorithm   = flag.String("autoscaling_algorithm", "", "Autoscaling mode to use (optional).")
+	diskSizeGb                     = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
+	diskType                       = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
+	diskProvisionedIops            = flag.Int64("disk_provisioned_iops", 0, "Provisioned IOPS for the worker disk (optional).")
+	diskProvisionedThroughputMibps = flag.Int64("disk_provisioned_throughput_mibps", 0, "Provisioned throughput in MiB/s for the worker disk (optional).")

Review Comment:
   I agree that I would've expected this to show up in https://github.com/apache/beam/blob/3f5ce80418be222c4243e2003041048041ae54e0/sdks/go/pkg/beam/runners/dataflow/dataflowlib/job.go#L188



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4339479769

   > Thanks! Retrying some precommits to try to get a green signal, but I will eventually merge (unless they continue to fail and seem to represent a real problem)
   
   Thanks a lot, Danny :)!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops/ThroughputMibps options and update Go client libraries [beam]

Posted by "jrmccluskey (via GitHub)" <gi...@apache.org>.
jrmccluskey commented on PR #37377:
URL: https://github.com/apache/beam/pull/37377#issuecomment-4344688579

   Hey, this PR actually breaks the Dataflow protos in python by changing field numbers for existing fields. Additionally, this is changing the internally generated python client that we're in the process of deprecating. I'd suggest reverting this PR and removing the Python-specific code 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "bambadiouf1 (via GitHub)" <gi...@apache.org>.
bambadiouf1 commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3127889142


##########
sdks/go/pkg/beam/runners/dataflow/dataflow.go:
##########
@@ -61,9 +61,11 @@ var (
 	numWorkers             = flag.Int64("num_workers", 0, "Number of workers (optional).")
 	workerHarnessThreads   = flag.Int64("number_of_worker_harness_threads", 0, "The number of threads per each worker harness process (optional).")
 	maxNumWorkers          = flag.Int64("max_num_workers", 0, "Maximum number of workers during scaling (optional).")
-	diskSizeGb             = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
-	diskType               = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
-	autoscalingAlgorithm   = flag.String("autoscaling_algorithm", "", "Autoscaling mode to use (optional).")
+	diskSizeGb                     = flag.Int64("disk_size_gb", 0, "Size of root disk for VMs, in GB (optional).")
+	diskType                       = flag.String("disk_type", "", "Type of root disk for VMs (optional).")
+	diskProvisionedIops            = flag.Int64("disk_provisioned_iops", 0, "Provisioned IOPS for the worker disk (optional).")
+	diskProvisionedThroughputMibps = flag.Int64("disk_provisioned_throughput_mibps", 0, "Provisioned throughput in MiB/s for the worker disk (optional).")

Review Comment:
   Thanks for catching that, Danny! I've added the IOPS and throughput fields to the WorkerPool. I also updated the `google.golang.org/api` dependency to the latest version, using ` go get google.golang.org/api@latest` so these fields are available. It seems like the other required dependencies were updated for compatibility as well.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Add DiskProvisionedIops and DiskProvisionedThroughputMibps pipeline options [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #37377:
URL: https://github.com/apache/beam/pull/37377#discussion_r3149966576


##########
sdks/go.mod:
##########
@@ -25,12 +25,12 @@ go 1.26.0
 toolchain go1.26.2
 
 require (
-	cloud.google.com/go/bigquery v1.72.0
-	cloud.google.com/go/bigtable v1.41.0
-	cloud.google.com/go/datastore v1.21.0
+	cloud.google.com/go/bigquery v1.74.0
+	cloud.google.com/go/bigtable v1.42.0
+	cloud.google.com/go/datastore v1.22.0

Review Comment:
   Ok - my guess is not everything got fully reverted since these shouldn't be needed for the change; with that said, the changes are fine/helpful and I see you fixed the fhir issue.
   
   Would you mind updating the PR title to `Add DiskProvisionedIops/ThroughputMibps options and updated Go client libraries` and then updating the description to mention this change?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org