Table.load() uses column name instead of column family name to lookup column 
family stores
------------------------------------------------------------------------------------------

                 Key: CASSANDRA-1460
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1460
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.7 beta 1, 0.6.5, 0.6.4
         Environment: Mac OS X 10.6.4, JDK 1.6.0_20
            Reporter: Karl Eklöf


Current code:

  void load(RowMutation rowMutation) throws IOException
    {
        DecoratedKey key = 
StorageService.getPartitioner().decorateKey(rowMutation.key());
        for (ColumnFamily columnFamily : rowMutation.getColumnFamilies())
        {
            Collection<IColumn> columns = columnFamily.getSortedColumns();
            for (IColumn column : columns)
            {
                ColumnFamilyStore cfStore = 
columnFamilyStores.get(FBUtilities.byteArrayToInt(column.name()));
                cfStore.applyBinary(key, column.value());
            }
        }
    }

Should be: (best guess)

  void load(RowMutation rowMutation) throws IOException
    {
        DecoratedKey key = 
StorageService.getPartitioner().decorateKey(rowMutation.key());
        for (ColumnFamily columnFamily : rowMutation.getColumnFamilies())
        {
           Collection<IColumn> columns = columnFamily.getSortedColumns();
           ColumnFamilyStore cfStore = 
columnFamilyStores.get(FBUtilities.byteArrayToInt(columnFamily.name().getBytes("UTF-8")));
          
           for (IColumn column : columns)
            {
                cfStore.applyBinary(key, column.value());
            }
        }
    }

The code above is from 0.7, but I've have verified the problem in 0.6.4 using 
the bulk loader example from contrib/bmt_example.

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

Reply via email to