zhli1142015 commented on a change in pull request #28769:
URL: https://github.com/apache/spark/pull/28769#discussion_r439159094



##########
File path: 
common/kvstore/src/main/java/org/apache/spark/util/kvstore/LevelDBIterator.java
##########
@@ -189,17 +189,7 @@ public synchronized void close() throws IOException {
       it.close();
       closed = true;
     }
-  }
-
-  /**
-   * Because it's tricky to expose closeable iterators through many internal 
APIs, especially
-   * when Scala wrappers are used, this makes sure that, hopefully, the JNI 
resources held by
-   * the iterator will eventually be released.
-   */
-  @SuppressWarnings("deprecation")
-  @Override
-  protected void finalize() throws Throwable {

Review comment:
       @srowen , thanks for comments. I removed it because i realized 
`finalize` may not work as we expected, because `LevelDBIterator` objects are 
referenced in `LevelDB` till it's closed or DB is closed. You are right, it can 
help with leak issue. i updated PR to add it back and track `DBIterator` 
instead of `LevelDBIterator` in `LevelDB`, then function `finalize`  can still 
works as before.




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

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