Github user justinleet commented on the issue:
https://github.com/apache/metron/pull/970
I've been looking into the Travis failure that occurred. I was able to
reproduce it, intermittently, locally. Best speculation is that it's a Lucene
bug, given that it occurs seemingly randomly (~ every 20 times or so, but I've
seen it go 50+).
After playing around a bit, opening up the parentFilter on the child doc
transformer seems to take care of the problem by avoiding the rare situation
where it treats the document inconsistently and throws and error.
The code used to test this was
```
@Test
public void shouldSearchByNestedAlertAlot() throws Exception {
for (int i = 0; i < 500; ++i) {
System.out.println("\nRound : " + i);
if (i != 0) {
setup();
}
try {
shouldSearchByNestedAlert();
} catch (Exception e) {
throw new IllegalStateException(e);
}
reset();
}
}
```
Which just basically cleaned things up and ran the test a whole lot.
Setup/reset are nontrivial in terms of time, so I let this run a couple times
with the change. Over 1000 rounds completed successfully without error.
If anyone wants to see more testing or has ideas on how to improve it, I'm
definitely open to suggestions.
---