pan3793 commented on code in PR #5514:
URL: https://github.com/apache/kyuubi/pull/5514#discussion_r1371230747


##########
kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/BatchesResource.scala:
##########
@@ -477,16 +477,16 @@ private[v1] class BatchesResource extends 
ApiRequestContext with Logging {
         checkPermission(userName, metadata.username)
         if 
(OperationState.isTerminal(OperationState.withName(metadata.state))) {
           new CloseBatchResponse(false, s"The batch[$metadata] has been 
terminated.")
-        } else if (batchV2Enabled(metadata.requestConf) && metadata.state == 
"INITIALIZED") {
-          if (batchService.get.cancelUnscheduledBatch(batchId)) {
-            new CloseBatchResponse(true, s"Unscheduled batch $batchId is 
canceled.")
-          } else if 
(OperationState.isTerminal(OperationState.withName(metadata.state))) {
-            new CloseBatchResponse(false, s"The batch[$metadata] has been 
terminated.")
-          } else {
-            info(s"Cancel batch[$batchId] with state ${metadata.state} by 
killing application")
-            val (killed, msg) = forceKill(metadata.appMgrInfo, batchId, 
userName)
-            new CloseBatchResponse(killed, msg)
-          }
+        } else if (batchV2Enabled(metadata.requestConf) && metadata.state == 
"INITIALIZED" &&
+          // Since this code does not retrieve metadata to check,
+          // the metadata may be outdated, which means that the 
cancelUnscheduledBatch function
+          // here will not necessarily succeed
+          batchService.get.cancelUnscheduledBatch(batchId)) {
+          new CloseBatchResponse(true, s"Unscheduled batch $batchId is 
canceled.")
+        } else if (metadata.kyuubiInstance == null) {
+          // Again, we may arrive here with an empty kyuubiInstance field 
because the metadata
+          // may be out of date, so let's call the method again here to 
refresh the metadata

Review Comment:
   ```suggestion
             // code goes here indicates metadata is outdated, recursively 
calls itself to
             // refresh the metadata
   ```



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to