WholeRowIterator和一个具有一个键的Range

时间:2014-09-02 20:50:36

标签: accumulo

我遇到了涉及WholeRowIterator的Accumulo 1.5.1的问题,并且当在一个键上指定范围时,让过滤器返回行。

Range testRange = new Range("aa", true, "aa\0", false);

当我将此范围设置为具有关联的WholeRowIterator的扫描仪时,过滤器不会返回指定的行" aa"即使重写的过滤器函数在此范围内返回true,也会向客户端发送。

使用WholeRowIterator扫描仪的范围是否格式错误?什么是正确的范围?

感谢。

2 个答案:

答案 0 :(得分:1)

您指定的Range应该是正确的。为简单起见,您还可以尝试使用new Range(CharSequence)构造函数。

验证您的数据是否符合您的想法 - 您可能会遇到妨碍其他方式的可见性。转到shell并执行scan -t [table] -r aa并确保获得结果。

答案 1 :(得分:0)

经过多次挖掘,我找到了这篇文章:

http://mail-archives.apache.org/mod_mbox/accumulo-user/201207.mbox/%3CCAPMpPc5v83wn_PTqh-Hh1-TfP-PxLELwPQsDHkCKK_KzR3yqUg@mail.gmail.com%3E

WholeRowIterator需要将其优先级设置为21或更高,以避免与版本迭代器发生冲突行为。

这是一个令人讨厌的错误,因为它在测试中提供了许多误报。