You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/08/20 06:00:14 UTC
[jira] Created: (CASSANDRA-385) intellibootstrap
intellibootstrap
----------------
Key: CASSANDRA-385
URL: https://issues.apache.org/jira/browse/CASSANDRA-385
Project: Cassandra
Issue Type: Bug
Reporter: Jonathan Ellis
ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Evan Weaver (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745305#action_12745305 ]
Evan Weaver commented on CASSANDRA-385:
---------------------------------------
this would be super...would obviate the need for fancy LB for quite a while, at least for us.
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Chris Goffinet
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt
0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt
0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt
0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt
0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: 0008-rename-getMessagingInstance-instance-r-m-unused.patch
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Sandeep Tata (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762274#action_12762274 ]
Sandeep Tata commented on CASSANDRA-385:
----------------------------------------
I get a build error. Perhaps a missing patch file in the set?
build-project:
[echo] apache-cassandra-incubating: /home/stata/cassandra/build.xml
[javac] Compiling 246 source files to /home/stata/cassandra/build/classes
[javac] /home/stata/cassandra/src/java/org/apache/cassandra/service/StorageService.java:1177: cannot find symbol
[javac] symbol : method undecorateKey(java.lang.String)
[javac] location: interface org.apache.cassandra.dht.IPartitioner
[javac] String key = partitioner_.undecorateKey(decoratedKeys.get(index));
[javac] ^
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 error
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762814#action_12762814 ]
Jonathan Ellis commented on CASSANDRA-385:
------------------------------------------
there's a couple motivations there:
- i believe this same method call will be a good fit for Hadoop asking for input splits, so it will still be client-facing as well. the convention is safe, or will be :)
- RPC is a better fit for this than messagingservice's callback-oriented approach, since we do want to block the bootstrap until getting an answer
how bad is the thriftAddress pain going to be?
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763471#action_12763471 ]
Hudson commented on CASSANDRA-385:
----------------------------------
Integrated in Cassandra #221 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/221/])
rename getMessagingInstance -> instance; r/m unused methods from FBUtiltities
patch by jbellis; reviewed by Eric Evans for
get token on bootstrap that gives us half of the keys from the most heavily-loaded node. (the "splits" approach should also be useful for #342; adding it to Thrift is trivial)
patch by jbellis; reviewed by Eric Evans for
add getLoadMap jmx method; add load info to nodeprobe ring
patch by jbellis; reviewed by Eric Evans for
use Strings instead of Endpoints in jmx methods. merge cluster info into ring.
patch by jbellis; reviewed by Eric Evans for
move javadoc into mbean. inline methods where wrapping is not necessary to satisfy Demeter
patch by jbellis; reviewed by Eric Evans for
make LoadInfo a double instead of going from long -> string -> LoadInfo -> int
patch by jbellis; reviewed by Eric Evans for
clean up loadinfo and SLB
patch by jbellis; reviewed by Eric Evans for
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Michael Greene (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Greene updated CASSANDRA-385:
-------------------------------------
Component/s: Core
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: (was: 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759287#action_12759287 ]
Jonathan Ellis commented on CASSANDRA-385:
------------------------------------------
06
get token on bootstrap that gives us half of the keys from the most heavily-loaded node.
the "splits" list should also be useful for #342.
05
add getLoadMap jmx method; add load info to nodeprobe ring
04
use Strings instead of Endpoints in jmx methods. merge cluster info into ring.
03
move javadoc into mbean. inline methods where wrapping is not necessary to satisfy Demeter
02
make LoadInfo a double instead of going from long -> string -> LoadInfo -> int
01
clean up loadinfo and SLB
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762810#action_12762810 ]
Eric Evans commented on CASSANDRA-385:
--------------------------------------
This looks good to me, but I do have one question/concern.
Introduced in 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, when a node bootstraps and hasn't been assigned a token, it selects one via StorageService.getBootstrapTokenFrom which uses Thrift to retrieve it as a property.
My concern is that this is the first time we've used Thrift for anything that wasn't client oriented. Do we want to start now, or does it make sense to preserve that separation?
If nothing else, sticking with this approach will mean that work is needed to improve how the Thrift service is bound to interfaces, (currently configured via ThriftAddress), because there is only one option that is guaranteed safe with this patch applied (0.0.0.0).
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt
0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt
0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt
0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt
0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Fix Version/s: 0.5
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Chris Goffinet
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-385) intellibootstrap
Posted by "Chris Goffinet (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Goffinet reassigned CASSANDRA-385:
----------------------------------------
Assignee: Chris Goffinet
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Chris Goffinet
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762215#action_12762215 ]
Jonathan Ellis commented on CASSANDRA-385:
------------------------------------------
rebased
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis reassigned CASSANDRA-385:
----------------------------------------
Assignee: Jonathan Ellis (was: Chris Goffinet)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763107#action_12763107 ]
Eric Evans commented on CASSANDRA-385:
--------------------------------------
Looks good to me. +1
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12764446#action_12764446 ]
Hudson commented on CASSANDRA-385:
----------------------------------
Integrated in Cassandra #224 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/224/])
add AutoBootstrap config option
patch by jbellis. reviewed by goffinet for
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt
0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt
0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt
0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt
0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763102#action_12763102 ]
Jonathan Ellis commented on CASSANDRA-385:
------------------------------------------
08
rename getMessagingInstance -> instance; r/m unused methods from FBUtiltities
07
switch to messagingservice to get bootstrap token
(will squash this into 06 for commit, but it's probably easy to review as a separate patch)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-385:
-------------------------------------
Attachment: 0007-switch-to-messagingservice-to-get-bootstrap-token.patch
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt, 0007-switch-to-messagingservice-to-get-bootstrap-token.patch, 0008-rename-getMessagingInstance-instance-r-m-unused.patch
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-385) intellibootstrap
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762291#action_12762291 ]
Jonathan Ellis commented on CASSANDRA-385:
------------------------------------------
oops. rebased better. :)
> intellibootstrap
> ----------------
>
> Key: CASSANDRA-385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-385
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Fix For: 0.5
>
> Attachments: 0001-CASSANDRA-385-clean-up-loadinfo-and-SLB.txt, 0002-make-LoadInfo-a-double-instead-of-going-from-long-s.txt, 0003-move-javadoc-into-mbean.-inline-methods-where-wrappin.txt, 0004-use-Strings-instead-of-Endpoints-in-jmx-methods.-merge.txt, 0005-add-getLoadMap-jmx-method-add-load-info-to-nodeprobe.txt, 0006-get-token-on-bootstrap-that-gives-us-half-of-the-keys.txt
>
>
> ideally bootstrap mode should determine its new position on the ring by examining the Load of the existing nodes in the cluster. (currently Load is just disk space used but making this pluggable is another ticket.) having found the highest-load-node-that-is-not-participating-in-bootstrap, it should ask that node for a Token which would move half the keys over to the new node.
> This is easily computed since we have a periodic sampling of keys in memory of all the keys on disk, and even SSTable.getIndexedKeys that merges all such keys. So pick the midpoint, and turn it into a token (these are decorated keys so that is always possible).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.