I suggest you increase the hbase.regionserver.lease.period value from its
default 1 minute to at least 2 min (120000). On a single node, a split can
take much longer to finish and the client won't report in fast enough.

J-D

On Wed, Jan 7, 2009 at 3:33 PM, tim robertson <[email protected]>wrote:

> Hi all,
>
> Doing some concurrent tests with the following operations running on a
> single table:
>
> - mass insert into family1
> - scanner running parsing records from family1, and updating same row
> into family2
> - lucene index built from family2
>
> I am seeing occasionally the following exception (not reproducible
> reliably):
>
> Exception in thread "main" java.lang.RuntimeException:
> org.apache.hadoop.hbase.UnknownScannerException:
> org.apache.hadoop.hbase.UnknownScannerException: Name:
> -6847297385504321434
>        at
> org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1077)
>        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:554)
>        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
>
>        at
> org.apache.hadoop.hbase.client.HTable$ClientScanner$1.hasNext(HTable.java:1195)
>        at
> com.ibiodiversity.index.parse.OccurrenceParser.run(OccurrenceParser.java:29)
>        at
> com.ibiodiversity.index.parse.OccurrenceParser.main(OccurrenceParser.java:52)
>
> Just running on laptop right now and a small table (1,000,000 rows) as
> a first test - here is the scanner loop that is dying:
>
> HTable table = new HTable("occurrence");
> Scanner scanner = table.getScanner(new String[]{"unparsed:latitude",
> "unparsed:longitude"});
> for (RowResult result : scanner) {
>    BatchUpdate batchUpdate = new BatchUpdate(result.getRow());
>    Cell latitude = result.get("unparsed:latitude".getBytes());
>    Cell longitude = result.get("unparsed:longitude".getBytes());
>    batchUpdate.put("parsedGeospatial:latitude",
> parse(latitude.getValue()));
>    batchUpdate.put("parsedGeospatial:longitude",
> parse(longitude.getValue()));
>    table.commit(batchUpdate);
> }
>
> Am I abusing HBase running on the laptop (just in development...)?
>
> Thanks,
>
> Tim
>

Reply via email to