[ 
https://issues.apache.org/jira/browse/CASSANDRA-6685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13896657#comment-13896657
 ] 

Brandon Williams edited comment on CASSANDRA-6685 at 2/10/14 3:26 PM:
----------------------------------------------------------------------

bq. Wasn't this change made to guard against the case when schema messages get 
delayed and responses aren't received before bootstrap begins?

It was an extra guard, which is apparently slightly flawed.  The heart of the 
problem in 6648 was the event to check if pulling was needed firing too early, 
and not pulling because the remote node was not known to be part of the ring 
yet and thus considered a fat client.

bq. For more than a few nodes, people won't list all nodes as a seed and, with 
this issue, non-seed nodes won't join until a keyspace is created.

{noformat}auto_bootstrap = false{noformat} will not only solve this, but also 
skip the ring delay sleep and be much faster.



was (Author: brandon.williams):
bq. Wasn't this change made to guard against the case when schema messages get 
delayed and responses aren't received before bootstrap begins?

It was an extra guard, which is apparently slightly flawed.  The heart of the 
problem in 6648 was the event to check if pulling was needing firing too early, 
and not pulling because the remote node was known to be part of the ring yet 
and thus considered a fat client.

bq. For more than a few nodes, people won't list all nodes as a seed and, with 
this issue, non-seed nodes won't join until a keyspace is created.

{noformat}auto_bootstrap = false{noformat} will not only solve this, but also 
skip the ring delay sleep and be much faster.


> Nodes never bootstrap if schema is empty
> ----------------------------------------
>
>                 Key: CASSANDRA-6685
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6685
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Richard Low
>
> Since 1.2.15, bootstrap never completes if the schema is empty. The 
> bootstrapping node endlessly prints:
> bq. {{INFO 12:37:44,863 JOINING: waiting for schema information to complete}}
> until you add something to the schema (i.e. create a keyspace).
> The problem looks to be caused by CASSANDRA-6648, where 
> MigrationManager.isReadForBootstrap() was changed to:
> bq. {{return Schema.instance.getVersion() != null && 
> !Schema.emptyVersion.equals(Schema.instance.getVersion());}}
> This is wrong since 
> {{Schema.emptyVersion.equals(Schema.instance.getVersion())}} is always true 
> if there is no schema.
> We need some different logic for determining when the schema is propagated.
> I haven't tested, but I expect this issue appears in 2.0.5 too.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to