You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hugegraph.apache.org by je...@apache.org on 2022/05/12 04:01:58 UTC
[incubator-hugegraph] branch master updated: fix core-backend checkstyle issue (#1852)
This is an automated email from the ASF dual-hosted git repository.
jermy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
The following commit(s) were added to refs/heads/master by this push:
new d4304b635 fix core-backend checkstyle issue (#1852)
d4304b635 is described below
commit d4304b635c2093af32a1e0f2f3203a9c445be571
Author: seagle <se...@users.noreply.github.com>
AuthorDate: Thu May 12 12:01:54 2022 +0800
fix core-backend checkstyle issue (#1852)
---
.../com/baidu/hugegraph/backend/id/EdgeId.java | 10 +-
.../baidu/hugegraph/backend/query/Condition.java | 53 +++++++--
.../hugegraph/backend/query/ConditionQuery.java | 4 +-
.../backend/query/ConditionQueryFlatten.java | 3 +-
.../hugegraph/backend/query/IdRangeQuery.java | 22 ++--
.../com/baidu/hugegraph/backend/query/Query.java | 10 +-
.../backend/serializer/BinaryEntryIterator.java | 2 +-
.../backend/serializer/BinarySerializer.java | 7 +-
.../backend/serializer/GraphSerializer.java | 30 +++---
.../backend/serializer/SchemaSerializer.java | 20 ++--
.../hugegraph/backend/store/BackendEntry.java | 65 ++++++------
.../hugegraph/backend/store/BackendMutation.java | 13 +++
.../hugegraph/backend/store/BackendSession.java | 35 +++---
.../hugegraph/backend/store/BackendStore.java | 118 +++++++++++----------
.../backend/store/BackendStoreProvider.java | 41 ++++---
.../hugegraph/backend/store/BackendTable.java | 5 +-
.../baidu/hugegraph/backend/store/MetaHandler.java | 2 +-
.../backend/store/raft/RaftBackendStore.java | 7 +-
.../hugegraph/backend/store/ram/RamTable.java | 4 +-
.../backend/tx/GraphIndexTransaction.java | 26 ++---
.../hugegraph/backend/tx/GraphTransaction.java | 2 +-
21 files changed, 272 insertions(+), 207 deletions(-)
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/id/EdgeId.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/id/EdgeId.java
index 60a5aa719..f7a98d69e 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/id/EdgeId.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/id/EdgeId.java
@@ -38,11 +38,11 @@ import com.baidu.hugegraph.util.StringEncoding;
public class EdgeId implements Id {
public static final HugeKeys[] KEYS = new HugeKeys[] {
- HugeKeys.OWNER_VERTEX,
- HugeKeys.DIRECTION,
- HugeKeys.LABEL,
- HugeKeys.SORT_VALUES,
- HugeKeys.OTHER_VERTEX
+ HugeKeys.OWNER_VERTEX,
+ HugeKeys.DIRECTION,
+ HugeKeys.LABEL,
+ HugeKeys.SORT_VALUES,
+ HugeKeys.OTHER_VERTEX
};
private final Id ownerVertexId;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Condition.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Condition.java
index 6be1b6eb4..fbeddaa02 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Condition.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Condition.java
@@ -54,37 +54,60 @@ public abstract class Condition {
public enum RelationType implements BiPredicate<Object, Object> {
- EQ("==", (v1, v2) -> {return equals(v1, v2); }),
- GT(">", (v1, v2) -> { return compare(v1, v2) > 0; }),
- GTE(">=", (v1, v2) -> { return compare(v1, v2) >= 0; }),
- LT("<", (v1, v2) -> { return compare(v1, v2) < 0; }),
- LTE("<=", (v1, v2) -> { return compare(v1, v2) <= 0; }),
- NEQ("!=", (v1, v2) -> { return compare(v1, v2) != 0; }),
+ EQ("==", (v1, v2) -> {
+ return equals(v1, v2);
+ }),
+
+ GT(">", (v1, v2) -> {
+ return compare(v1, v2) > 0;
+ }),
+
+ GTE(">=", (v1, v2) -> {
+ return compare(v1, v2) >= 0;
+ }),
+
+ LT("<", (v1, v2) -> {
+ return compare(v1, v2) < 0;
+ }),
+
+ LTE("<=", (v1, v2) -> {
+ return compare(v1, v2) <= 0;
+ }),
+
+ NEQ("!=", (v1, v2) -> {
+ return compare(v1, v2) != 0;
+ }),
+
IN("in", null, Collection.class, (v1, v2) -> {
assert v2 != null;
return ((Collection<?>) v2).contains(v1);
}),
+
NOT_IN("notin", null, Collection.class, (v1, v2) -> {
assert v2 != null;
return !((Collection<?>) v2).contains(v1);
}),
+
PREFIX("prefix", Id.class, Id.class, (v1, v2) -> {
assert v2 != null;
return v1 != null && Bytes.prefixWith(((Id) v2).asBytes(),
((Id) v1).asBytes());
}),
+
TEXT_CONTAINS("textcontains", String.class, String.class, (v1, v2) -> {
// TODO: support collection-property textcontains
return v1 != null && ((String) v1).contains((String) v2);
}),
- TEXT_CONTAINS_ANY("textcontainsany", String.class, Collection.class,
- (v1, v2) -> {
+
+ TEXT_CONTAINS_ANY("textcontainsany", String.class, Collection.class, (v1, v2) -> {
assert v2 != null;
if (v1 == null) {
return false;
}
+
@SuppressWarnings("unchecked")
Collection<String> words = (Collection<String>) v2;
+
for (String word : words) {
if (((String) v1).contains(word)) {
return true;
@@ -92,18 +115,22 @@ public abstract class Condition {
}
return false;
}),
+
CONTAINS("contains", Collection.class, null, (v1, v2) -> {
assert v2 != null;
return v1 != null && ((Collection<?>) v1).contains(v2);
}),
+
CONTAINS_VALUE("containsv", Map.class, null, (v1, v2) -> {
assert v2 != null;
return v1 != null && ((Map<?, ?>) v1).containsValue(v2);
}),
+
CONTAINS_KEY("containsk", Map.class, null, (v1, v2) -> {
assert v2 != null;
return v1 != null && ((Map<?, ?>) v1).containsKey(v2);
}),
+
SCAN("scan", (v1, v2) -> {
assert v2 != null;
/*
@@ -118,12 +145,12 @@ public abstract class Condition {
private final Class<?> v1Class;
private final Class<?> v2Class;
- private RelationType(String op,
+ RelationType(String op,
BiFunction<Object, Object, Boolean> tester) {
this(op, null, null, tester);
}
- private RelationType(String op, Class<?> v1Class, Class<?> v2Class,
+ RelationType(String op, Class<?> v1Class, Class<?> v2Class,
BiFunction<Object, Object, Boolean> tester) {
this.operator = op;
this.tester = tester;
@@ -390,7 +417,7 @@ public abstract class Condition {
/**
* Condition defines
*/
- public static abstract class BinCondition extends Condition {
+ public abstract static class BinCondition extends Condition {
private Condition left;
private Condition right;
@@ -741,11 +768,15 @@ public abstract class Condition {
break;
case GTE:
this.keyMinEq = true;
+ this.keyMin = r.value();
+ break;
case GT:
this.keyMin = r.value();
break;
case LTE:
this.keyMaxEq = true;
+ this.keyMax = r.value();
+ break;
case LT:
this.keyMax = r.value();
break;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java
index fcb2fe950..7deb444bc 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java
@@ -212,7 +212,7 @@ public class ConditionQuery extends IdQuery {
return relations;
}
- public Relation relation(Id key){
+ public Relation relation(Id key) {
for (Relation r : this.relations()) {
if (r.key().equals(key)) {
return r;
@@ -831,7 +831,7 @@ public class ConditionQuery extends IdQuery {
}
private static boolean removeFieldValue(Set<Object> values,
- Object value){
+ Object value) {
for (Object elem : values) {
if (numberEquals(elem, value)) {
values.remove(elem);
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQueryFlatten.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQueryFlatten.java
index d112a73ec..d9639b36e 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQueryFlatten.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQueryFlatten.java
@@ -186,7 +186,8 @@ public final class ConditionQueryFlatten {
assert relation.relation() == Condition.RelationType.TEXT_CONTAINS_ANY;
@SuppressWarnings("unchecked")
Collection<String> words = (Collection<String>) relation.value();
- Condition cond, conds = null;
+ Condition cond = null;
+ Condition conds = null;
for (String word : words) {
assert relation.key() instanceof Id;
cond = Condition.textContains((Id) relation.key(), word);
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/IdRangeQuery.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/IdRangeQuery.java
index 5dd8b7ab8..340f14ba8 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/IdRangeQuery.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/IdRangeQuery.java
@@ -98,16 +98,16 @@ public final class IdRangeQuery extends Query {
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(super.toString());
- assert sb.length() > 0;
- sb.deleteCharAt(sb.length() - 1); // Remove the last "`"
- sb.append(" id in range ")
- .append(this.inclusiveStart ? "[" : "(")
- .append(this.start)
- .append(", ")
- .append(this.end)
- .append(this.inclusiveEnd ? "]" : ")")
- .append("`");
- return sb.toString();
+ StringBuilder builder = new StringBuilder(super.toString());
+ assert builder.length() > 0;
+ builder.deleteCharAt(builder.length() - 1); // Remove the last "`"
+ builder.append(" id in range ")
+ .append(this.inclusiveStart ? "[" : "(")
+ .append(this.start)
+ .append(", ")
+ .append(this.end)
+ .append(this.inclusiveEnd ? "]" : ")")
+ .append("`");
+ return builder.toString();
}
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Query.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Query.java
index 103a27f0b..49e1fd8f4 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Query.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Query.java
@@ -51,7 +51,7 @@ public class Query implements Cloneable {
public static final long NO_CAPACITY = -1L;
public static final long DEFAULT_CAPACITY = 800000L; // HugeGraph-777
- private static final ThreadLocal<Long> capacityContext = new ThreadLocal<>();
+ private static final ThreadLocal<Long> CAPACITY_CONTEXT = new ThreadLocal<>();
protected static final Query NONE = new Query(HugeType.UNKNOWN);
@@ -558,17 +558,17 @@ public class Query implements Cloneable {
}
public static long defaultCapacity(long capacity) {
- Long old = capacityContext.get();
- capacityContext.set(capacity);
+ Long old = CAPACITY_CONTEXT.get();
+ CAPACITY_CONTEXT.set(capacity);
return old != null ? old : DEFAULT_CAPACITY;
}
public static long defaultCapacity() {
- Long capacity = capacityContext.get();
+ Long capacity = CAPACITY_CONTEXT.get();
return capacity != null ? capacity : DEFAULT_CAPACITY;
}
- public final static void checkForceCapacity(long count)
+ public static final void checkForceCapacity(long count)
throws LimitExceedException {
if (count > Query.DEFAULT_CAPACITY) {
throw new LimitExceedException(
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinaryEntryIterator.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinaryEntryIterator.java
index c9817a36a..c4f87516b 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinaryEntryIterator.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinaryEntryIterator.java
@@ -129,7 +129,7 @@ public class BinaryEntryIterator<Elem> extends BackendEntryIterator {
((BinaryBackendEntry) this.current).removeColumn(lastOne);
}
- public final static long sizeOfEntry(BackendEntry entry) {
+ public static final long sizeOfEntry(BackendEntry entry) {
/*
* 3 cases:
* 1) one vertex per entry
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinarySerializer.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinarySerializer.java
index bdfb6d2e8..4702d3a97 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinarySerializer.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinarySerializer.java
@@ -301,7 +301,6 @@ public class BinarySerializer extends AbstractSerializer {
}
}
-
protected void parseVertex(byte[] value, HugeVertex vertex) {
BytesBuffer buffer = BytesBuffer.wrap(value);
@@ -871,9 +870,9 @@ public class BinarySerializer extends AbstractSerializer {
BytesBuffer buffer = BytesBuffer.allocate(BytesBuffer.BUF_EDGE_ID);
buffer.write(parsedEntry.id().asBytes());
buffer.write(bytes);
- parsedEntry = new BinaryBackendEntry(originEntry.type(),
- new BinaryId(buffer.bytes(),
- BytesBuffer.wrap(buffer.bytes()).readEdgeId()));
+ parsedEntry = new BinaryBackendEntry(originEntry.type(), new BinaryId(buffer.bytes(),
+ BytesBuffer.wrap(buffer.bytes()).readEdgeId()));
+
for (BackendEntry.BackendColumn col : originEntry.columns()) {
parsedEntry.column(buffer.bytes(), col.value);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/GraphSerializer.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/GraphSerializer.java
index 35a96395c..166fcb22c 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/GraphSerializer.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/GraphSerializer.java
@@ -33,19 +33,25 @@ import com.baidu.hugegraph.type.HugeType;
public interface GraphSerializer {
- public BackendEntry writeVertex(HugeVertex vertex);
- public BackendEntry writeOlapVertex(HugeVertex vertex);
- public BackendEntry writeVertexProperty(HugeVertexProperty<?> prop);
- public HugeVertex readVertex(HugeGraph graph, BackendEntry entry);
+ BackendEntry writeVertex(HugeVertex vertex);
- public BackendEntry writeEdge(HugeEdge edge);
- public BackendEntry writeEdgeProperty(HugeEdgeProperty<?> prop);
- public HugeEdge readEdge(HugeGraph graph, BackendEntry entry);
+ BackendEntry writeOlapVertex(HugeVertex vertex);
- public BackendEntry writeIndex(HugeIndex index);
- public HugeIndex readIndex(HugeGraph graph, ConditionQuery query,
- BackendEntry entry);
+ BackendEntry writeVertexProperty(HugeVertexProperty<?> prop);
- public BackendEntry writeId(HugeType type, Id id);
- public Query writeQuery(Query query);
+ HugeVertex readVertex(HugeGraph graph, BackendEntry entry);
+
+ BackendEntry writeEdge(HugeEdge edge);
+
+ BackendEntry writeEdgeProperty(HugeEdgeProperty<?> prop);
+
+ HugeEdge readEdge(HugeGraph graph, BackendEntry entry);
+
+ BackendEntry writeIndex(HugeIndex index);
+
+ HugeIndex readIndex(HugeGraph graph, ConditionQuery query, BackendEntry entry);
+
+ BackendEntry writeId(HugeType type, Id id);
+
+ Query writeQuery(Query query);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/SchemaSerializer.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/SchemaSerializer.java
index 9e3bcc4d8..045f065da 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/SchemaSerializer.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/SchemaSerializer.java
@@ -28,15 +28,19 @@ import com.baidu.hugegraph.schema.VertexLabel;
public interface SchemaSerializer {
- public BackendEntry writeVertexLabel(VertexLabel vertexLabel);
- public VertexLabel readVertexLabel(HugeGraph graph, BackendEntry entry);
+ BackendEntry writeVertexLabel(VertexLabel vertexLabel);
- public BackendEntry writeEdgeLabel(EdgeLabel edgeLabel);
- public EdgeLabel readEdgeLabel(HugeGraph graph, BackendEntry entry);
+ VertexLabel readVertexLabel(HugeGraph graph, BackendEntry entry);
- public BackendEntry writePropertyKey(PropertyKey propertyKey);
- public PropertyKey readPropertyKey(HugeGraph graph, BackendEntry entry);
+ BackendEntry writeEdgeLabel(EdgeLabel edgeLabel);
- public BackendEntry writeIndexLabel(IndexLabel indexLabel);
- public IndexLabel readIndexLabel(HugeGraph graph, BackendEntry entry);
+ EdgeLabel readEdgeLabel(HugeGraph graph, BackendEntry entry);
+
+ BackendEntry writePropertyKey(PropertyKey propertyKey);
+
+ PropertyKey readPropertyKey(HugeGraph graph, BackendEntry entry);
+
+ BackendEntry writeIndexLabel(IndexLabel indexLabel);
+
+ IndexLabel readIndexLabel(HugeGraph graph, BackendEntry entry);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendEntry.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendEntry.java
index 1ab839973..38393d9f9 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendEntry.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendEntry.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.util.StringEncoding;
public interface BackendEntry extends Idfiable {
- public static class BackendColumn implements Comparable<BackendColumn> {
+ class BackendColumn implements Comparable<BackendColumn> {
public byte[] name;
public byte[] value;
@@ -69,65 +69,72 @@ public interface BackendEntry extends Idfiable {
return Bytes.equals(this.name, other.name) &&
Bytes.equals(this.value, other.value);
}
+
+ public int hashCode() {
+ return this.name.hashCode() ^
+ this.value.hashCode();
+ }
+
}
- public HugeType type();
+ HugeType type();
@Override
- public Id id();
+ Id id();
+
+ Id originId();
+
+ Id subId();
+
+ long ttl();
- public Id originId();
+ int columnsSize();
- public Id subId();
+ Collection<BackendColumn> columns();
- public long ttl();
+ void columns(Collection<BackendColumn> columns);
- public int columnsSize();
- public Collection<BackendColumn> columns();
+ void columns(BackendColumn column);
- public void columns(Collection<BackendColumn> columns);
- public void columns(BackendColumn column);
+ void merge(BackendEntry other);
- public void merge(BackendEntry other);
- public boolean mergeable(BackendEntry other);
+ boolean mergeable(BackendEntry other);
- public void clear();
+ void clear();
- public default boolean belongToMe(BackendColumn column) {
+ default boolean belongToMe(BackendColumn column) {
return Bytes.prefixWith(column.name, id().asBytes());
}
- public default boolean olap() {
+ default boolean olap() {
return false;
}
- public interface BackendIterator<T> extends Iterator<T>, AutoCloseable {
+ interface BackendIterator<T> extends Iterator<T>, AutoCloseable {
@Override
- public void close();
+ void close();
- public byte[] position();
+ byte[] position();
}
- public interface BackendColumnIterator
- extends BackendIterator<BackendColumn> {
+ interface BackendColumnIterator extends BackendIterator<BackendColumn> {
- public static BackendColumnIterator empty() {
+ static BackendColumnIterator empty() {
return EMPTY;
}
- public static BackendColumnIterator iterator(BackendColumn element) {
+ static BackendColumnIterator iterator(BackendColumn element) {
return new OneColumnIterator(element);
}
- public static BackendColumnIterator wrap(Iterator<BackendColumn> iter) {
+ static BackendColumnIterator wrap(Iterator<BackendColumn> iter) {
return new BackendColumnIteratorWrapper(iter);
}
- public static final BackendColumnIterator EMPTY = new EmptyIterator();
+ BackendColumnIterator EMPTY = new EmptyIterator();
- public static final class EmptyIterator
- implements BackendColumnIterator {
+ final class EmptyIterator implements BackendColumnIterator {
@Override
public boolean hasNext() {
@@ -150,8 +157,7 @@ public interface BackendEntry extends Idfiable {
}
}
- public static final class OneColumnIterator
- implements BackendColumnIterator {
+ final class OneColumnIterator implements BackendColumnIterator {
private BackendColumn element;
@@ -186,8 +192,7 @@ public interface BackendEntry extends Idfiable {
}
}
- public static final class BackendColumnIteratorWrapper
- implements BackendColumnIterator {
+ final class BackendColumnIteratorWrapper implements BackendColumnIterator {
private final Iterator<BackendColumn> iter;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendMutation.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendMutation.java
index 58c907545..e371b3ad7 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendMutation.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendMutation.java
@@ -111,6 +111,19 @@ public class BackendMutation {
" transaction between %s and %s",
entry, originItem.entry()));
}
+
+ if (originAction == Action.INSERT ||
+ originAction == Action.DELETE) {
+ throw incompatibleActionException(action, originAction);
+ } else {
+ Id subId = entry.subId();
+ Id originSubId = originItem.entry().subId();
+ assert subId != null;
+ if (subId == originSubId || subId.equals(originSubId)) {
+ iter.remove();
+ }
+ }
+ break;
case ELIMINATE:
if (originAction == Action.INSERT ||
originAction == Action.DELETE) {
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendSession.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendSession.java
index a340730a4..65258bfea 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendSession.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendSession.java
@@ -26,34 +26,39 @@ import com.baidu.hugegraph.backend.store.BackendStore.TxState;
*/
public interface BackendSession {
- public void open();
- public void close();
+ void open();
- public boolean opened();
- public boolean closed();
+ void close();
- public Object commit();
+ boolean opened();
- public void rollback();
+ boolean closed();
- public boolean hasChanges();
+ Object commit();
- public int attach();
- public int detach();
+ void rollback();
- public long created();
- public long updated();
- public void update();
+ boolean hasChanges();
- public default void reconnectIfNeeded() {
+ int attach();
+
+ int detach();
+
+ long created();
+
+ long updated();
+
+ void update();
+
+ default void reconnectIfNeeded() {
// pass
}
- public default void reset() {
+ default void reset() {
// pass
}
- public abstract class AbstractBackendSession implements BackendSession {
+ abstract class AbstractBackendSession implements BackendSession {
protected boolean opened;
private int refs;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStore.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStore.java
index eff4e9f02..9f8e1e496 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStore.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStore.java
@@ -32,55 +32,62 @@ import com.baidu.hugegraph.util.E;
public interface BackendStore {
// Store name
- public String store();
+ String store();
// Database name
- public String database();
+ String database();
// Get the parent provider
- public BackendStoreProvider provider();
+ BackendStoreProvider provider();
// Whether it is the storage of schema
- public boolean isSchemaStore();
+ boolean isSchemaStore();
// Open/close database
- public void open(HugeConfig config);
- public void close();
- public boolean opened();
+ void open(HugeConfig config);
+
+ void close();
+
+ boolean opened();
// Initialize/clear database
- public void init();
- public void clear(boolean clearSpace);
- public boolean initialized();
+ void init();
+
+ void clear(boolean clearSpace);
+
+ boolean initialized();
// Delete all data of database (keep table structure)
- public void truncate();
+ void truncate();
// Add/delete data
- public void mutate(BackendMutation mutation);
+ void mutate(BackendMutation mutation);
// Query data
- public Iterator<BackendEntry> query(Query query);
- public Number queryNumber(Query query);
+ Iterator<BackendEntry> query(Query query);
+
+ Number queryNumber(Query query);
// Transaction
- public void beginTx();
- public void commitTx();
- public void rollbackTx();
+ void beginTx();
+
+ void commitTx();
+
+ void rollbackTx();
// Get metadata by key
- public <R> R metadata(HugeType type, String meta, Object[] args);
+ <R> R metadata(HugeType type, String meta, Object[] args);
// Backend features
- public BackendFeatures features();
+ BackendFeatures features();
// Generate an id for a specific type
- public default Id nextId(HugeType type) {
+ default Id nextId(HugeType type) {
final int MAX_TIMES = 1000;
// Do get-increase-get-compare operation
long counter = 0L;
long expect = -1L;
- synchronized(this) {
+ synchronized (this) {
for (int i = 0; i < MAX_TIMES; i++) {
counter = this.getCounter(type);
@@ -95,14 +102,16 @@ public interface BackendStore {
}
E.checkState(counter != 0L, "Please check whether '%s' is OK",
- this.provider().type());
+ this.provider().type());
+
E.checkState(counter == expect, "'%s' is busy please try again",
this.provider().type());
+
return IdGenerator.of(expect);
}
// Set next id >= lowest for a specific type
- public default void setCounterLowest(HugeType type, long lowest) {
+ default void setCounterLowest(HugeType type, long lowest) {
long current = this.getCounter(type);
if (current >= lowest) {
return;
@@ -111,62 +120,57 @@ public interface BackendStore {
this.increaseCounter(type, increment);
}
- public default String olapTableName(HugeType type) {
- StringBuilder sb = new StringBuilder(7);
- sb.append(this.store())
- .append("_")
- .append(HugeType.OLAP.string())
- .append("_")
- .append(type.string());
- return sb.toString().toLowerCase();
+ default String olapTableName(HugeType type) {
+ StringBuilder builder = new StringBuilder(7);
+ builder.append(this.store())
+ .append("_")
+ .append(HugeType.OLAP.string())
+ .append("_")
+ .append(type.string());
+ return builder.toString().toLowerCase();
}
- public default String olapTableName(Id id) {
- StringBuilder sb = new StringBuilder(5 + 4);
- sb.append(this.store())
- .append("_")
- .append(HugeType.OLAP.string())
- .append("_")
- .append(id.asLong());
- return sb.toString().toLowerCase();
+ default String olapTableName(Id id) {
+ StringBuilder builder = new StringBuilder(5 + 4);
+ builder.append(this.store())
+ .append("_")
+ .append(HugeType.OLAP.string())
+ .append("_")
+ .append(id.asLong());
+ return builder.toString().toLowerCase();
}
// Increase next id for specific type
- public void increaseCounter(HugeType type, long increment);
+ void increaseCounter(HugeType type, long increment);
// Get current counter for a specific type
- public long getCounter(HugeType type);
+ long getCounter(HugeType type);
- public default void createOlapTable(Id pkId) {
- throw new UnsupportedOperationException(
- "BackendStore.createOlapTable()");
+ default void createOlapTable(Id pkId) {
+ throw new UnsupportedOperationException("BackendStore.createOlapTable()");
}
- public default void checkAndRegisterOlapTable(Id pkId) {
- throw new UnsupportedOperationException(
- "BackendStore.checkAndRegisterOlapTable()");
+ default void checkAndRegisterOlapTable(Id pkId) {
+ throw new UnsupportedOperationException("BackendStore.checkAndRegisterOlapTable()");
}
- public default void clearOlapTable(Id pkId) {
- throw new UnsupportedOperationException(
- "BackendStore.clearOlapTable()");
+ default void clearOlapTable(Id pkId) {
+ throw new UnsupportedOperationException("BackendStore.clearOlapTable()");
}
- public default void removeOlapTable(Id pkId) {
- throw new UnsupportedOperationException(
- "BackendStore.removeOlapTable()");
+ default void removeOlapTable(Id pkId) {
+ throw new UnsupportedOperationException("BackendStore.removeOlapTable()");
}
- public default Map<String, String> createSnapshot(String snapshotDir) {
+ default Map<String, String> createSnapshot(String snapshotDir) {
throw new UnsupportedOperationException("createSnapshot");
}
- public default void resumeSnapshot(String snapshotDir,
- boolean deleteSnapshot) {
+ default void resumeSnapshot(String snapshotDir, boolean deleteSnapshot) {
throw new UnsupportedOperationException("resumeSnapshot");
}
- static enum TxState {
+ enum TxState {
BEGIN, COMMITTING, COMMITT_FAIL, ROLLBACKING, ROLLBACK_FAIL, CLEAN
}
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStoreProvider.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStoreProvider.java
index a4027e17a..3d794d2c9 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStoreProvider.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendStoreProvider.java
@@ -27,46 +27,45 @@ import com.baidu.hugegraph.event.EventListener;
public interface BackendStoreProvider {
// Backend store type
- public String type();
+ String type();
// Backend store version
- public String version();
+ String version();
// Graph name (that's database name)
- public String graph();
+ String graph();
- public BackendStore loadSystemStore(HugeConfig config, String name);
+ BackendStore loadSystemStore(HugeConfig config, String name);
- public BackendStore loadSchemaStore(HugeConfig config, String name);
+ BackendStore loadSchemaStore(HugeConfig config, String name);
- public BackendStore loadGraphStore(HugeConfig config, String name);
+ BackendStore loadGraphStore(HugeConfig config, String name);
+ void open(String name);
- public void open(String name);
+ void waitStoreStarted();
- public void waitStoreStarted();
+ void close();
- public void close();
+ void init();
- public void init();
+ void clear();
- public void clear();
+ void truncate();
- public void truncate();
+ void initSystemInfo(HugeGraph graph);
- public void initSystemInfo(HugeGraph graph);
+ void createSnapshot();
- public void createSnapshot();
+ void resumeSnapshot();
- public void resumeSnapshot();
+ void listen(EventListener listener);
- public void listen(EventListener listener);
+ void unlisten(EventListener listener);
- public void unlisten(EventListener listener);
+ EventHub storeEventHub();
- public EventHub storeEventHub();
+ void onCloneConfig(HugeConfig config, String newGraph);
- public void onCloneConfig(HugeConfig config, String newGraph);
-
- public void onDeleteConfig(HugeConfig config);
+ void onDeleteConfig(HugeConfig config);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendTable.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendTable.java
index 334194741..7126e4a63 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendTable.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendTable.java
@@ -122,7 +122,7 @@ public abstract class BackendTable<Session extends BackendSession, Entry> {
/****************************** ShardSplitter ******************************/
- public static abstract class ShardSplitter<Session extends BackendSession> {
+ public abstract static class ShardSplitter<Session extends BackendSession> {
// The min shard size should >= 1M to prevent too many number of shards
protected static final int MIN_SHARD_SIZE = (int) Bytes.MB;
@@ -220,7 +220,8 @@ public abstract class BackendTable<Session extends BackendSession, Entry> {
endKey(this.endKey), 0));
}
- byte[] start, end;
+ byte[] start;
+ byte[] end;
boolean startChanged = false;
boolean endChanged = false;
int length;
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/MetaHandler.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/MetaHandler.java
index f19270a45..1436f0bd7 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/MetaHandler.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/MetaHandler.java
@@ -21,5 +21,5 @@ package com.baidu.hugegraph.backend.store;
public interface MetaHandler<Session extends BackendSession> {
- public Object handle(Session session, String meta, Object... args);
+ Object handle(Session session, String meta, Object... args);
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/raft/RaftBackendStore.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/raft/RaftBackendStore.java
index c21e3f58e..06ddf9e20 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/raft/RaftBackendStore.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/raft/RaftBackendStore.java
@@ -189,10 +189,9 @@ public class RaftBackendStore implements BackendStore {
@Override
public long getCounter(HugeType type) {
- Object counter = this.queryByRaft(type, true,
- o -> this.store.getCounter(type));
- assert counter instanceof Long;
- return (Long) counter;
+ Object counter = this.queryByRaft(type, true, o -> this.store.getCounter(type));
+ assert counter instanceof Long;
+ return (Long) counter;
}
private Object submitAndWait(StoreAction action, byte[] data) {
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/ram/RamTable.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/ram/RamTable.java
index 9fd2f1476..ba2bbc4bd 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/ram/RamTable.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/ram/RamTable.java
@@ -542,7 +542,9 @@ public final class RamTable {
if (this.vertices.size() > 0) {
lastId = this.vertices.get(this.vertices.size() - 1);
}
- LOG.info("scan from hbase source {} lastId value: {} compare {} size {}", vertex, lastId, vertex.compareTo(lastId), this.vertices.size());
+ LOG.info("scan from hbase source {} lastId value: {} compare {} size {}",
+ vertex, lastId, vertex.compareTo(lastId), this.vertices.size());
+
if (vertex.compareTo(lastId) < 0) {
throw new HugeException("The ramtable feature is not " +
"supported by %s backend",
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphIndexTransaction.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphIndexTransaction.java
index 3397cc3f6..26b896d46 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphIndexTransaction.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphIndexTransaction.java
@@ -211,7 +211,7 @@ public class GraphIndexTransaction extends AbstractTransaction {
if (property == null) {
E.checkState(hasNullableProp(element, fieldId),
"Non-null property '%s' is null for '%s'",
- this.graph().propertyKey(fieldId) , element);
+ this.graph().propertyKey(fieldId), element);
if (firstNullField == fieldsNum) {
firstNullField = allPropValues.size();
}
@@ -328,8 +328,7 @@ public class GraphIndexTransaction extends AbstractTransaction {
return this.mutation().contains(entry, Action.ELIMINATE);
}
- private boolean existUniqueValueInStore(IndexLabel indexLabel,
- Object value) {
+ private boolean existUniqueValueInStore(IndexLabel indexLabel, Object value) {
ConditionQuery query = new ConditionQuery(HugeType.UNIQUE_INDEX);
query.eq(HugeKeys.INDEX_LABEL_ID, indexLabel.id());
query.eq(HugeKeys.FIELD_VALUES, value);
@@ -349,8 +348,7 @@ public class GraphIndexTransaction extends AbstractTransaction {
index.elementId());
}
while (iterator.hasNext()) {
- LOG.warn("Unique constraint conflict found by record {}",
- iterator.next());
+ LOG.warn("Unique constraint conflict found by record {}", iterator.next());
}
} finally {
CloseableIterator.closeIterator(iterator);
@@ -423,10 +421,10 @@ public class GraphIndexTransaction extends AbstractTransaction {
"label index is disabled", schemaLabel);
}
- ConditionQuery indexQuery;
- indexQuery = new ConditionQuery(indexType , query);
+ ConditionQuery indexQuery = new ConditionQuery(indexType, query);
indexQuery.eq(HugeKeys.INDEX_LABEL_ID, il.id());
indexQuery.eq(HugeKeys.FIELD_VALUES, label);
+
/*
* We can avoid redundant element ids if set limit, but if there are
* label index overridden by other vertices with different label,
@@ -825,9 +823,7 @@ public class GraphIndexTransaction extends AbstractTransaction {
return null;
}
-
- private ConditionQuery constructSearchQuery(ConditionQuery query,
- MatchedIndex index) {
+ private ConditionQuery constructSearchQuery(ConditionQuery query, MatchedIndex index) {
ConditionQuery newQuery = query;
Set<Id> indexFields = new HashSet<>();
// Convert has(key, text) to has(key, textContainsAny(word1, word2))
@@ -1818,11 +1814,11 @@ public class GraphIndexTransaction extends AbstractTransaction {
leftIndex) {
Set<MatchedIndex> matchedIndexes = this.tx.collectMatchedIndexes(query);
for (MatchedIndex index : matchedIndexes) {
- for (IndexLabel label : index.indexLabels()){
- if (label.indexField().equals(leftIndex.indexField())){
- return label;
- }
- }
+ for (IndexLabel label : index.indexLabels()) {
+ if (label.indexField().equals(leftIndex.indexField())) {
+ return label;
+ }
+ }
}
return null;
}
diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphTransaction.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphTransaction.java
index 55be0ce0a..ade53c1dc 100644
--- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphTransaction.java
+++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphTransaction.java
@@ -610,7 +610,7 @@ public class GraphTransaction extends IndexableTransaction {
this.beforeWrite();
this.addedVertices.put(vertex.id(), vertex);
this.afterWrite();
- } catch (Throwable e){
+ } catch (Throwable e) {
this.locksTable.unlock();
throw e;
}