public static void validateResultsOutOfOrder(final String query, final String tag) throws Exception {
disableGlobalDictionary();
final FileStatus original = testAndGetResult(query, tag);
enableGlobalDictionary();
FileStatus withDict = testAndGetResult(query, tag);
boolean diff = false;
final HashMap<String, Void> lines = new HashMap<>();
try (FSDataInputStream in1 = localFs.open(original.getPath())) {
String line = null;
while ((line = in1.readLine()) != null) {
lines.put(line, null);
}
}
try (FSDataInputStream in2 = localFs.open(withDict.getPath())) {
String line = null;
while ((line = in2.readLine()) != null) {
if(!lines.containsKey(line)) {
diff = true;
break;
}
}
}
if (diff) {
fail(format("Results do not match original data: [%s], with global dictionary: [%s]", original.getPath(), withDict.getPath()));
} else {
localFs.delete(original.getPath().getParent(), true);
localFs.delete(withDict.getPath().getParent(), true);
}
}
}