ibessonov commented on code in PR #960:
URL: https://github.com/apache/ignite-3/pull/960#discussion_r935325545
##########
modules/storage-rocksdb/src/main/java/org/apache/ignite/internal/storage/rocksdb/RocksDbTableStorage.java:
##########
@@ -47,70 +54,118 @@
import org.apache.ignite.internal.storage.rocksdb.index.BinaryRowComparator;
import
org.apache.ignite.internal.storage.rocksdb.index.RocksDbSortedIndexStorage;
import org.apache.ignite.internal.tostring.S;
+import org.apache.ignite.internal.util.IgniteSpinBusyLock;
import org.apache.ignite.internal.util.IgniteUtils;
import org.jetbrains.annotations.Nullable;
+import org.rocksdb.AbstractEventListener;
import org.rocksdb.ColumnFamilyDescriptor;
import org.rocksdb.ColumnFamilyHandle;
import org.rocksdb.ColumnFamilyOptions;
import org.rocksdb.DBOptions;
+import org.rocksdb.FlushJobInfo;
+import org.rocksdb.FlushOptions;
import org.rocksdb.Options;
import org.rocksdb.RocksDB;
import org.rocksdb.RocksDBException;
+import org.rocksdb.WriteBatch;
+import org.rocksdb.WriteOptions;
/**
* Table storage implementation based on {@link RocksDB} instance.
*/
class RocksDbTableStorage implements TableStorage, MvTableStorage {
+ /** Logger. */
+ private static final IgniteLogger LOG =
Loggers.forClass(RocksDbTableStorage.class);
+
+ /** RocksDB storage engine instance. */
+ private final RocksDbStorageEngine engine;
+
/** Path for the directory that stores table data. */
private final Path tablePath;
/** Table configuration. */
private final TableConfiguration tableCfg;
- /** Thread pool for async operations. */
- private final Executor threadPool;
-
/** Data region for the table. */
private final RocksDbDataRegion dataRegion;
/** Rocks DB instance. */
private volatile RocksDB db;
+ /** Write options for write operations. */
+ private final WriteOptions writeOptions = new
WriteOptions().setDisableWAL(true);
+
/** Meta information. */
private volatile RocksDbMetaStorage meta;
/** Column Family handle for partition data. */
private volatile ColumnFamily partitionCf;
/** Partition storages. */
- private volatile AtomicReferenceArray<PartitionStorage> partitions;
+ private volatile AtomicReferenceArray<RocksDbMvPartitionStorage>
partitions;
/** Column families for indexes by their names. */
private final Map<String, RocksDbSortedIndexStorage> sortedIndices = new
ConcurrentHashMap<>();
+ /**
+ * Instance of the latest scheduled flush closure.
+ *
+ * @see #scheduleFlush()
+ */
+ private volatile Runnable latestFlushClosure;
+
/** Flag indicating if the storage has been stopped. */
+ @Deprecated
private volatile boolean stopped = false;
+ //TODO Use it instead of the "stopped" flag.
Review Comment:
Too many unrelated changes
--
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]