Skip to content

feat(firestore): add support for request tags - #14024

Open
rahulmane-goog wants to merge 3 commits into
googleapis:mainfrom
rahulmane-goog:feat-firestore-request-tags
Open

feat(firestore): add support for request tags#14024
rahulmane-goog wants to merge 3 commits into
googleapis:mainfrom
rahulmane-goog:feat-firestore-request-tags

Conversation

@rahulmane-goog

@rahulmane-goog rahulmane-goog commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

This PR introduces sending request tags for different firestore requests. The tags can be passed using 2 mechanisms:

  1. Instance Level tags.
  2. Request Level tags.
  • RequestOptions is the proto (com.google.firestore.v1.RequestOptions) and model (com.google.cloud.firestore.models.RequestOptions) that holds all the instance- and request-level tags and is a part of all request protos.
  • FirestoreOptions allows the ability to set the instance level tags using setRequestTags. Any operation executed via this Firestore client automatically includes these global request tags in the outbound RPC request payload.
  • RequestOptionsHelper is an internal utility that combines instance-level tags from FirestoreOptions with any request-level RequestOptions message before building the wire request.
  • FirestoreExecutionOptions is a holder object for different execution options like ExplainOptions and RequestOptions.
  • Overloaded versions for taking in FirestoreExecutionOptions for each of the following operations:
    • get (DocumentReference)
    • getAll (Firestore, Transaction)
    • create (DocumentReference, Transaction)
    • set (DocumentReference, Transaction)
    • update (DocumentReference, Transaction)
    • delete (DocumentReference, Transaction)
    • listCollections (Firestore, DocumentReference)
    • listDocuments (CollectionReference)
    • getPartitions (CollectionGroup)
    • runTransaction / runAsyncTransaction (Firestore)
    • beginTransaction (Transaction)
    • commit (Transaction, WriteBatch, UpdateBuilder)
    • rollback (Transaction)
    • runQuery (get, explain, stream on Query, StreamableQuery, VectorQuery)
    • runAggregationQuery (get, explain on AggregateQuery)
    • executePipeline (Pipeline, Transaction)
    • batchWrite (BulkWriter / BulkCommitBatch)
  • Each of these overloaded versions copies the request tags into the corresponding request protos.

@rahulmane-goog
rahulmane-goog requested review from a team as code owners August 10, 2026 09:25
@snippet-bot

snippet-bot Bot commented Aug 10, 2026

Copy link
Copy Markdown

No region tags are edited in this PR.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

@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 introduces several updates across multiple Google Cloud Java client libraries. In the AI Platform library, it adds support for the ExaAiSearch tool to enable grounding via the Exa.ai search engine. In the Google Chat library, it introduces the SearchMessages API along with its associated request/response types, stubs, tests, and samples, while also updating SearchSpacesResponse to use a new results field. In the Commerce Producer library, it adds AdditionalContractValue to PrivateOffer to track out-of-band spend obligations. Finally, in the Compute Engine library, it introduces new HostsClient and ReliabilityRisksClient services, and adds a no_graceful_shutdown option to instance deletion and stop requests. There are no review comments to address, and I have no additional feedback to provide.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants