Make Strategy classes fail if asked to fulfil an impossible replication request
-------------------------------------------------------------------------------

                 Key: CASSANDRA-1191
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1191
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Jonathan Ellis
            Assignee: Matthew F. Dennis
            Priority: Minor
             Fix For: 0.7


I added to RSECT in CASSANDRA-1147,

        // TODO DSS is asked to provide a total of 6 replicas, but we never 
give it 6 endpoints.
        // thus we are testing undefined behavior, at best.

This is easiest to cause in DSS but it can afflict other Strategies too.

Let's update the ARS contract to state that calculateNaturalEndpoints (hence 
getNaturalEndpoints too) will throw IllegalStateException if more replicas are 
requested than the known endpoints (for DSS, this would apply on a per-DC 
basis) and amend the Strategy classes to check for this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to