Repository navigation
Conversation
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
Coverage Report✅ Coverage 79.91% meets 40% threshold Total Coverage: 79.91% Package Breakdown
Minimum threshold: 40% |
Closes #333.
Requires
http23.2.0, whoseHttp2Clientraises the HTTP/2 receive windows from 64 KiB to 4 MiB per stream and 16 MiB per connection, fixing the slowdown under concurrent load sincegoogle_cloud_firestore0.5.5.Changes
http2to^3.2.0ingoogle_cloud_firestoreandfirebase_admin_sdk, with CHANGELOG entries.http2in the workspace root to fix(http2): Http2Client applies response-body backpressure to the HTTP/2 stream and uses 4 MiB / 16 MiB receive windows dart-lang/http#2029 until 3.2.0 is published. Draft until then, since the package cannot be published with the override in place.