summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2023-10-16 14:46:12 +0200
committerGitHub <noreply@github.com>2023-10-16 14:46:12 +0200
commiteda5cf16272e7aa8d15bba47a45914df2ff00884 (patch)
tree2f11b402ba9fb90e51c49f1179cbf3c80032c94b
parentec5a429b24fba754c97c3759e0ae0bb466956c91 (diff)
parenta378cd3677a50769320ded0b0f96989c6933a94a (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-xmessagebus/src/main/java/com/yahoo/messagebus/Routable.java2
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java6
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) {