cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Chlupacek (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-8018) Cassandra seems to insert twice in custom PerColumnSecondaryIndex
Date Mon, 29 Sep 2014 16:08:33 GMT
Pavel Chlupacek created CASSANDRA-8018:
------------------------------------------

             Summary: Cassandra seems to insert twice in custom PerColumnSecondaryIndex
                 Key: CASSANDRA-8018
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8018
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Pavel Chlupacek
             Fix For: 2.1.0


When inserting data into Cassandra 2.1.0 into table with custom secondary index, the Cell
is inserted twice, if inserting new entry into row with same rowId, but different cluster
index columns. 

====

CREATE KEYSPACE fulltext WITH replication = {'class': 'SimpleStrategy',  'replication_factor'
: 1};

CREATE TABLE fulltext.test ( id uuid, name text, name2 text, json varchar, lucene text, primary
key ( id , name));

s"CREATE CUSTOM INDEX lucene_idx on fulltext.test(lucene) using 'com.spinoco.fulltext.cassandra.TestIndex';
"

// this causes only one insert
 insertInto("fulltext","test")
      .value("id", id1.uuid)
      .value("name", "goosh1") 
      .value("json", TestContent.message1.asJson)

// this causes 2 inserts to be done 
 insertInto("fulltext","test")
        .value("id", id1.uuid)
        .value("name", "goosh2")
        .value("json", TestContent.message2.asJson)


/// stacktraces for inserts (always same, for 1st and 2nd insert)

<custom indexer stacktraces> and then
	at org.apache.cassandra.db.index.SecondaryIndexManager$StandardUpdater.insert(SecondaryIndexManager.java:707)
	at org.apache.cassandra.db.AtomicBTreeColumns$ColumnUpdater.apply(AtomicBTreeColumns.java:344)
	at org.apache.cassandra.db.AtomicBTreeColumns$ColumnUpdater.apply(AtomicBTreeColumns.java:319)
	at org.apache.cassandra.utils.btree.NodeBuilder.addNewKey(NodeBuilder.java:323)
	at org.apache.cassandra.utils.btree.NodeBuilder.update(NodeBuilder.java:191)
	at org.apache.cassandra.utils.btree.Builder.update(Builder.java:74)
	at org.apache.cassandra.utils.btree.BTree.update(BTree.java:186)
	at org.apache.cassandra.db.AtomicBTreeColumns.addAllWithSizeDelta(AtomicBTreeColumns.java:189)
	at org.apache.cassandra.db.Memtable.put(Memtable.java:194)
	at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1142)
	at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:394)
	at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351)
	at org.apache.cassandra.db.Mutation.apply(Mutation.java:214)
	at org.apache.cassandra.service.StorageProxy$7.runMayThrow(StorageProxy.java:970)
	at org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2080)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103)
	at java.lang.Thread.run(Thread.java:744)


//// Note that cell, rowkey and Group in public abstract void insert(ByteBuffer rowKey, Cell
col, OpOrder.Group opGroup); are having for both successive calls same identity 



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

Mime
View raw message