Hbase client throws NoSuchElementException
------------------------------------------
Key: HBASE-3878
URL: https://issues.apache.org/jira/browse/HBASE-3878
Project: HBase
Issue Type: Bug
Components: client
Affects Versions: 0.90.2
Reporter: gaojinchao
Fix For: 0.90.4
Soft reference objects, which are cleared at the discretion of the
garbage collector in response to memory demand.
I used ycsb to put data and threw exception.
>>>>
>>>> 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(SoftValueSort
>> edMap.java:131)
>>>> [java] at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
>> tation.getCachedLocation(HConnectionManager.java:841)
>>>> [java] at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
>> tation.locateRegionInMeta(HConnectionManager.java:664)
>>>> [java] at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
>> tation.locateRegion(HConnectionManager.java:590)
>>>> [java] at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
>> tation.processBatch(HConnectionManager.java:1114)
>>>> [java] at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplemen
>> tation.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)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira