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)
     }
   }
 }

Reply via email to