Skip to content

feat: CDC-based mixed index synchronization (#4873)#4906

Draft
porunov wants to merge 1 commit into
JanusGraph:masterfrom
porunov:feature/4873-cdc-mixed-index
Draft

feat: CDC-based mixed index synchronization (#4873)#4906
porunov wants to merge 1 commit into
JanusGraph:masterfrom
porunov:feature/4873-cdc-mixed-index

feat: CDC-based mixed index synchronization (#4873)

d81f2b7
Select commit
Loading
Failed to load commit list.
Codacy Production / Codacy Static Code Analysis succeeded Jul 2, 2026 in 0s

Your pull request is up to standards!

Codacy 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

Check warning on line 75 in janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java

See this annotation in the file changed.

@codacy-production 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

Check warning on line 184 in janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java

See this annotation in the file changed.

@codacy-production 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.

Check warning on line 221 in janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

janusgraph-cdc/src/main/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoder.java#L221

Use equals() to compare object references.

Check warning on line 123 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java#L123

Avoid throwing raw exception types.

Check warning on line 178 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerLoopTest.java#L178

Avoid throwing raw exception types.

Check warning on line 138 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMainTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcIndexUpdateWorkerMainTest.java#L138

Avoid throwing raw exception types.

Check warning on line 83 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java

See this annotation in the file changed.

@codacy-production 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.

Check warning on line 84 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/CdcKafkaElasticsearchTest.java

See this annotation in the file changed.

@codacy-production 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.

Check notice on line 301 in janusgraph-cdc/src/test/java/org/janusgraph/cdc/DebeziumCassandraJsonDecoderTest.java

See this annotation in the file changed.

@codacy-production 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'