Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 960726

Summary: Cannot switch to JVM that does not support snappy compression after storage node has been installed
Product: [JBoss] JBoss Operations Network Reporter: John Sanda <jsanda>
Component: No ComponentAssignee: John Sanda <jsanda>
Status: CLOSED WONTFIX QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: unspecified    
Version: JON 3.2CC: hrupp
Target Milestone: ---   
Target Release: JON 3.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-09 14:44:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 951619    

Description John Sanda 2013-05-07 19:10:25 UTC
Description of problem:
Cassandra enables compression of SSTables by default. snappy is the default compression used. Compression is enabled for system tables as well. unlike user tables however, the system schema cannot be altered. This leads to severe consequences in the following, albeit unlikely, scenario.

I install a storage node running on OpenJDK or Oracle Java on a platform that snappy-java supports. Cassandra will create the system tables with compression enabled using snappy. I then later restart Cassandra using IBM Java. Due to an existing bug[1] in snappy-java that prevents the native library from being loaded when running on IBM Java, Cassandra will fail to initialize because it won't be able to decompress and read the system tables. I have logged an issue[2] with the Cassandra project to add support for making system table compression configurable.

If a user is running multiple nodes, a suitable work around might be to simple re-install that node. When the node is re-installed (running on IBM Java), data will be streamed from other nodes and data files will be written to disk without compression. 

I am not sure if we have a work around for single node deployments. Hopefully, support for making system table compression configurable will be added in time for JON 3.2. The option may be to use an upgraded version of snappy-java, which includes the fix, or use a patched version that includes the fix. 

[1] https://github.com/xerial/snappy-java/issues/34
[2] https://issues.apache.org/jira/browse/CASSANDRA-5548

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Heiko W. Rupp 2013-08-09 14:44:32 UTC
Snappy compression is not used in JON 3.2 / RHQ 4.9, to this is now void.