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.