[
https://issues.apache.org/jira/browse/CASSANDRA-12296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15570067#comment-15570067
]
Kurt Greaves edited comment on CASSANDRA-12296 at 10/12/16 10:28 PM:
-
Don't insert your foot there too soon. Bootstrap is fine however you still get
an incorrect error message if you try and rebuild from the same DC using NTS
from a DC that doesn't contain the keyspace. When I was testing this case
apparently the error got masked by another keyspace which makes me think there
may be another bug here (I will investigate and write up another JIRA if I
manage to figure it out) i.e:
{code}
keyspace_name | durable_writes | replication
++-
test | True | {'class':
'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc1': '1'}
ccm node2 nodetool rebuild test dc2
nodetool: Unable to find sufficient sources for streaming range
(-1977532406384460074,-1976661853362798275] in keyspace test with RF=1.
Consider using NetworkTopologyStrategy for this keyspace.
{code}
In this case, node2 is in dc1, and although test isn't replicated to dc2 it
still gets to that error message.
I suppose alternatives could be:
1. Make the error more generic (e.g: 'Ensure this keyspace has replicas in the
source datacentre')
2. Catch this case separately and warn that you can't rebuild from a DC that
has no replicas.
Something more generic is probably OK and with a bit of thought the user should
come to a conclusion on how to deal with the issue like increase RF or change
to NTS - As long as we can be sure this only occurs from rebuilds. I can't see
any path that leads to here from anywhere other than a rebuild however I
haven't completely ruled out bootstrap yet.
What do you think [~jjirsa]?
was (Author: kurtg):
Don't insert your foot there too soon. Bootstrap is fine however you still get
an incorrect error message if you try and rebuild from the same DC using NTS
from a DC that doesn't contain the keyspace. When I was testing this case
apparently the error got masked by another keyspace which makes me think there
may be another bug here (details for which are below) i.e:
{code}
keyspace_name | durable_writes | replication
++-
test | True | {'class':
'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc1': '1'}
ccm node2 nodetool rebuild test dc2
nodetool: Unable to find sufficient sources for streaming range
(-1977532406384460074,-1976661853362798275] in keyspace test with RF=1.
Consider using NetworkTopologyStrategy for this keyspace.
{code}
In this case, node2 is in dc1, and although test isn't replicated to dc2 it
still gets to that error message.
I suppose alternatives could be:
1. Make the error more generic (e.g: 'Ensure this keyspace has replicas in the
source datacentre')
2. Catch this case separately and warn that you can't rebuild from a DC that
has no replicas.
Something more generic is probably OK and with a bit of thought the user should
come to a conclusion on how to deal with the issue like increase RF or change
to NTS - As long as we can be sure this only occurs from rebuilds. I can't see
any path that leads to here from anywhere other than a rebuild however I
haven't completely ruled out bootstrap yet.
What do you think [~jjirsa]?
> system_auth can't be rebuilt by default
> ---
>
> Key: CASSANDRA-12296
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12296
> Project: Cassandra
> Issue Type: Bug
>Reporter: Jim Witschey
>Priority: Minor
> Labels: lhf
> Attachments: 12296.patch
>
>
> This came up in discussion of CASSANDRA-11687. {{nodetool rebuild}} was
> failing in a dtest. [~pauloricardomg] explained:
> bq. before [CASSANDRA-11848] the local node could be considered a source,
> while now sources are restricted only to dc2, so since {{system_auth}} uses
> {{SimpleStrategy}} depending on the token arrangement there could or not be
> sources from dc2. Fix is to either use
> {{-Dcassandra.consistent.rangemovement=false}} or update {{system_auth}} to
> use {{NetworkTopologyStrategy}} with 2 dcs..
> This is, at the very least, a UX bug. When {{rebuild}} fails, it fails with
> {code}
> nodetool: Unable to find sufficient sources for streaming range
> (-3287869951390391138,-1624006824486474209] in keyspace system_auth with
> RF=1.If you want to ignore this, consider using system property
> -Dcassandra.consistent.rangemovement=false.
> {code}
> which suggests that a user should