-
Notifications
You must be signed in to change notification settings - Fork 833
fix(docstore/awsdynamodb): ensure Next returns EOF when no more items#3406
fix(docstore/awsdynamodb): ensure Next returns EOF when no more items#3406vangent merged 1 commit intogoogle:masterfrom
Conversation
Fixes #3405
Although I was unable to reproduce the panic, I added a preventive check for awsdynamodb here. This check returns io.EOF if there are no more items, which should prevent an index out of range panic when Next is called after it has already returned EOF once.
I also added a test case to verify this behavior. The test repeatedly calls Next until it gets io.EOF, then calls Next again to ensure it still returns io.EOF.
I also generated new replay files for awsdynamodb and gcpfirestore.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3406 +/- ## ========================================== - Coverage 73.13% 73.12% -0.01% ========================================== Files 113 113 Lines 14862 14864 +2 ========================================== Hits 10870 10870 - Misses 3218 3219 +1 - Partials 774 775 +1 View full report in Codecov by Sentry. |
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [gocloud.dev](https://redirect.github.com/google/go-cloud) | `v0.37.0`
-> `v0.39.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
google/go-cloud (gocloud.dev)
###
[`v0.39.0`](https://redirect.github.com/google/go-cloud/releases/tag/v0.39.0)
[Compare
Source](https://redirect.github.com/google/go-cloud/compare/v0.38.0...v0.39.0)
#### BREAKING CHANGE (AWS only, V1 vs V2 SDK)
Context: AWS has [announced maintenance
mode](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-go-v1-on-july-31-2025/)
for the Go V1 SDK.
Go CDK has changed the default SDK for URLs across all modules except
`docstore/awsdynamodb` to be V2 (previously you needed to add
`awssdk=v2` to the URL to get V2). Most URLs should continue to work,
but in some cases you may need to add `awssdk=v1` to force V1
explicitly.
Also, concrete type constructors (e.g., `OpenBucket`) for V1 (again,
except `docstore/awsdynamodb`) have been marked deprecated; please
migrate to using the V2 versions (e.g., `OpenBucketV2`).
Our tentative plan is to remove support for V1 in early 2025; please
[file a
bug](https://redirect.github.com/google/go-cloud/issues/new/choose) if
you have concerns about that.
#### What's Changed
- pubsub: Make batch request results independent by
[@mitsos1os](https://redirect.github.com/mitsos1os) in
[https://github.com/google/go-cloud/pull/3457](https://redirect.github.com/google/go-cloud/pull/3457)
- docstore/all: Add support for boolean filter by
[@ybourgery](https://redirect.github.com/ybourgery) in
[https://github.com/google/go-cloud/pull/3464](https://redirect.github.com/google/go-cloud/pull/3464)
- aws/all: Mark V1 constructors deprecated. by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3466](https://redirect.github.com/google/go-cloud/pull/3466)
- aws/all: Change the default for AWS URLs from V1 to V2. by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3465](https://redirect.github.com/google/go-cloud/pull/3465)
- all: update to go version 1.23 by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3467](https://redirect.github.com/google/go-cloud/pull/3467)
#### New Contributors
- [@mitsos1os](https://redirect.github.com/mitsos1os) made their
first contribution in
[https://github.com/google/go-cloud/pull/3457](https://redirect.github.com/google/go-cloud/pull/3457)
- [@dependabot](https://redirect.github.com/dependabot) made
their first contribution in
[https://github.com/google/go-cloud/pull/3448](https://redirect.github.com/google/go-cloud/pull/3448)
**Full Changelog**:
google/go-cloud@v0.38.0...v0.39.0
###
[`v0.38.0`](https://redirect.github.com/google/go-cloud/releases/tag/v0.38.0)
[Compare
Source](https://redirect.github.com/google/go-cloud/compare/v0.37.0...v0.38.0)
**blob**
- **all**: Fix panics if reader recreation fails after Seek by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3425](https://redirect.github.com/google/go-cloud/pull/3425)
- **all**: Convert errors in `Open()` into appropriate fs errors by
[@milescrabill](https://redirect.github.com/milescrabill) in
[https://github.com/google/go-cloud/pull/3443](https://redirect.github.com/google/go-cloud/pull/3443)
- **s3blob**: Fix Copy to work with keys that need escaping by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3403](https://redirect.github.com/google/go-cloud/pull/3403)
- **azureblob**: Do not panic if Content-Length and Content-Range are
missing by [@chancez](https://redirect.github.com/chancez) in
[https://github.com/google/go-cloud/pull/3445](https://redirect.github.com/google/go-cloud/pull/3445)
- **fileblob**: Allow customization of the FileMode by
[@vangent](https://redirect.github.com/vangent) in
[https://github.com/google/go-cloud/pull/3426](https://redirect.github.com/google/go-cloud/pull/3426)
**pubsub**
- **awssnssqs**: Add support for setting FIFO message metadata by
[@bartventer](https://redirect.github.com/bartventer) in
[https://github.com/google/go-cloud/pull/3435](https://redirect.github.com/google/go-cloud/pull/3435)
- **kafkapubsub**: Configuring key_name when OpenTopicURL by
[@ssetin](https://redirect.github.com/ssetin) in
[https://github.com/google/go-cloud/pull/3404](https://redirect.github.com/google/go-cloud/pull/3404)
- **rabbitpubsub**: Add query string set the qos prefetch count by
[@peczenyj](https://redirect.github.com/peczenyj) in
[https://github.com/google/go-cloud/pull/3431](https://redirect.github.com/google/go-cloud/pull/3431)
- **rabbitpubsub**: Add query string to set the routing key from
metadata by [@peczenyj](https://redirect.github.com/peczenyj) in
[https://github.com/google/go-cloud/pull/3433](https://redirect.github.com/google/go-cloud/pull/3433)
- **rabbitpubsub**: Wrap pubsub rabbitmq errors by
[@peczenyj](https://redirect.github.com/peczenyj) in
[https://github.com/google/go-cloud/pull/3437](https://redirect.github.com/google/go-cloud/pull/3437)
**docstore**
- **all**: Fix offset handling and extend test coverage by
[@bartventer](https://redirect.github.com/bartventer) in
[https://github.com/google/go-cloud/pull/3409](https://redirect.github.com/google/go-cloud/pull/3409)
- **awsdynamodb**: Ensure Next returns EOF when no more items by
[@bartventer](https://redirect.github.com/bartventer) in
[https://github.com/google/go-cloud/pull/3406](https://redirect.github.com/google/go-cloud/pull/3406)
- **mongodocstore**: Update Mongo dialer when MONGO_SERVER_URL rotates
by [@concaf](https://redirect.github.com/concaf) in
[https://github.com/google/go-cloud/pull/3429](https://redirect.github.com/google/go-cloud/pull/3429)
#### New Contributors
- [@ssetin](https://redirect.github.com/ssetin) made their first
contribution in
[https://github.com/google/go-cloud/pull/3404](https://redirect.github.com/google/go-cloud/pull/3404)
- [@concaf](https://redirect.github.com/concaf) made their first
contribution in
[https://github.com/google/go-cloud/pull/3429](https://redirect.github.com/google/go-cloud/pull/3429)
- [@peczenyj](https://redirect.github.com/peczenyj) made their
first contribution in
[https://github.com/google/go-cloud/pull/3431](https://redirect.github.com/google/go-cloud/pull/3431)
- [@chancez](https://redirect.github.com/chancez) made their
first contribution in
[https://github.com/google/go-cloud/pull/3445](https://redirect.github.com/google/go-cloud/pull/3445)
- [@milescrabill](https://redirect.github.com/milescrabill) made
their first contribution in
[https://github.com/google/go-cloud/pull/3443](https://redirect.github.com/google/go-cloud/pull/3443)
- [@samlaf](https://redirect.github.com/samlaf) made their first
contribution in
[https://github.com/google/go-cloud/pull/3450](https://redirect.github.com/google/go-cloud/pull/3450)
**Full Changelog**:
google/go-cloud@v0.37.0...v0.38.0
---
### Configuration
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
**Automerge**: Enabled.
**Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
**Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-feature/flagd).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>