Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E479D104A5 for ; Wed, 25 Dec 2013 10:24:55 +0000 (UTC) Received: (qmail 97170 invoked by uid 500); 25 Dec 2013 10:24:53 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 96936 invoked by uid 500); 25 Dec 2013 10:24:52 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 96919 invoked by uid 99); 25 Dec 2013 10:24:51 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Dec 2013 10:24:51 +0000 Date: Wed, 25 Dec 2013 10:24:50 +0000 (UTC) From: "David Viet (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Reopened] (CASSANDRA-6524) Trigger ERROR with java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-6524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Viet reopened CASSANDRA-6524: ----------------------------------- > Trigger ERROR with java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:267) > ----------------------------------------------------------------------------------------------- > > Key: CASSANDRA-6524 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6524 > Project: Cassandra > Issue Type: Bug > Environment: Cassandra 2.0.2 - Windows 7 64bit > Reporter: David Viet > > I follow the Trigger example of Cassandra. > *My test Column Family* > CREATE TABLE test ( > key text, > value text, > PRIMARY KEY (key) > ) > *My index for test Column Family* > CREATE TABLE sampleindex ( > name text, > value text, > PRIMARY KEY (name) > ) > Instead of cell.name(), I use ByteBufferUtil.bytes("value"): > *mutation.add("sampleindex", ByteBufferUtil.bytes("value"), key ,System.currentTimeMillis());* > This line of code always cause error: > WARN 14:19:00,854 Exception > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:55) > at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:64) > at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:82) > at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35) > at java.util.TreeMap.compare(TreeMap.java:1188) > at java.util.TreeMap.put(TreeMap.java:531) > at org.apache.cassandra.db.TreeMapBackedSortedColumns.addColumn(TreeMapBackedSortedColumns.java:90) > at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:128) > at org.apache.cassandra.db.RowMutation.add(RowMutation.java:144) > at org.apache.cassandra.db.RowMutation.add(RowMutation.java:154) > at org.apache.cassandra.triggers.InvertedIndex.augment(InvertedIndex.java:83) > at org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:123) > at org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:73) > at org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:567) > at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:379) > at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:363) > at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:129) > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:145) > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:136) > at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1936) > at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4394) > at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4378) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:194) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:722) > I think the main reason is from https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java > {code:title=AbstractCompositeType.java|borderStyle=solid} > public static ByteBuffer getBytes(ByteBuffer bb, int length) > { > ByteBuffer copy = bb.duplicate(); > copy.limit(copy.position() + length); > bb.position(bb.position() + length); > return copy; > } > {code} > Please consider this problem. Thank you. -- This message was sent by Atlassian JIRA (v6.1.5#6160)