imbajin commented on code in PR #357:
URL:
https://github.com/apache/hugegraph-computer/pull/357#discussion_r3682310278
##########
computer/computer-core/src/main/java/org/apache/hugegraph/computer/core/sender/QueuedMessage.java:
##########
@@ -26,11 +27,18 @@ public class QueuedMessage {
private final int partitionId;
private final MessageType type;
private final ByteBuffer buffer;
+ private final CompletableFuture<Void> controlFuture;
public QueuedMessage(int partitionId, MessageType type, ByteBuffer buffer)
{
+ this(partitionId, type, buffer, null);
+ }
+
+ public QueuedMessage(int partitionId, MessageType type, ByteBuffer buffer,
Review Comment:
⚠️ This public constructor exposes a control-message path that cannot
complete. A caller can create START/FINISH with a `controlFuture` and pass it
to the existing public `send(int, QueuedMessage)`, but that overload only
enqueues the message and never registers the future in `controlFutureRef`;
`sendStartMessage()`/`sendFinishMessage()` then see it as not in flight, return
without sending, and the future remains pending forever. Please keep this
constructor/accessor package-private if they are internal implementation
details, or make the queued-message overload register (or explicitly reject and
fail) control messages, with a regression covering that public call path.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]