Details

Type: Bug

Status: Resolved

Priority: Major

Resolution: Fixed

Fix Version/s: 1.2.0 beta 1

Component/s: Core

Labels:
Description
This constitutes followup work from CASSANDRA3831 where a partial improvement was committed, but the fundamental issue was not fixed. The maximum "practical" cluster size was significantly improved, but further work is expected to be necessary as cluster sizes grow.
Edit0: Appended patch information.
Patches
Compare  Raw diff  Description 

00_snitch_topology  00_snitch_topology.patch  Adds some functionality to TokenMetadata to track which endpoints and racks exist in a DC. 
01_calc_natural_endpoints  01_calc_natural_endpoints.patch  Rewritten O(logN) implementation of calculateNaturalEndpoints using the topology information from the tokenMetadata. 
Note: These are branches managed with TopGit. If you are applying the patch output manually, you will either need to filter the TopGit metadata files (i.e. wget O  <url>  filterdiff x*.topdeps x*.topmsg  patch p1), or remove them afterward (rm .topmsg .topdeps).
Issue Links
 blocks

CASSANDRA4119 Support multiple nonconsecutive tokens per host (virtual nodes)
 Resolved
 relates to

CASSANDRA3831 scaling to large clusters in GossipStage impossible due to calculatePendingRanges
 Resolved
Activity
Transition  Time In Source Status  Execution Times  Last Executer  Last Execution Date  


145d 7h 53m  1  Jonathan Ellis  03/Jul/12 19:24 
Workflow  patchavailable, reopen possible [ 12749829 ]  reopenresolved, no closed status, patchavail, testing [ 12757336 ] 
Workflow  noreopenclosed, patchavail [ 12652676 ]  patchavailable, reopen possible [ 12749829 ] 
Status  Open [ 1 ]  Resolved [ 5 ] 
Reviewer  scode  jbellis 
Fix Version/s  1.2 [ 12319262 ]  
Resolution  Fixed [ 1 ] 
Description 
This constitutes followup work from _Edit0: Appended patch information._ h3. Patches CompareRaw diffDescription [00_snitch_topologyhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology][00_snitch_topology.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology.diff]Adds some functionality to AbstractEndpointSnitch to track which endpoints and racks exist in a DC. [01_calc_natural_endpointshttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints][01_calc_natural_endpoints.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints.diff]Rewritten O(logN) implementation of calculateNaturalEndpoints using the topology information from the snitch.  _Note: These are branches managed with TopGit. If you are applying the patch output manually, you will either need to filter the TopGit metadata files (i.e. {{wget O  <url>  filterdiff x*.topdeps x*.topmsg  patch p1}}), or remove them afterward ({{rm .topmsg .topdeps}})._ 
This constitutes followup work from _Edit0: Appended patch information._ h3. Patches CompareRaw diffDescription [00_snitch_topologyhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology][00_snitch_topology.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology.diff]Adds some functionality to TokenMetadata to track which endpoints and racks exist in a DC. [01_calc_natural_endpointshttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints][01_calc_natural_endpoints.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints.diff]Rewritten O(logN) implementation of calculateNaturalEndpoints using the topology information from the tokenMetadata.  _Note: These are branches managed with TopGit. If you are applying the patch output manually, you will either need to filter the TopGit metadata files (i.e. {{wget O  <url>  filterdiff x*.topdeps x*.topmsg  patch p1}}), or remove them afterward ({{rm .topmsg .topdeps}})._ 
Labels  vnodes  
Description 
This constitutes followup work from 
This constitutes followup work from _Edit0: Appended patch information._ h3. Patches CompareRaw diffDescription [00_snitch_topologyhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology][00_snitch_topology.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/00_snitch_topology...p/3881/00_snitch_topology.diff]Adds some functionality to AbstractEndpointSnitch to track which endpoints and racks exist in a DC. [01_calc_natural_endpointshttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints][01_calc_natural_endpoints.patchhttps://github.com/acunu/cassandra/compare/refs/topbases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints.diff]Rewritten O(logN) implementation of calculateNaturalEndpoints using the topology information from the snitch.  _Note: These are branches managed with TopGit. If you are applying the patch output manually, you will either need to filter the TopGit metadata files (i.e. {{wget O  <url>  filterdiff x*.topdeps x*.topmsg  patch p1}}), or remove them afterward ({{rm .topmsg .topdeps}})._ 
Reviewer  scode 
Link 
This issue blocks 
Assignee  Peter Schuller [ scode ]  Sam Overton [ soverton ] 
Field  Original Value  New Value 

Link 
This issue relates to 
thanks, committed!