This is an automated email from the ASF dual-hosted git repository.
srichter pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 1a94c20 [FLINK-9735][tests] Potential leak in RocksDBResource
1a94c20 is described below
commit 1a94c2094b8045a717a92e232f9891b23120e0f2
Author: yanghua <[email protected]>
AuthorDate: Wed Sep 5 17:24:12 2018 +0800
[FLINK-9735][tests] Potential leak in RocksDBResource
This closes #6660.
---
.../flink/contrib/streaming/state/RocksDBResource.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git
a/flink-state-backends/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBResource.java
b/flink-state-backends/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBResource.java
index 0407cc7..a415a83 100644
---
a/flink-state-backends/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBResource.java
+++
b/flink-state-backends/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBResource.java
@@ -30,6 +30,8 @@ import org.rocksdb.DBOptions;
import org.rocksdb.ReadOptions;
import org.rocksdb.RocksDB;
import org.rocksdb.WriteOptions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
@@ -43,6 +45,8 @@ import java.util.List;
*/
public class RocksDBResource extends ExternalResource {
+ private static final Logger LOG =
LoggerFactory.getLogger(RocksDBResource.class);
+
/** Factory for {@link DBOptions} and {@link ColumnFamilyOptions}. */
private final OptionsFactory optionsFactory;
@@ -74,11 +78,25 @@ public class RocksDBResource extends ExternalResource {
this(new OptionsFactory() {
@Override
public DBOptions createDBOptions(DBOptions
currentOptions) {
+ //close it before reuse the reference.
+ try {
+ currentOptions.close();
+ } catch (Exception e) {
+ LOG.error("Close previous DBOptions's
instance failed.", e);
+ }
+
return
PredefinedOptions.FLASH_SSD_OPTIMIZED.createDBOptions();
}
@Override
public ColumnFamilyOptions
createColumnOptions(ColumnFamilyOptions currentOptions) {
+ //close it before reuse the reference.
+ try {
+ currentOptions.close();
+ } catch (Exception e) {
+ LOG.error("Close previous DBOptions's
instance failed.", e);
+ }
+
return
PredefinedOptions.FLASH_SSD_OPTIMIZED.createColumnOptions();
}
});