cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill de hOra (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-358) SystemTable.initMetadata throws an NPE when called twice
Date Wed, 12 Aug 2009 19:27:14 GMT


Bill de hOra commented on CASSANDRA-358:

> it seems pretty clear to me that SMD was intended to be a singleton in the original design.

That might be the case, but  I suspect it just was designed with the assumption it would only
ever be iniitalised once, which doesn't hold anymore.  I've been looking at how StorageMetadata
is used in StorageService (it's only used there). It's kind of broken - StorageService.upin
L492dateToken calls SystemTable.updateToken  but then updates its StorageMetadata field directly
- StorageService should ask  SystemTable directly for the StorageMetadata, leaving to manage
cache/refs, and be refielded instead of "Update the storageMetadata cache" directly as per
the comment in L492. 

> the right fix there is to update the cached SMD in updateToken, then. 

Ok, I think I'll go with the cache notion, but it needs some small work in StorageService
as well.

> SystemTable.initMetadata throws an NPE when called twice
> --------------------------------------------------------
>                 Key: CASSANDRA-358
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jeff Hodges
>         Attachments: 358-5.patch, 358-7.patch, 358-v8.patch
> While this is not the expected use case of it, SystemTable.initMetadata throws an NPE
when called twice in the same process.  The error points to tokenColumn being null even through
cf is not at line 111.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message