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

Reply via email to