我遇到了涉及WholeRowIterator的Accumulo 1.5.1的问题,并且当在一个键上指定范围时,让过滤器返回行。
Range testRange = new Range("aa", true, "aa\0", false);
当我将此范围设置为具有关联的WholeRowIterator的扫描仪时,过滤器不会返回指定的行" aa"即使重写的过滤器函数在此范围内返回true,也会向客户端发送。
使用WholeRowIterator扫描仪的范围是否格式错误?什么是正确的范围?
感谢。
答案 0 :(得分:1)
您指定的Range
应该是正确的。为简单起见,您还可以尝试使用new Range(CharSequence)
构造函数。
验证您的数据是否符合您的想法 - 您可能会遇到妨碍其他方式的可见性。转到shell并执行scan -t [table] -r aa
并确保获得结果。
答案 1 :(得分:0)
经过多次挖掘,我找到了这篇文章:
WholeRowIterator需要将其优先级设置为21或更高,以避免与版本迭代器发生冲突行为。
这是一个令人讨厌的错误,因为它在测试中提供了许多误报。