michaelsembwever opened a new pull request, #236:
URL: https://github.com/apache/cassandra-analytics/pull/236

   https://issues.apache.org/jira/browse/CASSANALYTICS-37
   
   Cassandra Analytics reads, bulk writes and consumes CDC through one bridge 
jar per major version. This adds the SIXZERO bridge, pinned to 6.0-alpha2 from 
Maven Central, in five new modules that copy and override the five-zero and 
four-zero sources.
   
   Four 6.0 changes needed work:
   
    - SSTable versions big-pa and bti-ea, both added for compression dictionary 
metadata in the CompressionInfo component.
    - A trailing dictionary section in CompressionInfo. The six-zero 
CompressionMetadata deserializes it, interns one dictionary per dictId so that 
readers of one SSTable share the zstd compressor that ZstdDictionaryCompressor 
keys by dictId, and releases the references it holds through close(). 
SSTableCache gained a removal listener to call close(), and SSTableReader holds 
a second reference for the life of a stream.
    - CEP-21 Transactional Cluster Metadata retypes Schema.instance to 
SchemaProvider and replaces transform() with submit(), which notifies no 
listener offline, so SchemaUpdater initializes the keyspace instances by hand 
after ClusterMetadataService.initializeForClients().
    - Commit log version 9 and messaging version 14, read through the shaded 
6.0 deserializers.
   
   Two defects in the existing bridges surfaced while testing the copies and 
are fixed here. CassandraSchema.unregisterNonCdcTable called 
SchemaUpdater.load, which on 5.0 only adds a keyspace and throws 
AlreadyExistsException for one that exists, so the table stayed registered; 
removeTables replaces the keyspace metadata instead. On 5.0 that commit reaches 
Keyspace.dropCf, which needs machinery a client-mode process never started, so 
removeTables clears the initialized flag for the commit only.
   
   BridgeVersionConsistencyTest asserts that every type a bridge hands out 
reports the bridge's own version, which catches a six-zero module that silently 
inherits a version-bearing class from five-zero through the Gradle copy-forward.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to