Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-4040

Nimbus fails to start up on older CPUs (RocksDB v7.x.x onwards)

    XMLWordPrintableJSON

Details

    • Documentation
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.5.0
    • 2.6.2
    • documentation
    • None
    • CPU is pre-Haswell

    Description

      When Nimbus start-up and storm_rocks already contains data, the JVM will encounter an illegal instruction exception if the CPU is pre-Haswell era.

      This can be seen on such a CPU by deploying a running topology then restarting Nimbus. It will fail to startup because the JVM will have crashed when RocksDB reads the state from storm_rocks folder. (You can recover from this by deleting the storm_rocks folder - Nimbus will then startup ok ... until the next time it restarts!)

      The issue is that RocksDB v7.x.x or higher (so, applies to Storm 2.5.0 onwards from this commit https://github.com/apache/storm/commit/d7b4c084a89961a4060edb2e755491a21015c200) is a C++ component built for modern CPUs. The fix for this is to downgrade RocksDB to pre v7.x.x (or you can build your own version of v7+ from source with certain compiler options set)

      You can find other reports of this - e.g. https://github.com/facebook/rocksdb/issues/11096 or https://github.com/trezor/blockbook/issues/684

      This is not a bug in Storm, of course. Nor is it a bug - more a 'minimum requirements'.

      So I have a pull request to suggest workarounds for this in the Troubleshooting guide.

      Attachments

        Activity

          People

            scomo Scott Moore
            scomo Scott Moore
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m