[
https://issues.apache.org/jira/browse/CASSANDRA-358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742534#action_12742534
]
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: https://issues.apache.org/jira/browse/CASSANDRA-358
> 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.