This is an automated email from the ASF dual-hosted git repository.
rexxiong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/celeborn.git
The following commit(s) were added to refs/heads/main by this push:
new 07a3df936 [CELEBORN-2180] Fix Invalid RequestId during
RegisterApplicationInfo
07a3df936 is described below
commit 07a3df93647b89a2a648cce0171e81819cc30808
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]>
(cherry picked from commit 7613a7c3c599f2d7815e0b741102c0121cc5ba19)
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 9d7927021..eb9274632 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
@@ -1514,7 +1514,8 @@ object ControlMessages extends Logging {
RegisterApplicationInfo(
pbRegisterApplicationInfo.getAppId,
PbSerDeUtils.fromPbUserIdentifier(pbRegisterApplicationInfo.getUserIdentifier),
- pbRegisterApplicationInfo.getExtraInfoMap)
+ pbRegisterApplicationInfo.getExtraInfoMap,
+ pbRegisterApplicationInfo.getRequestId)
}
}
}