diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2023-10-16 14:46:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-16 14:46:12 +0200 |
commit | eda5cf16272e7aa8d15bba47a45914df2ff00884 (patch) | |
tree | 2f11b402ba9fb90e51c49f1179cbf3c80032c94b | |
parent | ec5a429b24fba754c97c3759e0ae0bb466956c91 (diff) | |
parent | a378cd3677a50769320ded0b0f96989c6933a94a (diff) |
Merge pull request #28941 from vespa-engine/jonmv/discard-sequenced-tasks-if-not-run
Discard sequenced messages if task destroyed before run
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/Routable.java | 2 | ||||
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/Routable.java b/messagebus/src/main/java/com/yahoo/messagebus/Routable.java index 06d92c48dd3..a94541ac5f6 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/Routable.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/Routable.java @@ -10,7 +10,7 @@ import com.yahoo.text.Utf8String; * A routable can be regarded as a protocol-defined value with additional message bus related state. The state is what * differentiates two Routables that carry the same value. This includes the application context attached to the * routable and the {@link CallStack} used to track the path of the routable within messagebus. When a routable is - * copied (if the protocol supports it) only the value part is copied. The state must be explicitly transfered by + * copied (if the protocol supports it) only the value part is copied. The state must be explicitly transferred by * invoking the {@link #swapState(Routable)} method. That method is used to transfer the state from a message to the * corresponding reply, or to a different message if the application decides to replace it. * diff --git a/messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java b/messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java index 05e71e0f006..4e10a72c858 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java @@ -145,10 +145,10 @@ public class Sequencer implements MessageHandler, ReplyHandler { } private class SequencedSendTask implements Messenger.Task { - private final Message msg; + private Message msg; SequencedSendTask(Message msg) { this.msg = msg; } - @Override public void run() { sequencedSend(msg); } - @Override public void destroy() { } + @Override public void run() { sequencedSend(msg); msg = null; } + @Override public void destroy() { if (msg != null) msg.discard(); } } private void sendNextInSequence(long seqId) { |