[ 
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)

Reply via email to