[
https://issues.apache.org/jira/browse/IGNITE-20874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladislav Pyatkov updated IGNITE-20874:
---------------------------------------
Description:
h3. Motivation
In the final stage, an RW transaction sends cleanup messages to all enlisted
replication groups in the transaction. Although several of these groups might
be in the same node, the nodes would be notified several times. Besides, a
release lock procedure makes sense only once for a specific transaction on the
node.
h3. Definition of done
Implement a node-wide cleanup. This procedure should be triggered by a direct
message to a particular node and release all locks for a specific transaction
synchronously (before response). The request also triggers replication cleanup,
which fixes all write intents for the specific transaction.
h3. Implementation notes
* Add a new message that ought to be named LockReleaseMessage.
* The new message has a pure network nature (not a replication request).
* The message should contain a list of replication groups (the list might be
empty) and a transaction ID.
* When the message is received, it should release all locks that are held by
the transaction. Then update the lock transation state map and start the
cleanup process over all replication groups in the list and immediately reply
(do not wait for cleanup on replication groups).
was:
h3. Motivation
In the final stage, an RW transaction sends cleanup messages to all enlisted
replication groups in the transaction. Although several of these groups might
be in the same node, the nodes would be notified several times. Besides, a
release lock procedure makes sense only once for a specific transaction on the
node.
h3. Definition of done
Implement a node-wide cleanup. This procedure should be triggered by a direct
message to a particular node and release all locks for a specific transaction
synchronously (before response). The request also triggers replication cleanup,
which fixes all write intents for the specific transaction.
h3. Implementation notes
* Add a new message that ought to be named LockReleaseMessage.
* The new message has a pure network nature (not a replication request).
* The message should contain a list of replication groups (the list might be
empty) and a transaction ID.
* When the message is received, it should release all locks that are held by
the transaction. Then update the lock transation state map and start the
cleanup process over all replication groups in the list and immediately reply
(do not wait for cleanup on replication groopups).
> Node cleanup procedure
> ----------------------
>
> Key: IGNITE-20874
> URL: https://issues.apache.org/jira/browse/IGNITE-20874
> Project: Ignite
> Issue Type: Improvement
> Reporter: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> In the final stage, an RW transaction sends cleanup messages to all enlisted
> replication groups in the transaction. Although several of these groups might
> be in the same node, the nodes would be notified several times. Besides, a
> release lock procedure makes sense only once for a specific transaction on
> the node.
> h3. Definition of done
> Implement a node-wide cleanup. This procedure should be triggered by a direct
> message to a particular node and release all locks for a specific transaction
> synchronously (before response). The request also triggers replication
> cleanup, which fixes all write intents for the specific transaction.
> h3. Implementation notes
> * Add a new message that ought to be named LockReleaseMessage.
> * The new message has a pure network nature (not a replication request).
> * The message should contain a list of replication groups (the list might be
> empty) and a transaction ID.
> * When the message is received, it should release all locks that are held by
> the transaction. Then update the lock transation state map and start the
> cleanup process over all replication groups in the list and immediately reply
> (do not wait for cleanup on replication groups).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)