TreeMap isn't concurrent and it seems it was used that way? I know you
guys are testing a bunch of different things at the same time so which
HBase version and which patches were you using when you got that?

Thx,

J-D

On Mon, May 9, 2011 at 5:22 AM, Gaojinchao <gaojinc...@huawei.com> wrote:
>    I used ycsb to put data and threw exception.
>    Who can give me some suggestion?
>
>   Hbase Code:
>      // Cut the cache so that we only get the part that could contain
>      // regions that match our key
>      SoftValueSortedMap<byte[], HRegionLocation> matchingRegions =
>        tableLocations.headMap(row);
>
>      // if that portion of the map is empty, then we're done. otherwise,
>      // we need to examine the cached location to verify that it is
>      // a match by end key as well.
>      if (!matchingRegions.isEmpty()) {
>        HRegionLocation possibleRegion =
>          matchingRegions.get(matchingRegions.lastKey());
>
>    ycsb client log:
>
>    [java] begin StatusThread run
>     [java] java.util.NoSuchElementException
>     [java]     at java.util.TreeMap.key(TreeMap.java:1206)
>     [java]     at java.util.TreeMap$NavigableSubMap.lastKey(TreeMap.java:1435)
>     [java]     at 
> org.apache.hadoop.hbase.util.SoftValueSortedMap.lastKey(SoftValueSortedMap.java:131)
>     [java]     at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getCachedLocation(HConnectionManager.java:841)
>     [java]     at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:664)
>     [java]     at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:590)
>     [java]     at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1114)
>     [java]     at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1234)
>     [java]     at 
> org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:819)
>     [java]     at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:675)
>     [java]     at org.apache.hadoop.hbase.client.HTable.put(HTable.java:665)
>     [java]     at com.yahoo.ycsb.db.HBaseClient.update(Unknown Source)
>     [java]     at com.yahoo.ycsb.db.HBaseClient.insert(Unknown Source)
>     [java]     at com.yahoo.ycsb.DBWrapper.insert(Unknown Source)
>     [java]     at com.yahoo.ycsb.workloads.MyWorkload.doInsert(Unknown Source)
>     [java]     at com.yahoo.ycsb.ClientThread.run(Unknown Source)
>

Reply via email to