You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@accumulo.apache.org by "Giordano, Michael" <Mi...@Vistronix.com> on 2014/02/27 19:36:30 UTC

Null source for iterator

Given this code :



BatchScanner scanner = connector.createBatchScanner("tableName", authorizations, threadCount);

IteratorSetting iterSetting = new IteratorSetting(10, "filterName", CustomFilter.class);



iterSetting.addOption("option1", "value1");

iterSetting.addOption("option2", "value2");

scanner.addScanIterator(iterSetting);



Iterator<Entry<Key,Value>> iter = scanner.iterator();

iter.hasNext();



I am receiving this exception when hasNext() is called :



2014-02-27 15:47:08,845 [thrift.ProcessFunction] ERROR: Internal error processing startMultiScan

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: getting null source



The full stacktrace can be found at http://pastebin.com/nkpKnwAh



If anyone can shed light on what I am doing wrong, I would deeply appreciate it.



Thanks,

Mike G.


This communication, along with its attachments, is considered confidential and proprietary to Vistronix.  It is intended only for the use of the person(s) named above.  Note that unauthorized disclosure or distribution of information not generally known to the public is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately.

RE: Null source for iterator

Posted by "Giordano, Michael" <Mi...@Vistronix.com>.
I was not calling super.init(). This was my problem. Thanks to all for the help!

Mike G.

From: Billie Rinaldi [mailto:billie.rinaldi@gmail.com]
Sent: Friday, February 28, 2014 9:58 AM
To: user@accumulo.apache.org
Subject: Re: Null source for iterator

You probably don't want to call deepCopy during init.  Also, if your CustomFilter extends WrappingIterator, the above implementation of deepCopy will not help because WrappingIterator.deepCopy throws UnsupportedOperationException.  So maybe that's not the problem, anyway.

Are you calling super.init at the beginning of your init method?

On Fri, Feb 28, 2014 at 5:34 AM, Giordano, Michael <Mi...@vistronix.com>> wrote:
So after implementing deepCopy() (below) and calling it during init(), I still receive the same error

       @Override
       public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env)
       {
             System.out.println(String.format("%s.deepCopy() called", getClass().getName()));
             return super.deepCopy(env);
       }

Is this implementation correct or am I missing something fundamental?

Thanks,
Mike G.

From: Zachary Radtka [mailto:milk3422@invisibledefender.com<ma...@invisibledefender.com>]
Sent: Thursday, February 27, 2014 2:04 PM
To: user@accumulo.apache.org<ma...@accumulo.apache.org>
Cc: user@accumulo.apache.org<ma...@accumulo.apache.org>
Subject: Re: Null source for iterator

Hey Michael, I ran into something similar when I didn't implement the deepcopy() method on my custom iterator. Inside the deepCopy method you will need to make sure you copy any options your iterator implements.

On Thu, Feb 27, 2014 at 1:36 PM, Giordano, Michael <Mi...@vistronix.com>> wrote:

Given this code :



BatchScanner scanner = connector.createBatchScanner("tableName", authorizations, threadCount);

IteratorSetting iterSetting = new IteratorSetting(10, "filterName", CustomFilter.class);



iterSetting.addOption("option1", "value1");

iterSetting.addOption("option2", "value2");

scanner.addScanIterator(iterSetting);



Iterator<Entry<Key,Value>> iter = scanner.iterator();

iter.hasNext();



I am receiving this exception when hasNext() is called :



2014-02-27 15:47:08,845 [thrift.ProcessFunction] ERROR: Internal error processing startMultiScan

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: getting null source



The full stacktrace can be found at http://pastebin.com/nkpKnwAh



If anyone can shed light on what I am doing wrong, I would deeply appreciate it.



Thanks,

Mike G.



This communication, along with its attachments, is considered confidential and proprietary to Vistronix.  It is intended only for the use of the person(s) named above.  Note that unauthorized disclosure or distribution of information not generally known to the public is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately.



Re: Null source for iterator

Posted by Billie Rinaldi <bi...@gmail.com>.
You probably don't want to call deepCopy during init.  Also, if your
CustomFilter extends WrappingIterator, the above implementation of deepCopy
will not help because WrappingIterator.deepCopy throws
UnsupportedOperationException.  So maybe that's not the problem, anyway.

Are you calling super.init at the beginning of your init method?


On Fri, Feb 28, 2014 at 5:34 AM, Giordano, Michael <
Michael.Giordano@vistronix.com> wrote:

>  So after implementing deepCopy() (below) and calling it during init(), I
> still receive the same error
>
>
>
>        @Override
>
>        *public* SortedKeyValueIterator<Key,Value> deepCopy(
> IteratorEnvironment env)
>
>        {
>
>              System.out.*println*(String.*format*("%s.deepCopy() called",
> getClass().*getName*()));
>
>              *return* *super*.deepCopy(env);
>
>        }
>
>
>
> Is this implementation correct or am I missing something fundamental?
>
>
>
> Thanks,
>
> Mike G.
>
>
>
> *From:* Zachary Radtka [mailto:milk3422@invisibledefender.com]
> *Sent:* Thursday, February 27, 2014 2:04 PM
> *To:* user@accumulo.apache.org
> *Cc:* user@accumulo.apache.org
> *Subject:* Re: Null source for iterator
>
>
>
> Hey Michael, I ran into something similar when I didn't implement the
> deepcopy() method on my custom iterator. Inside the deepCopy method you
> will need to make sure you copy any options your iterator implements.
>
> On Thu, Feb 27, 2014 at 1:36 PM, Giordano, Michael <
> Michael.Giordano@vistronix.com> wrote:
>
>  Given this code :
>
>
>
> BatchScanner scanner = connector.createBatchScanner("tableName",
> authorizations, threadCount);
>
> IteratorSetting iterSetting = new IteratorSetting(10, "filterName",
> CustomFilter.class);
>
>
>
> iterSetting.addOption("option1", "value1");
>
> iterSetting.addOption("option2", "value2");
>
> scanner.addScanIterator(iterSetting);
>
>
>
> Iterator<Entry<Key,Value>> iter = scanner.iterator();
>
> iter.hasNext();
>
>
>
> I am receiving this exception when hasNext() is called :
>
>
>
> 2014-02-27 15:47:08,845 [thrift.ProcessFunction] ERROR: Internal error
> processing startMultiScan
>
> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
> java.lang.IllegalStateException: getting null source
>
>
>
> The full stacktrace can be found at http://pastebin.com/nkpKnwAh
>
>
>
> If anyone can shed light on what I am doing wrong, I would deeply
> appreciate it.
>
>
>
> Thanks,
>
> Mike G.
>
>
>
> This communication, along with its attachments, is considered confidential
> and proprietary to Vistronix.  It is intended only for the use of the
> person(s) named above.  Note that unauthorized disclosure or distribution
> of information not generally known to the public is strictly
> prohibited.  If you are not the intended recipient, please notify the
> sender immediately.
>
>
>

RE: Null source for iterator

Posted by "Giordano, Michael" <Mi...@Vistronix.com>.
So after implementing deepCopy() (below) and calling it during init(), I still receive the same error

       @Override
       public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env)
       {
             System.out.println(String.format("%s.deepCopy() called", getClass().getName()));
             return super.deepCopy(env);
       }

Is this implementation correct or am I missing something fundamental?

Thanks,
Mike G.

From: Zachary Radtka [mailto:milk3422@invisibledefender.com]
Sent: Thursday, February 27, 2014 2:04 PM
To: user@accumulo.apache.org
Cc: user@accumulo.apache.org
Subject: Re: Null source for iterator

Hey Michael, I ran into something similar when I didn't implement the deepcopy() method on my custom iterator. Inside the deepCopy method you will need to make sure you copy any options your iterator implements.

On Thu, Feb 27, 2014 at 1:36 PM, Giordano, Michael <Mi...@vistronix.com>> wrote:

Given this code :



BatchScanner scanner = connector.createBatchScanner("tableName", authorizations, threadCount);

IteratorSetting iterSetting = new IteratorSetting(10, "filterName", CustomFilter.class);



iterSetting.addOption("option1", "value1");

iterSetting.addOption("option2", "value2");

scanner.addScanIterator(iterSetting);



Iterator<Entry<Key,Value>> iter = scanner.iterator();

iter.hasNext();



I am receiving this exception when hasNext() is called :



2014-02-27 15:47:08,845 [thrift.ProcessFunction] ERROR: Internal error processing startMultiScan

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: getting null source



The full stacktrace can be found at http://pastebin.com/nkpKnwAh



If anyone can shed light on what I am doing wrong, I would deeply appreciate it.



Thanks,

Mike G.



This communication, along with its attachments, is considered confidential and proprietary to Vistronix.  It is intended only for the use of the person(s) named above.  Note that unauthorized disclosure or distribution of information not generally known to the public is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately.


Re: Null source for iterator

Posted by Zachary Radtka <mi...@invisibledefender.com>.
Hey Michael, I ran into something similar when I didn't implement the deepcopy() method on my custom iterator. Inside the deepCopy method you will need to make sure you copy any options your iterator implements.

On Thu, Feb 27, 2014 at 1:36 PM, Giordano, Michael
<Mi...@vistronix.com> wrote:

> Given this code :
> BatchScanner scanner = connector.createBatchScanner("tableName", authorizations, threadCount);
> IteratorSetting iterSetting = new IteratorSetting(10, "filterName", CustomFilter.class);
> iterSetting.addOption("option1", "value1");
> iterSetting.addOption("option2", "value2");
> scanner.addScanIterator(iterSetting);
> Iterator<Entry<Key,Value>> iter = scanner.iterator();
> iter.hasNext();
> I am receiving this exception when hasNext() is called :
> 2014-02-27 15:47:08,845 [thrift.ProcessFunction] ERROR: Internal error processing startMultiScan
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: getting null source
> The full stacktrace can be found at http://pastebin.com/nkpKnwAh
> If anyone can shed light on what I am doing wrong, I would deeply appreciate it.
> Thanks,
> Mike G.
> This communication, along with its attachments, is considered confidential and proprietary to Vistronix.  It is intended only for the use of the person(s) named above.  Note that unauthorized disclosure or distribution of information not generally known to the public is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately.