[
https://issues.apache.org/jira/browse/CASSANDRA-21540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maxim Muzafarov updated CASSANDRA-21540:
----------------------------------------
Bug Category: Parent values: Correctness(12982)
Complexity: Low Hanging Fruit
Component/s: Feature/Encryption
Discovered By: Code Inspection
Fix Version/s: 6.x
7.x
5.x
Severity: Critical
Status: Open (was: Triage Needed)
> Startup fails when TDE is enabled
> ---------------------------------
>
> Key: CASSANDRA-21540
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21540
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Feature/Encryption
> Reporter: Valery Baranov
> Assignee: Valery Baranov
> Priority: Normal
> Fix For: 6.x, 7.x, 5.x
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> With enabled TDE:
> {code:java}
> transparent_data_encryption_options:
> enabled: true {code}
> Cassandra failed to start:
> {code:java}
> Exception (java.lang.AssertionError) encountered during startup: null
> java.lang.AssertionError
> at
> org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.createSegmentBuilder(AbstractCommitLogSegmentManager.java:127)
> at
> org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.start(AbstractCommitLogSegmentManager.java:156)
> at
> org.apache.cassandra.db.commitlog.CommitLog.start(CommitLog.java:148)
> at
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:273)
> at
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:839)
> at
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:993)
> ERROR [main] 2026-07-29T10:02:55,512 CassandraDaemon.java:1020 - Exception
> encountered during startup
> java.lang.AssertionError: null
> at
> org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.createSegmentBuilder(AbstractCommitLogSegmentManager.java:127)
> at
> org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.start(AbstractCommitLogSegmentManager.java:156)
> at
> org.apache.cassandra.db.commitlog.CommitLog.start(CommitLog.java:148)
> at
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:273)
> at
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:839)
> at
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:993)
> {code}
>
> *commitlog_disk_access_mode* not correct in *createSegmentBuilder* (value is
> {*}mmap{*}, but should be {*}standard{*}):
> {code:java}
> private CommitLogSegment.Builder
> createSegmentBuilder(CommitLog.Configuration config)
> {
> if (config.useEncryption())
> {
> assert config.diskAccessMode == DiskAccessMode.standard; {code}
> Problem is *applyEncryptionContext()* loaded after resolving
> *commitlog_disk_access_mode* in applySimpleConfig() ->
> initializeCommitLogDiskAccessMode() -> resolveCommitLogWriteDiskAccessMode(),
> when encryptionContext is not loaded (null).
> We need to change methods order: *applyEncryptionContext()* before
> *applySimpleConfig().*
> WA is also uncomment {*}commitlog_compression{*}:
> {code:java}
> commitlog_compression:
> - class_name: LZ4Compressor {code}
> but this only hides bug. And compressor is hardcoded in *EncryptionContext*
> ({+}ignored{+} from config):
> {code:java}
> compressor = LZ4Compressor.create(Collections.<String, String>emptyMap());
> {code}
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]