This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git


The following commit(s) were added to refs/heads/master by this push:
     new d28a28801 STORM-4040 Update Troubleshooting with workaround for Nimbus 
startup issue on older CPUs
d28a28801 is described below

commit d28a2880161c82781aefde7cb418fc10718887da
Author: Scott Moore <[email protected]>
AuthorDate: Thu Mar 28 13:03:59 2024 +0000

    STORM-4040 Update Troubleshooting with workaround for Nimbus startup issue 
on older CPUs
---
 docs/Troubleshooting.md | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md
index d01015a0e..0bafa4171 100644
--- a/docs/Troubleshooting.md
+++ b/docs/Troubleshooting.md
@@ -34,7 +34,7 @@ Solutions:
 
 Symptoms:
 
- * Processing works fine for awhile, and then suddenly stops and spout tuples 
start failing en masse. 
+ * Processing works fine for a while, and then suddenly stops and spout tuples 
start failing en masse. 
  
 Solutions:
 
@@ -112,3 +112,37 @@ Caused by: java.util.ConcurrentModificationException
 Solution: 
 
  * This means that you're emitting a mutable object as an output tuple. 
Everything you emit into the output collector must be immutable. What's 
happening is that your bolt is modifying the object while it is being 
serialized to be sent over the network.
+
+
+### Nimbus JVM shuts down right after start up
+
+Symptoms:
+
+* When starting storm nimbus, it shuts down straight away with only this 
logged:
+
+```
+2024-01-05 18:54:20.404 [o.a.s.v.ConfigValidation] INFO: Will use [class 
org.apache.storm.DaemonConfig, class org.apache.storm.Config] for validation
+2024-01-05 18:54:20.556 [o.a.s.z.AclEnforcement] INFO: SECURITY IS DISABLED NO 
FURTHER CHECKS...
+2024-01-05 18:54:20.740 [o.a.s.m.r.RocksDbStore] INFO: Opening RocksDB from 
<your-storm-folder>/storm_rocks, 
storm.metricstore.rocksdb.create_if_missing=true
+```
+
+* And the JVM exits with an "EXCEPTION_ILLEGAL_INSTRUCTION" like this:
+
+```
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+#  EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) at pc=0x00007ff94dc7a56d, 
pid=12728, tid=0x0000000000001d94
+#
+# JRE version: OpenJDK Runtime Environment (8.0_232) (build 1.8.0_232-09)
+# Java VM: OpenJDK 64-Bit Server VM (25.232-b09 mixed mode windows-amd64 
compressed oops)
+# Problematic frame:
+# C  [librocksdbjni4887247215762585789.dll+0x53a56d]
+```
+
+* And you're running on a pre-Haswell Intel or pre-Excavator AMD CPU.
+
+Solution:
+
+* rocksdb-jni from MVN Repository since version 7.0.4 is built for modern CPUs 
to take advantage of [newer 
instructions](https://en.wikipedia.org/wiki/X86_Bit_manipulation_instruction_set#BMI2_(Bit_Manipulation_Instruction_Set_2))
 for improved performance. Downgrade to version 6.29.5 to resolve this issue.
+* Alternatively, recompile rocksdb-jni with PORTABLE=1 as mentioned in the 
[INSTALL.md](https://github.com/facebook/rocksdb/blob/master/INSTALL.md) link 
in "Compliing from Source" section of 
https://github.com/facebook/rocksdb/wiki/RocksJava-Basics.

Reply via email to