Skip to content

[ErrorProne] Fix InvalidParam, InvalidInlineTag, InvalidBlockTag, and InvalidLink checks#37773

Draft
stankiewicz wants to merge 7 commits intoapache:masterfrom
stankiewicz:error_prone_InvalidCh
Draft

[ErrorProne] Fix InvalidParam, InvalidInlineTag, InvalidBlockTag, and InvalidLink checks#37773
stankiewicz wants to merge 7 commits intoapache:masterfrom
stankiewicz:error_prone_InvalidCh

Conversation

@stankiewicz
Copy link
Contributor

Handled all occurrence of these errors:

  • Addressed InvalidParam by matching parameter names in Javadoc with the actual method parameter names (e.g. messages instead of msg or inputHistogram instead of value).
  • Adjusted usages of invalid inline tags like {@see ...} to use the valid {@link ...} or corrected {@Class ...} to {@link ...}.
  • Resolved InvalidLink instances by providing correctly formatted references to class members such as {@link ElementExecution#IDLE} instead of #IDLE_EXECUTION and providing correct method signature usages.

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.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit 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
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

@gemini-code-assist
Copy link
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 primarily focuses on enhancing code quality and Javadoc consistency by addressing a range of ErrorProne issues. The changes involve disabling specific ErrorProne checks in the build configuration and then systematically correcting various Javadoc tags, parameter names, and linking conventions across the codebase. This effort aims to improve the readability and accuracy of documentation, making it easier for developers to understand and maintain the code.

Highlights

  • ErrorProne Checks Disabled: The ErrorProne checks for InvalidBlockTag, InvalidInlineTag, InvalidLink, and InvalidParam have been removed from the BeamModulePlugin.groovy configuration. This indicates a shift in how these specific Javadoc validation issues are handled, likely to allow for manual correction rather than automated flagging.
  • Javadoc Parameter Tag Corrections: Numerous instances of incorrect Javadoc parameter tags, such as {@param name} or (@param name), have been standardized to the correct {@code name} format across various files, improving Javadoc consistency and correctness.
  • Javadoc Link Tag Corrections: Incorrect Javadoc link tags, including {@see ...} and {@class ...}, have been updated to the proper {@link ...} format. This ensures that references to classes, methods, and fields within Javadoc comments are correctly resolved and displayed.
  • Javadoc Content Clarifications: Several Javadoc comments have been refined for clarity, including corrections to parameter names, removal of redundant annotations, and updates to descriptions of deprecated methods to point to their correct replacements.

🧠 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 to enable Memory in your admin console.

Changelog
  • buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
    • Removed InvalidBlockTag, InvalidInlineTag, InvalidLink, and InvalidParam from ErrorProne checks.
  • examples/java/webapis/src/main/java/org/apache/beam/examples/webapis/ImageRequest.java
    • Corrected Javadoc tag {@param url} to {@code url}.
  • it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/LoadTestBase.java
    • Corrected Javadoc tag {@class MetricsConfiguration} to {@link MetricsConfiguration} in two instances.
  • it/google-cloud-platform/src/test/java/org/apache/beam/it/gcp/storage/FileBasedIOLT.java
    • Corrected Javadoc tag {@class org.apache.beam.sdk.io.Compression} to {@link org.apache.beam.sdk.io.Compression}.
  • runners/core-java/src/main/java/org/apache/beam/runners/core/StatefulDoFnRunner.java
    • Shortened Javadoc reference to onTimer method.
  • runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTimerInternals.java
    • Updated Javadoc for deprecated deleteTimer methods to reference the correct new signature.
  • runners/flink/1.19/src/test/java/org/apache/beam/runners/flink/streaming/StreamSources.java
    • Corrected Javadoc comment from emitRecordAttributes to recordAttributes.
  • runners/flink/1.20/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
    • Updated Javadoc for deprecated deleteTimer methods to reference the correct new signature.
  • runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
    • Updated Javadoc for deprecated deleteTimer methods to reference the correct new signature.
  • runners/flink/2.0/src/test/java/org/apache/beam/runners/flink/streaming/StreamSources.java
    • Corrected Javadoc comment from emitRecordAttributes to recordAttributes.
  • runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
    • Updated Javadoc for deprecated deleteTimer methods to reference the correct new signature.
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java
    • Corrected Javadoc tags {@see IDLE} to {@link #IDLE} and {@see IDLE_EXECUTION} to {@link ElementExecution#IDLE}.
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java
    • Clarified Javadoc phrasing by removing {@code executionContext}.
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricsToPerStepNamespaceMetricsConverter.java
    • Corrected Javadoc parameter name from value to inputHistogram.
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkUnitClient.java
    • Corrected Javadoc parameter name from msg to messages.
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/client/AbstractWindmillStream.java
    • Corrected Javadoc reference from onNewStream() to onFlushPending(boolean).
  • runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/client/ResettableThrowingStreamObserver.java
    • Updated Javadoc to reflect changes in how delegates are reset and referenced.
  • runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactStagingService.java
    • Removed an unused Javadoc parameter index.
  • runners/prism/java/src/main/java/org/apache/beam/runners/prism/PrismExecutor.java
    • Corrected Javadoc tag {@param outputStream} to {@code outputStream} and {@param file} to {@code file}.
  • runners/prism/java/src/main/java/org/apache/beam/runners/prism/PrismPipelineResult.java
    • Corrected Javadoc tag {@param delegate} to {@code delegate} and {@param cancel} to {@code cancel}.
  • runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/ClassicBundleManager.java
    • Corrected Javadoc tag @inheritDoc to {@inheritDoc}.
  • runners/spark/3/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/helpers/EncoderHelpers.java
    • Corrected Javadoc parameter name from windows to window.
  • runners/spark/src/main/java/org/apache/beam/runners/spark/translation/GroupCombineFunctions.java
    • Corrected Javadoc tag @returns to @return.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileSystem.java
    • Corrected Javadoc parameter name from spec to specs in two instances.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileSystems.java
    • Corrected Javadoc parameter name from spec to specs in two instances.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/logicaltypes/UnknownLogicalType.java
    • Corrected Javadoc tag {@class FieldType.INT8} to {@code FieldType.INT8}.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java
    • Corrected Javadoc tag {@DoFn} to {@link DoFn}.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Flatten.java
    • Corrected Javadoc tag {@cpde PCollections} to {@code PCollection}s.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/JsonToRow.java
    • Corrected Javadoc tag {@Code PCollection<Row>} to {@code PCollection<Row>} and {@Code ParseResult} to {@code ParseResult}.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignature.java
    • Corrected Javadoc tag (@link Parameter} to {@link Parameter}.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/util/RowStringInterpolator.java
    • Removed unused imports for BoundedWindow and PaneInfo.
    • Updated Javadoc for interpolate method to reflect new signature.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/TransformUpgrader.java
    • Clarified Javadoc parameter description for bytes.
  • sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/UnknownCoderWrapper.java
    • Corrected Javadoc tag {@coder Coder} to {@code Coder}.
  • sdks/java/core/src/test/java/org/apache/beam/sdk/util/SerializableUtilsTest.java
    • Corrected Javadoc tag {@see SerializableUtilsTest#customClassLoader} to {@link SerializableUtilsTest#customClassLoader}.
  • sdks/java/expansion-service/src/main/java/org/apache/beam/sdk/expansion/service/ExpansionService.java
    • Corrected Javadoc tag {@ocde payload} to {@code payload}.
  • sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtil.java
    • Updated Javadoc for deprecated getObject method to reference the correct new signature.
  • sdks/java/extensions/ordered/src/main/java/org/apache/beam/sdk/extensions/ordered/OrderedProcessingHandler.java
    • Corrected Javadoc tag {@see OrderedProcessingGlobalSequenceHandler} to {@link OrderedProcessingGlobalSequenceHandler}.
  • sdks/java/extensions/ordered/src/test/java/org/apache/beam/sdk/extensions/ordered/OrderedEventProcessorTestBase.java
    • Removed unnecessary Javadoc annotations from @throws.
  • sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/catalog/CatalogManager.java
    • Updated Javadoc for registerTableProvider method to reflect the correct parameter signature.
  • sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/TestUtils.java
    • Corrected Javadoc tag @args to @param args.
  • sdks/java/extensions/timeseries/src/main/java/org/apache/beam/sdk/extensions/timeseries/FillGaps.java
    • Corrected Javadoc tag an {@link #keepNull()} to and {@code keepNull()}.
  • sdks/java/harness/src/main/java/org/apache/beam/fn/harness/SplittableSplitAndSizeRestrictionsDoFnRunner.java
    • Corrected Javadoc tag {@Code OutputReceiver<RestrictionT>} to {@code OutputReceiver<RestrictionT>}.
  • sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/kinesis/KinesisIO.java
    • Corrected Javadoc tag {@param watermarkIdleDurationThreshold} to {@code watermarkIdleDurationThreshold}.
  • sdks/java/io/cdap/src/main/java/org/apache/beam/sdk/io/cdap/ConfigWrapper.java
    • Corrected Javadoc tag {@param <T>} to {@code <T>}.
  • sdks/java/io/cdap/src/main/java/org/apache/beam/sdk/io/cdap/PluginConfigInstantiationUtils.java
    • Corrected Javadoc tag {@param configClass} to {@code configClass} and {@param params} to {@code params}.
  • sdks/java/io/cdap/src/test/java/org/apache/beam/sdk/io/cdap/CdapIOIT.java
    • Corrected Javadoc tag {@see ...} to {@link ...}.
  • sdks/java/io/elasticsearch/src/main/java/org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.java
    • Corrected Javadoc tag {@Code withApiToken()} to {@code withApiToken()} in multiple instances.
    • Corrected Javadoc tag {@param backendVersion} to {@code backendVersion}.
    • Corrected Javadoc tag {@param allowableResponseErrorTypes} to {@code allowableResponseErrorTypes}.
    • Corrected Javadoc tag {@param maxParallelRequests} to {@code maxParallelRequests}.
  • sdks/java/io/file-schema-transform/src/test/java/org/apache/beam/sdk/io/fileschematransform/FileReadSchemaTransformFormatProviderTest.java
    • Corrected Javadoc tag {@linke FileReadSchemaTransformFormatProviderTest} to {@link FileReadSchemaTransformFormatProviderTest}.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/AvroGenericRecordToStorageApiProto.java
    • Corrected Javadoc tag {@param changeSequenceNum} to {@code changeSequenceNum}.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BeamRowToStorageApiProto.java
    • Corrected Javadoc tag (@param changeSequenceNum) to ({@code changeSequenceNum}).
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryUtils.java
    • Corrected Javadoc parameter name from nestedFields to options.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/RowMutationInformation.java
    • Corrected Javadoc tag {@param sequenceNumber} to {@code sequenceNumber} in multiple instances.
    • Corrected Javadoc tag {@param changeSequenceNumber} to {@code changeSequenceNumber} in multiple instances.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/TableRowToStorageApiProto.java
    • Corrected Javadoc tag {@param changeSequenceNum} to {@code changeSequenceNum}.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubClient.java
    • Corrected Javadoc parameter name from attriutes to attributes.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubRowToMessage.java
    • Corrected Javadoc tag {@param payloadFieldType} to {@code payloadFieldType}.
    • Corrected Javadoc tag {@param fieldMatchers} to {@code fieldMatchers} in multiple instances.
    • Corrected Javadoc tag {@param additionalFields} to {@code additionalFields}.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubUnboundedSource.java
    • Corrected Javadoc parameter name from ockIds to ackIds.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/ReadSpannerSchema.java
    • Corrected Javadoc tag {@param allowedTableNames} to {@code allowedTableNames}.
  • sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/QueryChangeStreamAction.java
    • Corrected Javadoc parameter names for various record actions.
  • sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java
    • Corrected Javadoc tag @link{PartitionedGlobalWindow} to {@link PartitionedGlobalWindow}.
  • sdks/java/io/hbase/src/main/java/org/apache/beam/sdk/io/hbase/HBaseRowMutationsCoder.java
    • Removed unnecessary Javadoc annotations from @throws.
  • sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java
    • Corrected Javadoc tag {@param type} to {@code type}.
  • sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOIT.java
    • Corrected Javadoc tag {@param tableName} to {@code tableName}.
  • sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/ReadFromKafkaDoFn.java
    • Corrected Javadoc tag per-{@TopicPartition} to per-{@link TopicPartition}.
  • sdks/java/io/kafka/src/test/java/org/apache/beam/sdk/io/kafka/KafkaIOIT.java
    • Corrected Javadoc tag {@see ...} to {@link ...}.
  • sdks/java/io/rabbitmq/src/test/java/org/apache/beam/sdk/io/rabbitmq/ExchangeTestPlan.java
    • Corrected Javadoc parameter name from numRecordsRead to maxRecordsRead.
  • sdks/java/io/singlestore/src/main/java/org/apache/beam/sdk/io/singlestore/SingleStoreIO.java
    • Corrected Javadoc tag {@link <a href="...">...</a>} to <a href="...">...</a>.
  • sdks/java/io/sparkreceiver/3/src/test/java/org/apache/beam/sdk/io/sparkreceiver/SparkReceiverIOIT.java
    • Corrected Javadoc tag {@see ...} to See <a href="...">...</a>.
Activity
  • No human activity has been recorded on this pull request yet.
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 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 counter productive. 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.

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.

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.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

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

@stankiewicz stankiewicz force-pushed the error_prone_InvalidCh branch 2 times, most recently from 10bef05 to 1a8ddd8 Compare March 5, 2026 11:34
@stankiewicz stankiewicz marked this pull request as draft March 5, 2026 12:44
@stankiewicz
Copy link
Contributor Author

this is confusing, locally those checks are not appearing, but they should.

@stankiewicz stankiewicz force-pushed the error_prone_InvalidCh branch from 1a8ddd8 to 5019232 Compare March 5, 2026 16:59
@stankiewicz
Copy link
Contributor Author

interesting, I see errors when running with java11 but not with latest

@stankiewicz
Copy link
Contributor Author

Run Java_Amazon-Web-Services2_IO_Direct PreCommit

@stankiewicz
Copy link
Contributor Author

Run Java PreCommit

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.

1 participant