From db1fa5401f5d810ae9f8ec6b30da6b2f05c50e3c Mon Sep 17 00:00:00 2001 From: z7658329 <1043706593@qq.com> Date: Mon, 18 Apr 2022 22:55:44 +0800 Subject: [PATCH 01/13] fix cassandra code checkstyle --- .../store/cassandra/CassandraSessionPool.java | 4 +++- .../backend/store/cassandra/CassandraShard.java | 4 ++-- .../backend/store/cassandra/CassandraStore.java | 10 +++++----- .../backend/store/cassandra/CassandraTable.java | 12 ++++++------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraSessionPool.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraSessionPool.java index 42dfb936e5..c02bf3f0b3 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraSessionPool.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraSessionPool.java @@ -206,7 +206,9 @@ private void tryOpen() { assert this.session == null; try { this.open(); - } catch (InvalidQueryException ignored) {} + } catch (InvalidQueryException ignored) { + // ignore + } } @Override diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraShard.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraShard.java index 4e3387b995..b0e970b965 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraShard.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraShard.java @@ -208,8 +208,8 @@ private Map getSubSplits(TokenRange tokenRange, private Map> getRangeMap() { Metadata metadata = this.session.metadata(); return metadata.getTokenRanges().stream().collect(Collectors.toMap( - p -> p, - p -> metadata.getReplicas('"' + this.keyspace + '"', p))); + p -> p, + p -> metadata.getReplicas('"' + this.keyspace + '"', p))); } private static Map describeSplits( diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraStore.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraStore.java index 0f37c92f89..90dcd5af49 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraStore.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraStore.java @@ -475,12 +475,12 @@ protected boolean existsKeyspace() { } protected boolean existsTable(String table) { - KeyspaceMetadata keyspace = this.cluster().getMetadata() + KeyspaceMetadata keyspace = this.cluster().getMetadata() .getKeyspace(this.keyspace); - if (keyspace != null && keyspace.getTable(table) != null) { - return true; - } - return false; + if (keyspace != null && keyspace.getTable(table) != null) { + return true; + } + return false; } protected void initKeyspace() { diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java index 299f5eea0f..548726b4a4 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java @@ -107,12 +107,12 @@ public Number queryNumber(CassandraSessionPool.Session session, statement.setReadTimeoutMillis(timeout * 1000); return session.query(statement); }, (q, rs) -> { - Row row = rs.one(); - if (row == null) { - return IteratorUtils.of(aggregate.defaultValue()); - } - return IteratorUtils.of(row.getLong(0)); - }); + Row row = rs.one(); + if (row == null) { + return IteratorUtils.of(aggregate.defaultValue()); + } + return IteratorUtils.of(row.getLong(0)); + }); return aggregate.reduce(results); } From 717adefeec289821b4a4cf3f60545ad547bcc461 Mon Sep 17 00:00:00 2001 From: z7658329 <1043706593@qq.com> Date: Sun, 24 Apr 2022 22:09:50 +0800 Subject: [PATCH 02/13] empty commit From d8038a990acc0f07e7c70684d490f5965d201d1c Mon Sep 17 00:00:00 2001 From: z7658329 <1043706593@qq.com> Date: Sun, 24 Apr 2022 23:23:52 +0800 Subject: [PATCH 03/13] fix rocksdb&scylladb code checkstyle --- .../backend/store/rocksdb/RocksDBMetrics.java | 4 +- .../backend/store/rocksdb/RocksDBOptions.java | 3 +- .../store/rocksdb/RocksDBSessions.java | 16 ++++- .../store/rocksdb/RocksDBStdSessions.java | 19 +++--- .../backend/store/rocksdb/RocksDBTables.java | 16 ++--- .../store/scylladb/ScyllaDBTablesWithMV.java | 62 +++++++++---------- 6 files changed, 68 insertions(+), 52 deletions(-) diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBMetrics.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBMetrics.java index 9704f82d27..1a7c0331ec 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBMetrics.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBMetrics.java @@ -198,7 +198,7 @@ private double sum(RocksDBSessions.Session session, String property) { double total = 0; for (RocksDBSessions db : this.dbs) { List cfValues = db.property(property); - for(String value : cfValues) { + for (String value : cfValues) { total += Double.parseDouble(value); } for (String table : db.openedTables()) { @@ -212,7 +212,7 @@ private double sum(String property) { double total = 0; for (RocksDBSessions db : this.dbs) { List cfValues = db.property(property); - for(String value : cfValues) { + for (String value : cfValues) { total += Double.parseDouble(value); } } diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBOptions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBOptions.java index 87d4d71a7d..fc77479815 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBOptions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBOptions.java @@ -168,7 +168,8 @@ public static synchronized RocksDBOptions instance() { public static final ConfigOption MAX_BG_JOBS = new ConfigOption<>( "rocksdb.max_background_jobs", - "Maximum number of concurrent background jobs, including flushes and compactions.", + "Maximum number of concurrent background jobs," + + " including flushes and compactions.", rangeInt(1, Integer.MAX_VALUE), 8 ); diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java index e146cbf54f..2d56a35a08 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java @@ -39,10 +39,13 @@ public RocksDBSessions(HugeConfig config, String database, String store) { public abstract Set openedTables(); public abstract void createTable(String... tables) throws RocksDBException; + public abstract void dropTable(String... tables) throws RocksDBException; + public abstract boolean existsTable(String table); public abstract List property(String property); + public abstract void compactRange(); public abstract RocksDBSessions copy(HugeConfig config, @@ -67,7 +70,7 @@ public abstract String hardLinkSnapshot(String snapshotPath) /** * Session for RocksDB */ - public static abstract class Session extends AbstractBackendSession { + public abstract static class Session extends AbstractBackendSession { public static final int SCAN_ANY = 0x80; public static final int SCAN_PREFIX_BEGIN = 0x01; @@ -78,29 +81,40 @@ public static abstract class Session extends AbstractBackendSession { public static final int SCAN_LTE_END = 0x30; public abstract String dataPath(); + public abstract String walPath(); public abstract String property(String table, String property); + public abstract Pair keyRange(String table); + public abstract void compactRange(String table); public abstract void put(String table, byte[] key, byte[] value); + public abstract void merge(String table, byte[] key, byte[] value); + public abstract void increase(String table, byte[] key, byte[] value); public abstract void delete(String table, byte[] key); + public abstract void deleteSingle(String table, byte[] key); + public abstract void deletePrefix(String table, byte[] key); + public abstract void deleteRange(String table, byte[] keyFrom, byte[] keyTo); public abstract byte[] get(String table, byte[] key); + public abstract BackendColumnIterator get(String table, List keys); public abstract BackendColumnIterator scan(String table); + public abstract BackendColumnIterator scan(String table, byte[] prefix); + public abstract BackendColumnIterator scan(String table, byte[] keyFrom, byte[] keyTo, diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java index e745bb3d47..7a469a23c7 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java @@ -236,7 +236,7 @@ public List property(String property) { } } return values; - } catch(RocksDBException | UnsupportedOperationException e) { + } catch (RocksDBException | UnsupportedOperationException e) { throw new BackendException(e); } } @@ -728,7 +728,8 @@ public String property(String table, String property) { @Override public Pair keyRange(String table) { - byte[] startKey, endKey; + byte[] startKey; + byte[] endKey; try (CFHandle cf = cf(table); RocksIterator iter = rocksdb().newIterator(cf.get())) { iter.seekToFirst(); @@ -1058,14 +1059,14 @@ private boolean match(int expected) { @SuppressWarnings("unused") private void dump() { this.seek(); - System.out.println(">>>> scan from " + this.table + ": " + - (this.keyBegin == null ? "*" : - StringEncoding.format(this.keyBegin)) + - (this.iter.isValid() ? "" : " - No data")); + LOG.info(">>>> scan from " + this.table + ": " + + (this.keyBegin == null ? "*" : + StringEncoding.format(this.keyBegin)) + + (this.iter.isValid() ? "" : " - No data")); for (; this.iter.isValid(); this.iter.next()) { - System.out.println(String.format("%s=%s", - StringEncoding.format(this.iter.key()), - StringEncoding.format(this.iter.value()))); + LOG.info(String.format("%s=%s", + StringEncoding.format(this.iter.key()), + StringEncoding.format(this.iter.value()))); } } diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java index a977629783..087ce92118 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java @@ -50,7 +50,7 @@ public long getCounter(Session session, HugeType type) { byte[] key = new byte[]{type.code()}; byte[] value = session.get(this.table(), key); if (value != null) { - return l(value); + return toLong(value); } else { return 0L; } @@ -59,16 +59,16 @@ public long getCounter(Session session, HugeType type) { public void increaseCounter(Session session, HugeType type, long increment) { byte[] key = new byte[]{type.code()}; - session.increase(this.table(), key, b(increment)); + session.increase(this.table(), key, toBytes(increment)); } - private static byte[] b(long value) { + private static byte[] toBytes(long value) { return ByteBuffer.allocate(Long.BYTES) .order(ByteOrder.nativeOrder()) .putLong(value).array(); } - private static long l(byte[] bytes) { + private static long toLong(byte[] bytes) { assert bytes.length == Long.BYTES; return ByteBuffer.wrap(bytes) .order(ByteOrder.nativeOrder()) @@ -281,13 +281,13 @@ protected BackendColumnIterator queryByCond(Session session, prefix = (Id) r.value(); break; case GTE: - minEq = true; case GT: + minEq = true; min = (Id) r.value(); break; case LTE: - maxEq = true; case LT: + maxEq = true; max = (Id) r.value(); break; default: @@ -323,7 +323,7 @@ public RangeIntIndex(String store) { } } - public static class RangeFloatIndex extends RangeIndex{ + public static class RangeFloatIndex extends RangeIndex { public static final String TABLE = HugeType.RANGE_FLOAT_INDEX.string(); @@ -341,7 +341,7 @@ public RangeLongIndex(String store) { } } - public static class RangeDoubleIndex extends RangeIndex{ + public static class RangeDoubleIndex extends RangeIndex { public static final String TABLE = HugeType.RANGE_DOUBLE_INDEX.string(); diff --git a/hugegraph-scylladb/src/main/java/com/baidu/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java b/hugegraph-scylladb/src/main/java/com/baidu/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java index f203c6e57e..7c223d3aa8 100644 --- a/hugegraph-scylladb/src/main/java/com/baidu/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java +++ b/hugegraph-scylladb/src/main/java/com/baidu/hugegraph/backend/store/scylladb/ScyllaDBTablesWithMV.java @@ -87,18 +87,18 @@ private static void dropIndexTable(CassandraSessionPool.Session session, public static class PropertyKey extends CassandraTables.PropertyKey { - private final String MV_NAME2PK = mvNameTable(this.table()); + private final String mvName2Pk = mvNameTable(this.table()); @Override protected void createIndex(CassandraSessionPool.Session session, String indexLabel, HugeKeys column) { - createSchemaIndexTable(session, MV_NAME2PK, this.table()); + createSchemaIndexTable(session, mvName2Pk, this.table()); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_NAME2PK); + dropIndexTable(session, mvName2Pk); super.dropTable(session); } @@ -106,7 +106,7 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List query2Select(String table, Query query) { public static class VertexLabel extends CassandraTables.VertexLabel { - private final String MV_NAME2VL = mvNameTable(this.table()); + private final String mvName2Vl = mvNameTable(this.table()); @Override protected void createIndex(CassandraSessionPool.Session session, String indexLabel, HugeKeys column) { - createSchemaIndexTable(session, MV_NAME2VL, this.table()); + createSchemaIndexTable(session, mvName2Vl, this.table()); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_NAME2VL); + dropIndexTable(session, mvName2Vl); super.dropTable(session); } @@ -133,7 +133,7 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List query2Select(String table, Query query) { public static class EdgeLabel extends CassandraTables.EdgeLabel { - private final String MV_NAME2EL = mvNameTable(this.table()); + private final String mvName2El = mvNameTable(this.table()); @Override protected void createIndex(CassandraSessionPool.Session session, String indexLabel, HugeKeys column) { - createSchemaIndexTable(session, MV_NAME2EL, this.table()); + createSchemaIndexTable(session, mvName2El, this.table()); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_NAME2EL); + dropIndexTable(session, mvName2El); super.dropTable(session); } @@ -160,7 +160,7 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List query2Select(String table, Query query) { public static class IndexLabel extends CassandraTables.IndexLabel { - private final String MV_NAME2IL = mvNameTable(this.table()); + private final String mvName2Il = mvNameTable(this.table()); @Override protected void createIndex(CassandraSessionPool.Session session, String indexLabel, HugeKeys column) { - createSchemaIndexTable(session, MV_NAME2IL, this.table()); + createSchemaIndexTable(session, mvName2Il, this.table()); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_NAME2IL); + dropIndexTable(session, mvName2Il); super.dropTable(session); } @@ -187,7 +187,7 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List query2Select(String table, Query query) { public static class Vertex extends CassandraTables.Vertex { - private final String MV_LABEL2VERTEX = mvLabelTable(this.table()); + private final String mvLabel2Vertex = mvLabelTable(this.table()); public Vertex(String store) { super(store); @@ -212,13 +212,13 @@ protected void createIndex(CassandraSessionPool.Session session, " SELECT * FROM %s " + " WHERE %s IS NOT NULL " + " PRIMARY KEY(%s, %s)", - MV_LABEL2VERTEX, this.table(), LABEL, LABEL, ID); + mvLabel2Vertex, this.table(), LABEL, LABEL, ID); session.execute(cql); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_LABEL2VERTEX); + dropIndexTable(session, mvLabel2Vertex); super.dropTable(session); } @@ -230,7 +230,7 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List query2Select(String table, Query query) { public static class Edge extends CassandraTables.Edge { - private final String MV_LABEL2EDGE = mvLabelTable(this.table()); + private final String mvLabel2Edge = mvLabelTable(this.table()); - private final String LABEL = CassandraTable.formatKey(HugeKeys.LABEL); - private final List KEYS = this.idColumnName().stream() + private static final String LABEL = CassandraTable.formatKey(HugeKeys.LABEL); + private final List keys = this.idColumnName().stream() .filter(k -> k != HugeKeys.LABEL) .map(k -> CassandraTable.formatKey(k)) .collect(Collectors.toList()); - private final String PRKEYS = this.KEYS.stream() + private final String prKeys = this.keys.stream() .collect(Collectors.joining(",")); - private final String PRKEYS_NN = this.KEYS.stream().collect( + private final String prkeysNn = this.keys.stream().collect( Collectors.joining(" IS NOT NULL AND ")); public Edge(String store, Directions direction) { @@ -263,15 +263,15 @@ protected void createIndex(CassandraSessionPool.Session session, " SELECT * FROM %s " + " WHERE %s IS NOT NULL AND %s IS NOT NULL " + " PRIMARY KEY(%s, %s)", - MV_LABEL2EDGE, this.table(), - this.LABEL, this.PRKEYS_NN, - this.LABEL, this.PRKEYS); + mvLabel2Edge, this.table(), + this.LABEL, this.prkeysNn, + this.LABEL, this.prKeys); session.execute(cql); } @Override protected void dropTable(CassandraSessionPool.Session session) { - dropIndexTable(session, MV_LABEL2EDGE); + dropIndexTable(session, mvLabel2Edge); super.dropTable(session); } @@ -282,14 +282,14 @@ protected void dropTable(CassandraSessionPool.Session session) { protected List