JuniverseCoder opened a new pull request, #3512:
URL: https://github.com/apache/celeborn/pull/3512
### 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.
--
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]