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 >
