Skip to content

Conversation

@bhshkh
Copy link
Contributor

@bhshkh bhshkh commented Jan 15, 2026

The wording is a combination of

// Sets a best-effort deadline on a specific job. If job execution exceeds this
// timeout, BigQuery may attempt to cancel this work automatically.
//
// This deadline cannot be adjusted or removed once the job is created. Consider
// using Job.Cancel in situations where you need more dynamic behavior.
//
// Experimental: this option is experimental and may be modified or removed in future versions,
// regardless of any other documented package stability guarantees.
JobTimeout time.Duration
and https://github.com/googleapis/python-firestore/pull/1155/files

google-labs-jules bot and others added 5 commits January 15, 2026 16:52
- Capture ExecutionTime from ExecutePipelineResponse in streamPipelineResultIterator.
- Expose ExecutionTime() on PipelineSnapshot.
- Add validation that ExecutionTime is only available after iteration.
- Add ExecutePipeline support to mockServer.
- Add unit tests.
- Update PipelineResult creation to use accumulated executionTime.
- Capture ExecutionTime from ExecutePipelineResponse in streamPipelineResultIterator.
- Expose ExecutionTime() on PipelineSnapshot returning *time.Time.
- Add validation that ExecutionTime is only available after iteration.
- Add ExecutePipeline support to mockServer.
- Add unit tests.
- Update PipelineResult creation to use accumulated executionTime.
Add experimental warnings to all exported types and functions related to the new Firestore Pipeline API. The warning explicitly states that the feature is in preview and subject to breaking changes. This aligns with other languages and standard Go conventions.
…3759311270774125

feat(firestore): add experimental warning to pipeline API
@bhshkh bhshkh requested review from a team as code owners January 15, 2026 20:32
@product-auto-label product-auto-label bot added the api: firestore Issues related to the Firestore API. label Jan 15, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @bhshkh, 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 formalizes the experimental status of the Firestore Pipeline API by adding explicit warnings to its public surface area. This ensures developers are aware that the API is in preview and may undergo future breaking changes. Concurrently, it enhances the API's utility by exposing the execution time of pipeline queries and bolsters the testing infrastructure with mock server support and dedicated tests for this new feature.

Highlights

  • Experimental API Warning: Added a consistent "Experimental" warning to all public-facing types, interfaces, functions, and methods within the Firestore Pipeline API, clearly indicating its preview status and potential for breaking changes.
  • Pipeline Execution Time: Introduced functionality to retrieve the execution time of a pipeline query via the PipelineSnapshot.ExecutionTime() method.
  • Mock Server Enhancements: Updated the mock server to support the ExecutePipeline gRPC method, enabling comprehensive testing of pipeline execution.
  • New Test Coverage: Added new unit tests specifically for verifying the ExecutionTime functionality of pipeline snapshots.

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

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.

Copy link
Contributor

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

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 an "Experimental" warning to the public API surface of Firestore Pipelines, indicating that it's a preview feature subject to breaking changes. This is a widespread change, adding comments to numerous functions and types across multiple files. Additionally, it introduces a new ExecutionTime() method on PipelineSnapshot to retrieve the execution time of the pipeline, which is available after the result iterator is fully consumed. The implementation for ExecutionTime is robust, correctly handling streaming responses and includes comprehensive tests to verify its behavior, including edge cases. The changes are well-executed and improve user awareness of the API's stability and add useful metadata to the pipeline results.

bhshkh and others added 2 commits January 16, 2026 02:08
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@bhshkh bhshkh enabled auto-merge (squash) January 15, 2026 21:02
@bhshkh bhshkh added kokoro:force-run Add this label to force Kokoro to re-run the tests. kokoro:run Add this label to force Kokoro to re-run the tests. labels Jan 15, 2026
@bhshkh bhshkh changed the title feat(firestore): add experimental warning to pipeline API feat(firestore): [PQ] add experimental warning to pipeline API Jan 15, 2026
@kokoro-team kokoro-team removed kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Jan 15, 2026
Copy link
Contributor

@daniel-sanche daniel-sanche left a comment

Choose a reason for hiding this comment

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

LGTM

return nil, errors.New("firestore: PipelineResultIterator is nil")
}
if ps.iter.err == nil || ps.iter.err != iterator.Done {
if ps.iter.err != iterator.Done {
Copy link
Contributor

Choose a reason for hiding this comment

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

Was this intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. It is from gemini code review above.

@bhshkh bhshkh merged commit 6b59162 into googleapis:main Jan 15, 2026
10 checks passed
@bhshkh bhshkh deleted the fspq-experimental branch January 15, 2026 21:37
bhshkh added a commit that referenced this pull request Jan 15, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:d2dee66d7c8c1d673fac26280164ea24015b79491b7f9d6ba369e6a98ab3420c
<details><summary>firestore: 1.21.0</summary>

##
[1.21.0](firestore/v1.20.0...firestore/v1.21.0)
(2026-01-15)

### Features

* publish the pipelines API to the stable branch (PiperOrigin-RevId:
840829013)
([21c9dbf](21c9dbfb))

* Add ExecutionTime to PipelineSnapshot (#13620)
([633a3ae](633a3ae5))

* add experimental warning to pipeline API (#13621)
([6b59162](6b59162f))

### Documentation

* minor api documentation changes (PiperOrigin-RevId: 840398028)
([21c9dbf](21c9dbfb))

</details>
Copy link

@thepointer1982 thepointer1982 left a comment

Choose a reason for hiding this comment

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

T

krishnamd-jkp pushed a commit that referenced this pull request Jan 28, 2026
The wording is a combination of
https://github.com/googleapis/google-cloud-go/blob/6752a496e756c214faf345c302b58ed7593c6017/bigquery/extract.go#L51-L59
and https://github.com/googleapis/python-firestore/pull/1155/files

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
krishnamd-jkp pushed a commit that referenced this pull request Jan 28, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:d2dee66d7c8c1d673fac26280164ea24015b79491b7f9d6ba369e6a98ab3420c
<details><summary>firestore: 1.21.0</summary>

##
[1.21.0](firestore/v1.20.0...firestore/v1.21.0)
(2026-01-15)

### Features

* publish the pipelines API to the stable branch (PiperOrigin-RevId:
840829013)
([21c9dbf](21c9dbfb))

* Add ExecutionTime to PipelineSnapshot (#13620)
([633a3ae](633a3ae5))

* add experimental warning to pipeline API (#13621)
([6b59162](6b59162f))

### Documentation

* minor api documentation changes (PiperOrigin-RevId: 840398028)
([21c9dbf](21c9dbfb))

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

Labels

api: firestore Issues related to the Firestore API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants