feat: CDC-based mixed index synchronization (#4873)#4906
Your pull request is up to standards!
Here is an overview of what got changed by this pull request:
Issues
======
- Added 9
Complexity increasing per file
==============================
- janusgraph-core/src/main/java/org/janusgraph/graphdb/configuration/GraphDatabaseConfiguration.java 1
- janusgraph-cql/src/main/java/org/janusgraph/diskstorage/cql/CQLKeyColumnValueStore.java 2
- janusgraph-cdc/src/main/java/org/janusgraph/cdc/CdcIndexUpdateWorker.java 46
- janusgraph-cdc/src/main/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMain.java 15
- janusgraph-cdc/src/main/java/org/janusgraph/cdc/CdcWorkerConfiguration.java 38
- janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java 44
- janusgraph-cdc/src/test/java/io/debezium/connector/cassandra/JanusGraphCdcConnectorStarter.java 2
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcCassandraDebeziumElasticsearchTest.java 23
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java 13
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMainTest.java 7
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java 22
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcWorkerConfigurationTest.java 6
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcWorkerConvergenceTest.java 24
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoderTest.java 27
- janusgraph-core/src/main/java/org/janusgraph/graphdb/database/index/CdcElementChange.java 9
- janusgraph-core/src/main/java/org/janusgraph/graphdb/database/index/MixedIndexUpdateApplier.java 27
- janusgraph-core/src/test/java/org/janusgraph/graphdb/configuration/CdcIndexConfigTest.java 1
- janusgraph-cql/src/test/java/org/janusgraph/diskstorage/cql/CQLCdcTableOptionTest.java 5
- janusgraph-lucene/src/test/java/org/janusgraph/diskstorage/lucene/CdcSkipMutationTest.java 4
- janusgraph-lucene/src/test/java/org/janusgraph/diskstorage/lucene/MixedIndexUpdateApplierTest.java 23
- janusgraph-core/src/test/java/org/janusgraph/graphdb/database/index/CdcElementChangeTest.java 1
Clones added
============
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcCassandraDebeziumElasticsearchTest.java 2
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java 1
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMainTest.java 9
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java 5
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcWorkerConvergenceTest.java 12
- janusgraph-cdc/src/test/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoderTest.java 14
- janusgraph-lucene/src/test/java/org/janusgraph/diskstorage/lucene/MixedIndexUpdateApplierTest.java 1
See the complete overview on Codacy
Annotations
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java#L75
The method 'decode(byte, byte)' has an NPath complexity of 3456, current threshold is 200
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java#L184
An instanceof check is being performed on the caught exception. Create a separate catch clause for this exception type.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java#L221
Use equals() to compare object references.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java#L123
Avoid throwing raw exception types.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java#L178
Avoid throwing raw exception types.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMainTest.java#L138
Avoid throwing raw exception types.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java#L83
Perhaps 'decoder' could be replaced by a local variable.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java#L84
Perhaps 'applier' could be replaced by a local variable.
codacy-production / Codacy Static Code Analysis
janusgraph-cdc/src/test/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoderTest.java#L301
Unnecessary use of fully qualified name 'org.janusgraph.diskstorage.StaticBuffer.ARRAY_FACTORY' due to existing import 'org.janusgraph.diskstorage.StaticBuffer'