Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model cassandra behaviors more accurately #54

Open
adrianco opened this issue Sep 21, 2015 · 1 comment
Open

Model cassandra behaviors more accurately #54

adrianco opened this issue Sep 21, 2015 · 1 comment

Comments

@adrianco
Copy link
Owner

First pass at hash based sharding in priamCassandra seems to work well enough for now.
priamCassandra_test.go shows the token assignments and how balanced the hash is across nodes

cass5:0,cass6:268435455,cass8:536870910,cass1:805306365,cass7:1073741820,cass12:1342177275,cass13:1610612730,cass0:1879048185,cass4:2147483640,cass9:2415919095,cass14:2684354550,cass15:2952790005,cass2:3221225460,cass3:3489660915,cass10:3758096370,cass11:4026531825
map[6:55 1:60 13:65 5:51 4:79 7:54 14:69 12:60 15:82 10:64 2:63 3:56 11:59 8:62 0:64 9:57]

For now the ring token assignments are only setup within each zone, so when replicating a Put messages are sent to a random node in the right zone or region, which then passes them on to the right place. This should be extended so that each node gossips it's ring to the other zones and regions.

@adrianco
Copy link
Owner Author

Flow records are now stored for every step and traces are logged to json_metrics/_flow.json but currently as raw maps.

Since the chaosmonkey deletes nodes, if it deletes a node that has a GetResponse flowing back up through it, spigo crashes. I've only seen this race condition once so far in many runs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant