This is an automated email from the ASF dual-hosted git repository.
rexxiong pushed a commit to branch branch-0.6
in repository https://gitbox.apache.org/repos/asf/celeborn.git
The following commit(s) were added to refs/heads/branch-0.6 by this push:
new 7613a7c3c [CELEBORN-2180] Fix Invalid RequestId during
RegisterApplicationInfo
7613a7c3c is described below
commit 7613a7c3c599f2d7815e0b741102c0121cc5ba19
Author: JuniverseCoder <[email protected]>
AuthorDate: Mon Oct 20 13:40:07 2025 +0800
[CELEBORN-2180] Fix Invalid RequestId during RegisterApplicationInfo
### What changes were proposed in this pull request?
This PR addresses a critical bug in the deserialization logic for the
RegisterApplicationInfo message.
The change involves modifying the fromPb method in ControlMessages.scala
to correctly extract the requestId from the incoming Protobuf message.
Previously, this field was ignored, leading to an invalid nil UUID on the
server side.
### Why are the changes needed?
In an HA (High Availability) deployment, all state-modifying requests must
have a valid RequestId to be processed by the Raft consensus protocol for
idempotency.
Because the RequestId was not being deserialized, the HARaftServer would
reject the RegisterApplicationInfo request with an Invalid RequestId error.
This prevented clients from successfully registering their applications,
rendering the cluster unusable for them. This fix ensures the RequestId is
preserved, allowing applications to register correctly in HA mode.
### Does this PR introduce any user-facing change?
No. This is a server-side bug fix that corrects behavior to be in line
with expectations.
### How was this patch tested?
The fix was validated by manually reproducing the issue and confirming
that with the patch applied, the RequestId ... invalid error is resolved and
applications can register successfully in an HA cluster.
Closes #3512 from JuniverseCoder/fix-requestid-deserialization.
Authored-by: JuniverseCoder <[email protected]>
Signed-off-by: Shuang <[email protected]>
---
.../org/apache/celeborn/common/protocol/message/ControlMessages.scala | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/common/src/main/scala/org/apache/celeborn/common/protocol/message/ControlMessages.scala
b/common/src/main/scala/org/apache/celeborn/common/protocol/message/ControlMessages.scala
index f136616da..ab77ebefe 100644
---
a/common/src/main/scala/org/apache/celeborn/common/protocol/message/ControlMessages.scala
+++
b/common/src/main/scala/org/apache/celeborn/common/protocol/message/ControlMessages.scala
@@ -1563,7 +1563,8 @@ object ControlMessages extends Logging {
RegisterApplicationInfo(
pbRegisterApplicationInfo.getAppId,
PbSerDeUtils.fromPbUserIdentifier(pbRegisterApplicationInfo.getUserIdentifier),
- pbRegisterApplicationInfo.getExtraInfoMap)
+ pbRegisterApplicationInfo.getExtraInfoMap,
+ pbRegisterApplicationInfo.getRequestId)
}
}
}