LuciferYang commented on code in PR #39226:
URL: https://github.com/apache/spark/pull/39226#discussion_r1059224030


##########
core/src/main/scala/org/apache/spark/status/AppStatusStore.scala:
##########
@@ -733,6 +734,15 @@ private[spark] class AppStatusStore(
 
   def close(): Unit = {
     store.close()
+    cleanUpStorePath()
+  }
+
+  private def cleanUpStorePath(): Unit = {
+    storePath.foreach { p =>
+      if (p.exists()) {
+        p.listFiles().foreach(Utils.deleteRecursively)
+      }
+    }

Review Comment:
   > There's another problem I need to mention:
   > 
   > * Start spark-shell twice in the same directory with `spark.ui.store.path` 
configured:
   >   
   >   * The first app start successfully and use `spark.ui.store.path` to 
store LiveUI data
   >   * The second app will also start successfully, but `InMemoryStore` will 
be used to store Live UI data due to
   > 
   > `org.rocksdb.RocksDBException: While lock file: 
/${baseDir}/listing.rdb/LOCK: Resource temporarily unavailable`
   
   @gengliangwang This scenario is a special case, we should not delete it,  
otherwise, the first app will be affected(in the scenario, the first app not 
stop)
   
   
   
   



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