Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # user - Problem with using iterators to access table


Copy link to this message
-
RE: Problem with using iterators to access table
Bob.Thorman@... 2012-06-27, 17:46
I've seen similar exceptions with the iterators I've written and it turned out to be invalid visibility labeling encountered by the scanner.  See JIRA tickets ACCUMULO-651 and/or ACCUMULO-360.

-----Original Message-----
From: Jim Klucar [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 27, 2012 12:17
To: [EMAIL PROTECTED]
Subject: Re: Problem with using iterators to access table

My first thought would be that you didn't deploy your iterator jar to the accumulo lib/ext directory. That wouldn't be causing the "built-in" iterators to produce an error also. Unfortunately this error message isn't very informative because all the client knows is that a Thrift service call somehow failed. The error message you want to look at will be in the tserver_<hostname>.log file (or .debug.log
file) on the tserver. This is in $ACCUMULO_HOME/logs by default.

On Wed, Jun 27, 2012 at 1:03 PM, Jonathan Hsu <[EMAIL PROTECTED]> wrote:
> I'm trying to use iterators to access a table that I created.  When I
> run a MockInstance, the iterators work perfectly, but they don't work
> when I try to use them on an actual table.  Also, if I don't add the
> iterators, the scanner works fine as well.  I wrote both iterators,
> but the error doesn't seem to be with my iterators, because I also
> attempted the same thing with one of accumulo's iterators, and got the
> same result.  I know that the table is created correctly (by checking the accumulo shell).
>
> Here is my code :
>
> /* created the table first */
>
> Scanner scann = conn.createScanner(table, new Authorizations());
> scann.setRange(new Range("term1"));
>
> IteratorSetting cfg = new IteratorSetting(10, MyIterator1.class,
> properties); scann.addScanIterator(cfg);
>
> IteratorSetting cfg2 = new IteratorSetting(11, MyIterator2.class,
> properties); scann.addScanIterator(cfg2);
>
>
>
> I'm getting this error :
>
> Exception in thread "main" java.lang.RuntimeException:
> org.apache.accumulo.core.client.impl.AccumuloServerException: Error on
> server127.0.0.1:9997
> at
> org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIt
> erator.java:186)
> at
> com.bah.applefox.test.plugins.fulltextindex.DebugTest.main(DebugTest.j
> ava:151)
>
> Caused by: org.apache.accumulo.core.client.impl.AccumuloServerException:
> Error on server 127.0.0.1:9997
> at
> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.
> java:302)
> at
> org.apache.accumulo.core.client.impl.ScannerIterator$Reader.run(Scanne
> rIterator.java:94)
> at
> org.apache.accumulo.core.client.impl.ScannerIterator.hasNext(ScannerIt
> erator.java:176)
> ... 1 more
>
> Caused by: org.apache.thrift.TApplicationException: Internal error
> processing startScan at
> org.apache.thrift.TApplicationException.read(TApplicationException.jav
> a:108)
> at
> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Clien
> t.recv_startScan(TabletClientService.java:184)
> at
> org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Clien
> t.startScan(TabletClientService.java:157)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.accumulo.cloudtrace.instrument.thrift.TraceWrap$2.invoke(Tr
> aceWrap.java:84)
> at $Proxy2.startScan(Unknown Source)
> at
> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.
> java:415)
> at
> org.apache.accumulo.core.client.impl.ThriftScanner.scan(ThriftScanner.
> java:295)
> ... 3 more
>
>
> Thanks for your time,
>
> Jonathan Hsu