Skip to content

docs: Document job management and interactive API protos#39294

Open
damccorm wants to merge 1 commit into
apache:masterfrom
damccorm:document-model-protos-job-mgmt
Open

docs: Document job management and interactive API protos#39294
damccorm wants to merge 1 commit into
apache:masterfrom
damccorm:document-model-protos-job-mgmt

Conversation

@damccorm

Copy link
Copy Markdown
Contributor

Description

Add documentation comments to previously undocumented messages, fields, and enums in the Beam job management and interactive API protos.

Files Changed

File Changes
beam_artifact_api.proto ArtifactRetrievalService, ArtifactStagingService, ArtifactRequestWrapper, ProxyManifest, PutArtifactMetadata
beam_expansion_api.proto ExpansionRequest/Response, DiscoverSchemaTransformRequest/Response, SchemaTransformConfig
beam_job_api.proto JobService, JobInfo, JobStateEvent, JobMessage, GetJobMetricsRequest/Response, MetricResults, PipelineOptionType
beam_interactive_api.proto TestStreamService, EventsRequest

Notes

  • All changes are comment-only — no code, field numbers, types, or options modified
  • This is part of a 3-PR set documenting all model protos

@codecov

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.70%. Comparing base (1ca1faf) to head (59b9ce1).
⚠️ Report is 521 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #39294      +/-   ##
============================================
- Coverage     58.73%   58.70%   -0.03%     
  Complexity     7418     7418              
============================================
  Files          1649     1649              
  Lines        212369   212787     +418     
  Branches       6330     6330              
============================================
+ Hits         124727   124925     +198     
- Misses        83095    83315     +220     
  Partials       4547     4547              
Flag Coverage Δ
python 79.71% <ø> (-0.18%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Add documentation comments to previously undocumented messages and fields
in the Beam job management and interactive API protos:

beam_artifact_api.proto: ArtifactRetrievalService, ArtifactStagingService,
  ArtifactRequestWrapper, ProxyManifest, PutArtifactMetadata, and more.
beam_expansion_api.proto: ExpansionRequest/Response,
  DiscoverSchemaTransformRequest/Response, SchemaTransformConfig.
beam_job_api.proto: JobService, JobInfo, JobStateEvent, JobMessage,
  GetJobMetricsRequest/Response, MetricResults, PipelineOptionType.
beam_interactive_api.proto: TestStreamService, EventsRequest.
@damccorm
damccorm force-pushed the document-model-protos-job-mgmt branch from 41b0d59 to 59b9ce1 Compare July 11, 2026 12:56
@damccorm
damccorm marked this pull request as ready for review July 21, 2026 17:49
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! 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 focuses on enhancing the maintainability and usability of the Apache Beam model APIs by adding detailed documentation to the job management and interactive API protocol buffer definitions. By providing context for various services, messages, and fields, this change facilitates easier integration and understanding for developers working with cross-language pipeline construction and job monitoring.

Highlights

  • Documentation Coverage: Added comprehensive documentation comments to previously undocumented messages, fields, and enums across Beam's job management and interactive API protocol buffers.
  • API Clarity: Improved developer experience by providing clear descriptions for service methods, request/response structures, and configuration metadata.
  • Non-Breaking Changes: All modifications are strictly limited to documentation comments, ensuring no impact on existing code, field numbers, types, or protocol options.
New Features

🧠 You can now enable Memory (public preview) 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 to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

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.

Customization

To customize the 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.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 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.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds documentation comments to various Protobuf files to clarify the purpose of services, messages, fields, and enums. The feedback suggests specifying the expected string format (e.g., RFC 3339) for the time field in JobMessage to ensure consistent parsing, and correcting the description of attempted metrics in MetricResults to accurately reflect that they represent cumulative values across all execution attempts (including retries) rather than just "non-committed" computations.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

message JobMessage {
// (Required) A unique identifier for this message.
string message_id = 1;
// (Required) The time at which the message was emitted, as a string representation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since the time field is a string rather than a structured google.protobuf.Timestamp, it is highly recommended to specify the expected string format (e.g., RFC 3339 / ISO 8601). This ensures that different SDK and runner implementations serialize and parse the timestamp consistently.

Suggested change
// (Required) The time at which the message was emitted, as a string representation.
// (Required) The time at which the message was emitted, formatted as an RFC 3339 string.


// All metrics for a given job. Runners may support one or the other or both.
message MetricResults {
// Metrics reflecting the result of attempted (non-committed) computations.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The comment describes attempted metrics as representing 'non-committed' computations. In Apache Beam, attempted metrics actually represent the cumulative values across all execution attempts (including both successful/committed attempts and any failed or retried attempts). They are not exclusively 'non-committed' computations. Describing them as such is misleading.

Suggested change
// Metrics reflecting the result of attempted (non-committed) computations.
// Metrics reflecting the cumulative values across all execution attempts, including retries.

@github-actions

Copy link
Copy Markdown
Contributor

Assigning reviewers:

R: @Abacn added as fallback since no labels match configuration

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).

@Abacn Abacn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants