Copilot commented on code in PR #221:
URL: https://github.com/apache/fluss-rust/pull/221#discussion_r2737354265


##########
crates/fluss/src/rpc/server_connection.rs:
##########
@@ -385,9 +385,15 @@ where
         mut self: std::pin::Pin<&mut Self>,
         cx: &mut std::task::Context<'_>,
     ) -> Poll<Self::Output> {
-        match self.inner.as_mut().expect("no dropped").as_mut().poll(cx) {
+        let inner = self
+            .inner
+            .as_mut()
+            .expect("CancellationSafeFuture polled after completion");
+
+        match inner.as_mut().poll(cx) {
             Poll::Ready(res) => {
                 self.done = true;
+                self.inner = None; // Prevent re-polling

Review Comment:
   The PR title "chore: fix ci" and empty description don't adequately describe 
the actual code changes. This PR fixes a potential bug in the 
`CancellationSafeFuture` implementation by ensuring the inner future is cleared 
after completion and improving the error message. Consider updating the PR 
description to explain what CI failure this addresses and what the actual fix 
is.



##########
crates/fluss/src/rpc/server_connection.rs:
##########
@@ -385,9 +385,15 @@ where
         mut self: std::pin::Pin<&mut Self>,
         cx: &mut std::task::Context<'_>,
     ) -> Poll<Self::Output> {
-        match self.inner.as_mut().expect("no dropped").as_mut().poll(cx) {
+        let inner = self
+            .inner
+            .as_mut()
+            .expect("CancellationSafeFuture polled after completion");
+
+        match inner.as_mut().poll(cx) {
             Poll::Ready(res) => {
                 self.done = true;

Review Comment:
   The `done` field appears to be redundant after this change. Since 
`self.inner` is now set to `None` upon completion (line 396), the condition 
`self.inner.is_none()` is equivalent to `self.done == true`. Consider removing 
the `done` field and checking `self.inner.is_none()` instead, or document why 
both are needed.
   ```suggestion
   
   ```



-- 
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]

Reply via email to