Skip to content

Fixed Session#reset() #418

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 4 commits into from
Oct 17, 2017
Merged

Fixed Session#reset() #418

merged 4 commits into from
Oct 17, 2017

Conversation

lutovich
Copy link
Contributor

It got broken after moving all blocking APIs to use async ones underneath.

This commit makes session send RESET message on the active connection and move existing transaction to TERMINATED state. Transactions in this state will disallow running new queries and committing. All existing tests for Session#reset() are now un-ignored and couple new unit tests are added.

Based on #417

It's needed because RESET makes server terminate all running messages
and then moves state machine to idle READY state. That's why it does
not expect clients to ACK_FAILURE for terminated messages. Absence of
this muting caused server to sometimes fail saying: "ACK_FAILURE cannot
be handled by a session in the READY state".

Also removed some unused blocking API classes and better naming for
connection methods.
It got broken after moving all blocking APIs to use async ones underneath.

This commit makes session send RESET message on the active connection and
move existing transaction to TERMINATED state. Transactions in this state
will disallow running new queries and committing. All existing tests for
`Session#reset()` are now un-ignored and couple new unit tests are added.
Main those that do flushing. Now it's handled by netty channels.
@lutovich lutovich merged commit 9c0f8f5 into neo4j:1.5 Oct 17, 2017
@lutovich lutovich deleted the 1.5-session-reset branch October 17, 2017 08:15
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.

1 participant