You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (JIRA)" <ji...@apache.org> on 2015/01/07 16:32:34 UTC

[jira] [Commented] (CASSANDRA-7768) Error when creating multiple CQLSSTableWriters for more than one column family in the same keyspace

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

Benjamin Lerer commented on CASSANDRA-7768:
-------------------------------------------

The problem come from a conflict between {{Keyspace.open}} and {{Config.setClientMode(true)}}. 
 When {{Config.setClientMode(true)}} is used a minimal configuration is used. That configuration has some missing data which trigger the {{NullPointerException}}. 

The patch for CASSANDRA-8280 add a {{Keyspace.open}} within {{UpdateStatement}}. Due to that on the latest 2.1 {{CQLSSTableWriter.addRow}} will throw a {{NullPointerException}} even if only one {{CQLSSTableWriter}} is used.

To avoid that problem you must not call  {{Config.setClientMode(true)}} before using {{CQLSSTableWriter}}.
Unfortunatly, you will then face CASSANDRA-8281.


> Error when creating multiple CQLSSTableWriters for more than one column family in the same keyspace
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7768
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7768
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Hadoop
>            Reporter: Paul Pak
>            Assignee: Benjamin Lerer
>            Priority: Minor
>              Labels: cql3, hadoop
>         Attachments: trunk-7768-v1.txt
>
>
> The reason why this occurs is if the keyspace has already been loaded (due to another column family being previously loaded in the same keyspace), CQLSSTableWriter builder only loads the column family via Schema.load(CFMetaData). However, Schema.load(CFMetaData) only adds to the Schema.cfIdMap without making the proper addition to the CFMetaData map belonging to the KSMetaData map.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)