Bug 971772
Summary: | Cassandra node Installation fails on IBM JRE 1.7 i686 on snappy | ||
---|---|---|---|
Product: | [Other] RHQ Project | Reporter: | Libor Zoubek <lzoubek> |
Component: | Database, Installer | Assignee: | Nobody <nobody> |
Status: | ON_QA --- | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 4.8 | CC: | hrupp, theute |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 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
Libor Zoubek
2013-06-07 08:59:48 UTC
same issue happens on : java -version java version "1.6.0" Java(TM) SE Runtime Environment (build pxi3260sr13ifix-20130303_02(SR13+IV37419)) IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260sr13-20130114_134867 (JIT enabled, AOT enabled) J9VM - 20130114_134867 JIT - r9_20130108_31100 GC - 20121212_AA) JCL - 20130303_02 When Cassandra starts up it tries to load the native library for snappy-java. If snappy-java cannot load the native library, the snappy loader class (I forget the exact name) calls e.printStackTrace() in the catch block. I believe that is what you are seeing there. I will update the storage installer to suppress this output and instead just log a warning message. You can view the code that produces that exception here - https://gist.github.com/jsanda/5735367. At start up Cassandra will try to load the native snappy-java library. If the library cannot be loaded, SnappyNativeLoader winds up making the e.printStackTrace() call. The storage installer is already configured to redirect stderr from Cassandra, and I want to add some logic in the installer that checks the stderr stream for snappy errors so that we can possibly log something useful for the user and still return a successful exit value from the installer. The problem is that the redirection is not always capturing the full stderr stream which makes it difficult to check for the error. The snappy exception causes the installer to exit with an error code which will cause rhqctl to abort execution. We do not want that to happen because Cassandra is still starting up fine. An alternative might be to check the storage node log file, assuming there are no other errors that prevent start up. If the node starts up and does not support compression, it will log the following, WARN [main] 2013-06-07 22:11:16,217 SnappyCompressor.java (line 38) Cannot initialize native Snappy library. Compression on new tables will be disabled. master c8221f54f catches this case and allows the install to continue. We still need a better fix though, as rhqctl start ( --storage ) also prints that message (but does not abort) We no include the snappy native library with our Cassandra bits. I am moving this to ON_QA for verification. |