Description
The ScanMeta node from the Image module is subject to failure when the random UUID it chooses as the starting row sorts after any rows currently in the table.
26 16:52:29,543 [randomwalk.Framework] ERROR: Error during random walk java.lang.Exception: Error running node image.ScanMeta at org.apache.accumulo.test.randomwalk.Module.visit(Module.java:343) at org.apache.accumulo.test.randomwalk.Framework.run(Framework.java:63) at org.apache.accumulo.test.randomwalk.Framework.main(Framework.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.accumulo.start.Main$1.run(Main.java:141) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: ranges must be non null and contain at least 1 range at org.apache.accumulo.core.client.impl.TabletServerBatchReader.setRanges(TabletServerBatchReader.java:91) at org.apache.accumulo.test.randomwalk.image.ScanMeta.visit(ScanMeta.java:87) at org.apache.accumulo.test.randomwalk.Module$1.call(Module.java:280) at org.apache.accumulo.test.randomwalk.Module$1.call(Module.java:275) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) ... 1 more
It's likely that this would only arise if ScanMeta is called very early on in the module which is very unlikely given the weights in Image.xml but lines up with the log file.