Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(docstore/awsdynamodb): ensure Next returns EOF when no more items#3406

Merged
vangent merged 1 commit intogoogle:masterfrom
bartventer:master
Mar 21, 2024
Merged

fix(docstore/awsdynamodb): ensure Next returns EOF when no more items#3406
vangent merged 1 commit intogoogle:masterfrom
bartventer:master

Conversation

Copy link
Contributor

bartventer commented Mar 21, 2024

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.

bartventer mentioned this pull request Mar 21, 2024
Copy link

codecov bot commented Mar 21, 2024

Codecov Report

Attention: Patch coverage is 0% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 73.12%. Comparing base (1f3e996) to head (daa25e8).

Files Patch % Lines
docstore/awsdynamodb/query.go 0.00% 1 Missing and 1 partial
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.
Have feedback on the report? Share it here.

vangent approved these changes Mar 21, 2024
vangent merged commit c3b220a into google:master Mar 21, 2024
renovate bot referenced this pull request in open-feature/flagd Sep 11, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [gocloud.dev](https://redirect.github.com/google/go-cloud) | `v0.37.0`
-> `v0.39.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/gocloud.dev/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/gocloud.dev/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/gocloud.dev/v0.37.0/v0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/gocloud.dev/v0.37.0/v0.39.0?slim=true)](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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

vangent vangent approved these changes

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

docstore/awsdynamodb panics on iter.Next()

2 participants