support ttl for vertex and edge (#794)
authorzhoney <zhangyi51@baidu.com>
Thu, 14 May 2020 03:07:38 +0000 (11:07 +0800)
committerGitHub <noreply@github.com>
Thu, 14 May 2020 03:07:38 +0000 (11:07 +0800)
commitcadc15ab86f7ba14baa69c8f93d1f6ebc24f77e3
tree481cfd636690fddfa87d911d4e2b8a0d4f9c4c15
parent6ac15dd4fe1f1d2c2a2f057ae96c006f1a60613d
support ttl for vertex and edge (#794)

* support edgeLabel ttl
* extract async deletion from serializer to GraphIndexTransaction
* change HugeIndex structure
* support vertex label ttl
* move expired objects delete out of gtx
* get now time from tx
* add ttl filed in BackendEntry for Cassandra and Hbase
* set tx openedTime in setOpened() of transaction

implemented: #295

Change-Id: I16a762c5aa850f14cbd554d29fb8592db87e7619
67 files changed:
hugegraph-api/pom.xml
hugegraph-api/src/main/java/com/baidu/hugegraph/api/schema/EdgeLabelAPI.java
hugegraph-api/src/main/java/com/baidu/hugegraph/api/schema/VertexLabelAPI.java
hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java
hugegraph-api/src/main/java/com/baidu/hugegraph/version/ApiVersion.java
hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraFeatures.java
hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraStoreProvider.java
hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java
hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTables.java
hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java
hugegraph-core/src/main/java/com/baidu/hugegraph/StandardHugeGraph.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/cache/CachedGraphTransaction.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/id/IdGenerator.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/Query.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinaryBackendEntry.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/BinarySerializer.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/TableBackendEntry.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/TableSerializer.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/TextBackendEntry.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/serializer/TextSerializer.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendEntry.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/BackendFeatures.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/store/memory/InMemoryDBStore.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphIndexTransaction.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/GraphTransaction.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/SchemaIndexTransaction.java
hugegraph-core/src/main/java/com/baidu/hugegraph/backend/tx/SchemaTransaction.java
hugegraph-core/src/main/java/com/baidu/hugegraph/config/CoreOptions.java
hugegraph-core/src/main/java/com/baidu/hugegraph/io/GraphSONSchemaSerializer.java
hugegraph-core/src/main/java/com/baidu/hugegraph/job/system/DeleteExpiredElementJob.java [new file with mode: 0644]
hugegraph-core/src/main/java/com/baidu/hugegraph/job/system/DeleteExpiredIndexJob.java [new file with mode: 0644]
hugegraph-core/src/main/java/com/baidu/hugegraph/job/system/DeleteExpiredJob.java [new file with mode: 0644]
hugegraph-core/src/main/java/com/baidu/hugegraph/job/system/JobCounters.java [new file with mode: 0644]
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/EdgeLabel.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/IndexLabel.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/SchemaLabel.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/VertexLabel.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/builder/EdgeLabelBuilder.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/builder/IndexLabelBuilder.java
hugegraph-core/src/main/java/com/baidu/hugegraph/schema/builder/VertexLabelBuilder.java
hugegraph-core/src/main/java/com/baidu/hugegraph/structure/HugeEdge.java
hugegraph-core/src/main/java/com/baidu/hugegraph/structure/HugeElement.java
hugegraph-core/src/main/java/com/baidu/hugegraph/structure/HugeIndex.java
hugegraph-core/src/main/java/com/baidu/hugegraph/structure/HugeVertex.java
hugegraph-core/src/main/java/com/baidu/hugegraph/task/HugeTask.java
hugegraph-core/src/main/java/com/baidu/hugegraph/type/define/HugeKeys.java
hugegraph-hbase/src/main/java/com/baidu/hugegraph/backend/store/hbase/HbaseFeatures.java
hugegraph-hbase/src/main/java/com/baidu/hugegraph/backend/store/hbase/HbaseSessions.java
hugegraph-hbase/src/main/java/com/baidu/hugegraph/backend/store/hbase/HbaseStoreProvider.java
hugegraph-hbase/src/main/java/com/baidu/hugegraph/backend/store/hbase/HbaseTables.java
hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlFeatures.java
hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlStoreProvider.java
hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java
hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTables.java
hugegraph-palo/src/main/java/com/baidu/hugegraph/backend/store/palo/PaloFeatures.java
hugegraph-palo/src/main/java/com/baidu/hugegraph/backend/store/palo/PaloStoreProvider.java
hugegraph-palo/src/main/java/com/baidu/hugegraph/backend/store/palo/PaloTables.java
hugegraph-postgresql/src/main/java/com/baidu/hugegraph/backend/store/postgresql/PostgresqlSerializer.java
hugegraph-postgresql/src/main/java/com/baidu/hugegraph/backend/store/postgresql/PostgresqlStoreProvider.java
hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBFeatures.java
hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStoreProvider.java
hugegraph-test/src/main/java/com/baidu/hugegraph/core/EdgeCoreTest.java
hugegraph-test/src/main/java/com/baidu/hugegraph/core/EdgeLabelCoreTest.java
hugegraph-test/src/main/java/com/baidu/hugegraph/core/VertexCoreTest.java
hugegraph-test/src/main/java/com/baidu/hugegraph/core/VertexLabelCoreTest.java
hugegraph-test/src/main/java/com/baidu/hugegraph/unit/util/JsonUtilTest.java
hugegraph-test/src/main/resources/hugegraph.properties