[
https://issues.apache.org/jira/browse/CASSANDRA-9555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244143#comment-15244143
]
Robert Stupp commented on CASSANDRA-9555:
-----------------------------------------
I've put something together for these offline tools:
* sstableloader / BulkLoader
* sstableexpiredblockers / SSTableExpiredBlockers
* sstabledump / SSTableExport
* sstablelevelreset / SSTableLevelResetter
* sstablemetadata / SSTableMetadataViewer
* sstableofflinerelevel / SSTableOfflineRelevel
* sstablerepairedset / SSTableRepairedAtSetter
* sstablescrub / StandanloneScrubber
* sstablesplit / StandaloneSplitter
* sstableutil / StandaloneSSTableUtil
* sstableupgrade / StandaloneUpgrader
* sstableverify / StandaloneVerifier
These tools take a new option {{--run-even-if-cassandra-is-running}}. If these
already had a similar option, I've reused that. If those tools have a
corresponding nodetool command, that is then mentioned in the error message.
The check is performed against storage port, storage SSL port, rpc port, native
port, native SSL port using the configuration in {{cassandra.yaml}} to work
even if some of the ports are temporarily disabled. Detecting whether the JMX
port is open, is a bit difficult since the JMX configuration is not available
in the offline tools and including {{cassandra-env.sh}} is probably not a good
idea.
Most of the tools modify sstables, which will cause errors in Cassandra like
snapshots no longer working, repair failing and more.
Other tools seem to just read data, but these are designed to work correctly as
long as the set of referenced sstables is not change (same situation just the
other way around) - but a running Cassandra daemon will do that.
Such a message looks like this:
{code}
$ bin/sstablescrub system_schema tables
Storage/Gossip port at localhost/127.0.0.1:7000 is accepting connections,
assuming Cassandra is running.
It is strongly recommended to NOT run sstablescrub while Cassandra is running!
Consider using 'nodetool scrub'.
$
{code}
> Don't let offline tools run while cassandra is running
> ------------------------------------------------------
>
> Key: CASSANDRA-9555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9555
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Marcus Eriksson
> Assignee: Robert Stupp
> Priority: Minor
> Fix For: 3.x
>
>
> We should not let offline tools that modify sstables run while Cassandra is
> running.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)