This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 056c5efbe [KYUUBI #4986] Always use Files#deleteIfExists
056c5efbe is described below

commit 056c5efbe404a42c0993176dfd95da3e8cf4619e
Author: Cheng Pan <[email protected]>
AuthorDate: Wed Jun 21 00:17:01 2023 +0800

    [KYUUBI #4986] Always use Files#deleteIfExists
    
    ### _Why are the changes needed?_
    
    Always use `Files#deleteIfExists` to replace `Files#delete` to suppress the 
stacktrace like
    
    ```
    17:14:47.167 ERROR org.apache.kyuubi.operation.BatchJobSubmission: Failed 
to remove corresponding log file of operation: 
/Users/chengpan/Projects/apache-kyuubi/server_operation_logs/9a96f19d-93a9-474c-b170-f957ed82c502/3fe99873-134b-4307-a286-94494ae847f2
    java.io.IOException: Failed to remove corresponding log file of operation: 
/Users/chengpan/Projects/apache-kyuubi/server_operation_logs/9a96f19d-93a9-474c-b170-f957ed82c502/3fe99873-134b-4307-a286-94494ae847f2
            at 
org.apache.kyuubi.operation.log.OperationLog.trySafely(OperationLog.scala:272) 
~[classes/:?]
            at 
org.apache.kyuubi.operation.log.OperationLog.close(OperationLog.scala:257) 
~[classes/:?]
            at 
org.apache.kyuubi.operation.BatchJobSubmission.$anonfun$close$2(BatchJobSubmission.scala:328)
 ~[classes/:?]
            at 
org.apache.kyuubi.operation.BatchJobSubmission.$anonfun$close$2$adapted(BatchJobSubmission.scala:328)
 ~[classes/:?]
            at scala.Option.foreach(Option.scala:407) 
~[scala-library-2.12.17.jar:?]
            at 
org.apache.kyuubi.operation.BatchJobSubmission.$anonfun$close$1(BatchJobSubmission.scala:328)
 ~[classes/:?]
            at 
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) 
~[scala-library-2.12.17.jar:?]
            at org.apache.kyuubi.Utils$.withLockRequired(Utils.scala:415) 
~[classes/:?]
            at 
org.apache.kyuubi.operation.AbstractOperation.withLockRequired(AbstractOperation.scala:51)
 ~[classes/:?]
            at 
org.apache.kyuubi.operation.BatchJobSubmission.close(BatchJobSubmission.scala:326)
 ~[classes/:?]
            at 
org.apache.kyuubi.session.KyuubiBatchSession.close(KyuubiBatchSession.scala:185)
 ~[classes/:?]
            at 
org.apache.kyuubi.session.KyuubiSessionManager.openBatchSession(KyuubiSessionManager.scala:181)
 ~[classes/:?]
            at 
org.apache.kyuubi.server.KyuubiBatchService.$anonfun$start$1(KyuubiBatchService.scala:96)
 ~[classes/:?]
            at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
            at 
java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) [?:?]
            at java.util.concurrent.FutureTask.run(FutureTask.java) [?:?]
            at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
            at java.lang.Thread.run(Thread.java:829) [?:?]
    Caused by: java.nio.file.NoSuchFileException: 
/Users/chengpan/Projects/apache-kyuubi/server_operation_logs/9a96f19d-93a9-474c-b170-f957ed82c502/3fe99873-134b-4307-a286-94494ae847f2
            at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) ~[?:?]
            at 
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
            at 
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]
            at 
sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:249) 
~[?:?]
            at 
sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:105)
 ~[?:?]
            at java.nio.file.Files.delete(Files.java:1142) ~[?:?]
            at 
org.apache.kyuubi.operation.log.OperationLog.$anonfun$close$4(OperationLog.scala:257)
 ~[classes/:?]
            at 
org.apache.kyuubi.operation.log.OperationLog.trySafely(OperationLog.scala:263) 
~[classes/:?]
            ... 18 more
    ```
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including 
negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [x] [Run 
test](https://kyuubi.readthedocs.io/en/master/contributing/code/testing.html#running-tests)
 locally before make a pull request
    
    Closes #4986 from pan3793/delete.
    
    Closes #4986
    
    7d49bfec0 [Cheng Pan] Always use Files#deleteIfExists
    
    Authored-by: Cheng Pan <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 .../org/apache/kyuubi/plugin/spark/authz/SparkSessionProvider.scala     | 2 +-
 .../src/main/scala/org/apache/kyuubi/operation/log/OperationLog.scala   | 2 +-
 .../src/test/scala/org/apache/kyuubi/engine/spark/PySparkTests.scala    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/SparkSessionProvider.scala
 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/SparkSessionProvider.scala
index d0b30ea44..774dbd8b5 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/SparkSessionProvider.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/SparkSessionProvider.scala
@@ -41,7 +41,7 @@ trait SparkSessionProvider {
   protected lazy val spark: SparkSession = {
     val metastore = {
       val path = Utils.createTempDir(prefix = "hms")
-      Files.delete(path)
+      Files.deleteIfExists(path)
       path
     }
     val ret = SparkSession.builder()
diff --git 
a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/OperationLog.scala
 
b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/OperationLog.scala
index a68b7441a..7ee803cb3 100644
--- 
a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/OperationLog.scala
+++ 
b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/OperationLog.scala
@@ -254,7 +254,7 @@ class OperationLog(path: Path) {
     }
 
     trySafely {
-      Files.delete(path)
+      Files.deleteIfExists(path)
     }
   }
 
diff --git 
a/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/spark/PySparkTests.scala
 
b/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/spark/PySparkTests.scala
index 40f7b2f5e..16a7f728e 100644
--- 
a/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/spark/PySparkTests.scala
+++ 
b/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/spark/PySparkTests.scala
@@ -167,7 +167,7 @@ class PySparkTests extends WithKyuubiServer with 
HiveJDBCTestHelper {
       }
       op(tempPyFile.getPath)
     } finally {
-      Files.delete(tempPyFile.toPath)
+      Files.deleteIfExists(tempPyFile.toPath)
     }
   }
 }

Reply via email to