Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 10458 invoked from network); 25 Sep 2009 15:09:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Sep 2009 15:09:45 -0000 Received: (qmail 65687 invoked by uid 500); 25 Sep 2009 15:09:45 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 65672 invoked by uid 500); 25 Sep 2009 15:09:45 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 65662 invoked by uid 99); 25 Sep 2009 15:09:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Sep 2009 15:09:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Sep 2009 15:09:36 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 0EC64234C004 for ; Fri, 25 Sep 2009 08:09:16 -0700 (PDT) Message-ID: <1004429830.1253891356045.JavaMail.jira@brutus> Date: Fri, 25 Sep 2009 08:09:16 -0700 (PDT) From: "Jonathan Ellis (JIRA)" To: cassandra-commits@incubator.apache.org Subject: [jira] Commented: (CASSANDRA-458) Null pointer exception in doIndexing(ColumnIndexer.java:142) In-Reply-To: <720930434.1253885416693.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CASSANDRA-458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759560#action_12759560 ] Jonathan Ellis commented on CASSANDRA-458: ------------------------------------------ ok. i have 3 copies running. they are each past 10000. how long should this take? > Null pointer exception in doIndexing(ColumnIndexer.java:142) > ------------------------------------------------------------ > > Key: CASSANDRA-458 > URL: https://issues.apache.org/jira/browse/CASSANDRA-458 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.4 > Environment: FreeBSD 7.2, diablo-jdk-1.6.0.07.02_5, snapshot cassandra-0.4.0-final at 24/09/2009 > Reporter: Teodor Sigaev > Attachments: test.pl > > > INFO - Saved Token not found. Using 17570558338530880605478324248305304996 > INFO - Cassandra starting up... > INFO - Standard1 has reached its threshold; switching in a fresh Memtable > INFO - Enqueuing flush of Memtable(Standard1)@15830327 > INFO - Sorting Memtable(Standard1)@15830327 > INFO - Writing Memtable(Standard1)@15830327 > INFO - Completed flushing /spool/cassandra/data/Keyspace1/Standard1-1-Data.db > INFO - Standard1 has reached its threshold; switching in a fresh Memtable > INFO - Enqueuing flush of Memtable(Standard1)@22655307 > INFO - Sorting Memtable(Standard1)@22655307 > INFO - Writing Memtable(Standard1)@22655307 > ERROR - Error in executor futuretask > java.util.concurrent.ExecutionException: java.lang.AssertionError > at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) > at java.util.concurrent.FutureTask.get(FutureTask.java:83) > at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.logFutur > eExceptions(DebuggableThreadPoolExecutor.java:95) > at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.afterExe > cute(DebuggableThreadPoolExecutor.java:82) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec > utor.java:887) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor > .java:907) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.AssertionError > at org.apache.cassandra.db.ColumnIndexer.doIndexing(ColumnIndexer.java:1 > 07) > at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:62 > ) > at org.apache.cassandra.db.ColumnFamilySerializer.serializeWithIndexes(C > olumnFamilySerializer.java:78) > at org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:22 > 2) > at org.apache.cassandra.db.ColumnFamilyStore$2$1.run(ColumnFamilyStore.j > ava:934) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44 > 1) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec > utor.java:885) > ... 2 more > INFO - Standard1 has reached its threshold; switching in a fresh Memtable > INFO - Enqueuing flush of Memtable(Standard1)@14600171 > INFO - Sorting Memtable(Standard1)@14600171 > INFO - Writing Memtable(Standard1)@14600171 > INFO - Completed flushing /spool/cassandra/data/Keyspace1/Standard1-3-Data.db > How to reproduce: Run perl script pointed below, three at once. In short, script just inserts a row and immediately removes it. > #!/usr/local/bin/perl > use lib qw(/usr/local/cassandra/interface/gen-perl/Cassandra /usr/local/cassandra/interface/gen-perl); > use strict; > use Cassandra; > use Thrift::Socket; > use Thrift::BinaryProtocol; > use Thrift::FramedTransport; > use Thrift::BufferedTransport; > use Data::Dumper; > use Time::HiRes qw( gettimeofday tv_interval ); > use Getopt::Std; > my %opt; > getopts('iu:t:rn:', \%opt); > my $socket = Thrift::Socket->new('localhost', 9160); > $socket->setSendTimeout(1000); > $socket->setRecvTimeout(5000); > my $transport = Thrift::BufferedTransport->new($socket, 1024, 1024); > my $protocol = Thrift::BinaryProtocol->new($transport); > my $client = Cassandra::CassandraClient->new($protocol); > $transport->open(); > eval { > my $id=0; > for(;;) { > $id++; > my $PID = sprintf("%040lld", int(1000000 * rand())); > $client->batch_insert( > 'Keyspace1', > $PID, > { > 'Standard1' => _makeColumnList ({ > map { > $_=>'0'x(int(1 + 100 * rand())) > } (0..int(1+10*rand())) > }) > }, > Cassandra::ConsistencyLevel::ONE > ); > > $client->remove( > 'Keyspace1', > $PID, > Cassandra::ColumnPath->new({ > column_family=>'Standard1', > }), > time(), > Cassandra::ConsistencyLevel::ONE > ); > print "$id\n" if ($id%100 == 0); > } > }; > > die Dumper($@) if ($@); > > $transport->close(); > sub _makeColumnList($$) { > my ($row) = @_; > > my @cfmap; > > foreach my $k (keys %$row) { > push @cfmap, Cassandra::ColumnOrSuperColumn->new({ > column=>Cassandra::Column->new({ > name=>$k, > value=>$row->{$k}, > timestamp=>time(), > }) > }); > } > die if $#cfmap < 0; > return \@cfmap; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.