What version are you running? I don't see any explicit NPE mentions in the commit log on HConnectionManager. Maybe its still an issue?
St.Ack On Fri, Feb 17, 2012 at 4:24 PM, Jean T. Anderson <[email protected]> wrote: > Hi, everyone, > > I often get an NPE during the YCSB load process if timeseries is set and I'm > loading lots of records. Here's the syntax I'm using: > > YCSB Client 0.1 > Command line: -load -db com.yahoo.ycsb.db.HBaseClient -P > workloads/workloada -p columnfamily=family -p recordcount=10000000 -threads > 32 -s -p measurementtype=timeseries -p timeseries.granularity=5000 > > 100 million records load successfully with 32 threads if timeseries is not > set. But when I set timeseries, I often get NPEs with stacks that move > around depending on the number of records and the timeseries granularity. > > For example: > > 1) 10 million records gets an NPE when timeseries is enabled with a > granularity of 5000 ms (but 4000 ms loads successfully): > > java.lang.NullPointerException > at org.apache.hadoop.hbase.util.Bytes.compareTo(Bytes.java:916) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:109) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:101) > at > java.util.TreeMap$NavigableSubMap.checkUpperBound(TreeMap.java:2666) > at java.util.TreeMap$NavigableSubMap.isInRange(TreeMap.java:2688) > at java.util.TreeMap$NavigableSubMap.get(TreeMap.java:2502) > at > org.apache.hadoop.hbase.util.SoftValueSortedMap.get(SoftValueSortedMap.java:96) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getCachedLocation(HConnectionManager.java:826) > > 2) 100 million records gets an NPE with 4000 ms (note the changed stack): > > java.lang.NullPointerException > at org.apache.hadoop.hbase.util.Bytes.compareTo(Bytes.java:916) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:109) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:101) > at java.util.TreeMap$NavigableSubMap.cmp(TreeMap.java:2748) > at > java.util.TreeMap$NavigableSubMap.findLowerEntryImpl(TreeMap.java:2881) > at > java.util.TreeMap$NavigableSubMap.findLowerEntry(TreeMap.java:3000) > at java.util.TreeMap$NavigableSubMap.smallerEntry(TreeMap.java:2994) > at > java.util.TreeMap$AscendingSubMapIterator.getBoundaryNode(TreeMap.java:281) > at java.util.TreeMap$AbstractSubMapIterator.<init>(TreeMap.java:186) > at > java.util.TreeMap$AscendingSubMapKeySet.iterator(TreeMap.java:1968) > at java.util.TreeMap$NavigableSubMap.isEmpty(TreeMap.java:2477) > at > org.apache.hadoop.hbase.util.SoftValueSortedMap.isEmpty(SoftValueSortedMap.java:151) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getCachedLocation(HConnectionManager.java:826) > > 3) 100 million records gets an NPE with 3000 ms (and the stack changes): > > java.lang.NullPointerException > at org.apache.hadoop.hbase.util.Bytes.compareTo(Bytes.java:916) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:109) > at > org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:101) > at java.util.TreeMap.cmp(TreeMap.java:4514) > at java.util.TreeMap.get(TreeMap.java:4386) > at > org.apache.hadoop.hbase.util.SoftValueSortedMap.get(SoftValueSortedMap.java:96) > at > org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getCachedLocation(HConnectionManager.java:830) > > I found HBASE-3878, but it looks like that was fixed in 0.90.4. > I also found HBASE-5088, which is marked fixed in 0.90.6 -- does anyone > recognize if this problem fits that profile? > > many thanks, > > -jean > >
