Skip to content

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