Skip to content

fix(deps): require http2 3.2.0 for larger HTTP/2 receive windows - #344

Draft
demolaf wants to merge 1 commit into
mainfrom
fix/http2-receive-windows
Draft

demolaf wants to merge 1 commit into
mainfrom
fix/http2-receive-windows

Conversation

@demolaf

@demolaf demolaf commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Closes #333.

Requires http2 3.2.0, whose Http2Client raises the HTTP/2 receive windows from 64 KiB to 4 MiB per stream and 16 MiB per connection, fixing the slowdown under concurrent load since google_cloud_firestore 0.5.5.

Changes

@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 upgrades the http2 dependency from ^3.1.0 to ^3.2.0 in both firebase_admin_sdk and google_cloud_firestore to resolve performance throttling under concurrent load, and adds a temporary dependency override pointing to the http2 git repository. The feedback points out that comments in http2_client.dart and firestore_http_client.dart still reference the old ^3.1.0 pin and should be updated to ^3.2.0 for consistency.

googleapis_auth: ^2.3.3
http: ^1.6.0
http2: ^3.1.0
http2: ^3.2.0

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 in packages/firebase_admin_sdk/lib/src/app/http2_client.dart at line 15 still references the old ^3.1.0 pin:

// `Http2Client` is `@experimental` upstream; the `^3.1.0` pin bounds the risk.

Please update that comment to reference ^3.2.0 to keep the documentation in sync with the actual dependency version.

googleapis_auth: ^2.3.3
http: ^1.6.0
http2: ^3.1.0
http2: ^3.2.0

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 in packages/google_cloud_firestore/lib/src/firestore_http_client.dart at line 15 still references the old ^3.1.0 pin:

// `Http2Client` is `@experimental` upstream; the `^3.1.0` pin bounds the risk.

Please update that comment to reference ^3.2.0 to keep the documentation in sync with the actual dependency version.

@github-actions

Copy link
Copy Markdown

Coverage Report

✅ Coverage 79.91% meets 40% threshold

Total Coverage: 79.91%
Lines Covered: 6652/8324

Package Breakdown

Package Coverage
firebase_admin_sdk 74.18%
google_cloud_firestore 84.86%

Minimum threshold: 40%

This branch has not been deployed

No deployments
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.

google_cloud_firestore 0.5.5: ~2× higher latency under concurrent load after switch to a shared HTTP/2 connection

1 participant