Skip to content

Fix for concurrent exchanging on one client #230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 22, 2020

Conversation

Squiry
Copy link
Collaborator

@Squiry Squiry commented Jan 21, 2020

If we send requests fast enough client can mix frames of different queries. That leads to "Unknown portal" error (when one flow send Sync between others Bind and Execute) or "Source emitted more than one item" (when one flow send Sync between others Execute and Sync - its result will receive CommandComplete from both queries).
It can easely be fixed by changing concurrent subscribing to request Publishers to concatmapping them.
Should fix #207

@mp911de mp911de added this to the 0.8.1.RELEASE milestone Jan 22, 2020
@mp911de mp911de added the type: bug A general bug label Jan 22, 2020
mp911de added a commit that referenced this pull request Jan 22, 2020
Rename ResponseReceiver to Conversation to reflect how the driver works internally. Add Javadoc to outline conversation semantics and to explain the test assertions.

[#207][#230]
mp911de added a commit that referenced this pull request Jan 22, 2020
Reorder methods according to interface declaration. Add since tags.

[#230]
@mp911de mp911de merged commit 25aa528 into pgjdbc:master Jan 22, 2020
mp911de added a commit that referenced this pull request Jan 22, 2020
mp911de pushed a commit that referenced this pull request Jan 22, 2020
mp911de added a commit that referenced this pull request Jan 22, 2020
Rename ResponseReceiver to Conversation to reflect how the driver works internally. Add Javadoc to outline conversation semantics and to explain the test assertions.

[#207][#230]
mp911de added a commit that referenced this pull request Jan 22, 2020
Reorder methods according to interface declaration.

[#230]
@mp911de
Copy link
Collaborator

mp911de commented Jan 22, 2020

Thanks, that's merged, polished, and backported now. We needed to backport the issue to handle parse errors (f9d0d7f) to properly backport this change to 0.8.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A general bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rowsUpdated() returns more than one item.
2 participants