Return-Path: Delivered-To: apmail-incubator-cassandra-user-archive@minotaur.apache.org Received: (qmail 72868 invoked from network); 11 Mar 2009 22:00:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Mar 2009 22:00:56 -0000 Received: (qmail 75450 invoked by uid 500); 11 Mar 2009 22:00:56 -0000 Delivered-To: apmail-incubator-cassandra-user-archive@incubator.apache.org Received: (qmail 75436 invoked by uid 500); 11 Mar 2009 22:00:56 -0000 Mailing-List: contact cassandra-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-user@incubator.apache.org Delivered-To: mailing list cassandra-user@incubator.apache.org Received: (qmail 75426 invoked by uid 99); 11 Mar 2009 22:00:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Mar 2009 15:00:56 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jbellis@gmail.com designates 209.85.198.243 as permitted sender) Received: from [209.85.198.243] (HELO rv-out-0708.google.com) (209.85.198.243) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Mar 2009 22:00:49 +0000 Received: by rv-out-0708.google.com with SMTP id l33so201532rvb.0 for ; Wed, 11 Mar 2009 15:00:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Otoha68ZpZzoq4AbZH3G54iOIYYGQcBd9UsXnfPzocY=; b=kU9Uyc3ZUpxYDaebsk1yVKk0aP3SgGGXxs5efWxtGd0ctyOfQcoTTzoR45+yr0jIJf 2w2M+MAauFyb126KiLA3oKbvXwxiAIjt5oF4j2dwh4fYTF9OFaGedA8RXNCxUGr6Mmsi +Cj+3TC2r8LSpq11Kv0Ure9uUBREH+gdQaCKY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=SHX6ukhpseP6cg/GXpQtKRRAn1B4PgVlr5J6j/ebo25k+YpjDres+uSZb7K1ohe1Tw 0kr/zEIYMsSS1RO1hn+4076xn5317QgGHtkPG0VfLnAuK2P9/jZpSus6FLkYphZzXQbq xUXzhhp5WiHEgYvKGZVvSTu471oRYmvHiKVwU= MIME-Version: 1.0 Received: by 10.141.29.14 with SMTP id g14mr4600379rvj.232.1236808829190; Wed, 11 Mar 2009 15:00:29 -0700 (PDT) In-Reply-To: References: Date: Wed, 11 Mar 2009 16:00:29 -0600 Message-ID: Subject: Re: NPE in apache cassandra From: Jonathan Ellis To: cassandra-user@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org the config format changed. now you need to specify the cfname as an attrib= ute: -Jonathan On Wed, Mar 11, 2009 at 3:52 PM, Jiansheng Huang w= rote: > > > ---------- Forwarded message ---------- > From: Jiansheng Huang > Date: Wed, Mar 11, 2009 at 2:49 PM > Subject: NPE in apache cassandra > To: cassandra-user@incubator.apache.org, Avinash Lakshman > , Prashant Malik > Cc: agupta@rocketfuelinc.com > > > Hi folks, I checked out the new code from apache and compiled it. When I > start up the server with a clean installation base (i.e., without using a= ny > system/user data from previous installation), > I got the following. > > UNCAUGHT EXCEPTION IN main() > java.lang.NullPointerException > =A0=A0=A0 at java.io.DataOutputStream.writeUTF(DataOutputStream.java:347) > =A0=A0=A0 at java.io.DataOutputStream.writeUTF(DataOutputStream.java:323) > =A0=A0=A0 at > org.apache.cassandra.db.Table$TableMetadataSerializer.serialize(Table.jav= a:254) > =A0=A0=A0 at > org.apache.cassandra.db.Table$TableMetadataSerializer.serialize(Table.jav= a:244) > =A0=A0=A0 at org.apache.cassandra.db.Table$TableMetadata.apply(Table.java= :209) > =A0=A0=A0 at org.apache.cassandra.db.DBManager.storeMetadata(DBManager.ja= va:150) > =A0=A0=A0 at org.apache.cassandra.db.DBManager.(DBManager.java:102) > =A0=A0=A0 at org.apache.cassandra.db.DBManager.instance(DBManager.java:61= ) > =A0=A0=A0 at > org.apache.cassandra.service.StorageService.start(StorageService.java:465= ) > =A0=A0=A0 at > org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:1= 10) > =A0=A0=A0 at > org.apache.cassandra.service.CassandraServer.main(CassandraServer.java:10= 78) > Disconnected from the target VM, address: '127.0.0.1:45693', transport: > 'socket' > > I did some debugging and found that in the following code, the first entr= y > in cfNames is always null. Is it safe to say that if cfName is null, then= we > don't want to do the writings? > > public void serialize(TableMetadata tmetadata, DataOutputStream dos) thro= ws > IOException > =A0=A0=A0=A0=A0=A0=A0 { > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 int size =3D tmetadata.cfIdMap_.size(); > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dos.writeInt(size); > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Set cfNames =3D tmetadata.cfIdM= ap_.keySet(); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 for ( String cfName : cfNames ) > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dos.writeUTF(cfName); > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dos.writeInt( tmetadata.cfI= dMap_.get(cfName).intValue() ); > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dos.writeUTF(tmetadata.getC= olumnFamilyType(cfName)); > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > =A0=A0=A0=A0=A0=A0=A0 } > > A related question I have is what's the procedure for us to check in code= ? I > have made some changes for adding latency counters in the server and > exposing them through http. Would be good to check in the changes and min= or > fixes so that I don't have to risk of losing them ... > > Thanks, > > Jiansheng > > > >