After a chat with driftx today, I tried wiping out my MigrationInfo on the 
ring and rolling a restart. I then made a single change to the schema so at 
least 1 migration would exist. Unfortunately the same error persists: 
"Previous version mismatch". Also occasionally the node is bootstrapping 
without applying any schema on startup. The behaviour is inconsistent, 
despite wiping the entire data directory and commitlogs on the 
bootstrapping node.

I added some debug statements to Migration.java to find exactly what the 
mismatch was. Here is what I have now:

DEBUG [MigrationStage:1] 2012-09-07 04:44:53,669 Migration.java (line 98) 
lastversion: ee323110-eedf-11e1-0000-5027269873df  getVersion: 
00000000-0000-1000-0000-000000000000
DEBUG [MigrationStage:1] 2012-09-07 04:44:53,669 
DefinitionsUpdateVerbHandler.java (line 80) Migration not applied Previous 
version mismatch. cannot apply.
DEBUG [MigrationStage:1] 2012-09-07 04:44:53,670 
DefinitionsUpdateVerbHandler.java (line 70) Applying UpdateColumnFamily 
from /10.140.129.18
DEBUG [MigrationStage:1] 2012-09-07 04:44:53,670 Migration.java (line 98) 
lastversion: ee323110-eedf-11e1-0000-5027269873df  getVersion: 
00000000-0000-1000-0000-000000000000
DEBUG [MigrationStage:1] 2012-09-07 04:44:53,670 
DefinitionsUpdateVerbHandler.java (line 80) Migration not applied Previous 
version mismatch. cannot apply.

The "Previous version mismatch" event happens when lastVersion != 
getVersion. Obviously that is the case here, as getVersion is blank. Don't 
all nodes bootstrap with a blank schema version? Why would the Migration 
logic expect the lastVersion to match the bootstrapping nodes getVersion?



On Wednesday, September 5, 2012 4:29:34 AM UTC-7, Jason Harvey wrote:
>
> Hey folks,
>
> I have a 1.0.11 ring running in production with 6 nodes. Trying to 
> bootstrap a new node in, and I'm getting the following consistently:
>
>  INFO [main] 2012-09-05 04:24:13,317 StorageService.java (line 668) 
> JOINING: waiting for schema information to complete
>
>
> After waiting for over 30 minutes, I restarted the node to try again, and 
> got the same thing. Tried wiping out the data dir on the new node, as well. 
> Same result.
>
> Turned on DEBUG, and got the following:
>
>  INFO [main] 2012-09-05 03:58:55,205 StorageService.java (line 668) 
> JOINING: waiting for schema information to complete
> DEBUG [MigrationStage:1] 2012-09-05 03:59:11,440 
> DefinitionsUpdateVerbHandler.java (line 70) Applying UpdateColumnFamily 
> from /10.140.128.218
> DEBUG [MigrationStage:1] 2012-09-05 03:59:11,440 
> DefinitionsUpdateVerbHandler.java (line 80) Migration not applied Previous 
> version mismatch. cannot apply.
> DEBUG [MigrationStage:1] 2012-09-05 03:59:11,631 
> DefinitionsUpdateVerbHandler.java (line 70) Applying UpdateColumnFamily 
> from /10.140.128.218
> DEBUG [MigrationStage:1] 2012-09-05 03:59:11,631 
> DefinitionsUpdateVerbHandler.java (line 80) Migration not applied Previous 
> version mismatch. cannot apply.
>
>
> The logs continue with a bunch of failed migration errors from each node 
> in the ring.
>
> So, I'm guessing that there is a schema history problem on one of my 
> nodes? Any clues on how I can fix this? I had considered wiping out the 
> schema on one of my running nodes and starting it back up, but I'm worried 
> it might not come back if it gets the same errors.
>
>
> Also as a random question: is there any way to 'merge' historical schema 
> changes together?
>
>
> Thanks,
> Jason
>

Reply via email to