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.