Github user paul-rogers commented on a diff in the pull request:
https://github.com/apache/drill/pull/923#discussion_r137937858
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestMergeJoinAdvanced.java
---
@@ -102,10 +103,11 @@ public void testFix2967() throws Exception {
test("select * from dfs_test.`%s/join/j1` j1 left outer join
dfs_test.`%s/join/j2` j2 on (j1.c_varchar = j2.c_varchar)",
TEST_RES_PATH, TEST_RES_PATH);
} finally {
- setSessionOption(PlannerSettings.BROADCAST.getOptionName(),
String.valueOf(PlannerSettings.BROADCAST.getDefault().bool_val));
- setSessionOption(PlannerSettings.HASHJOIN.getOptionName(),
String.valueOf(PlannerSettings.HASHJOIN.getDefault().bool_val));
+ final OperatorFixture.TestOptionSet testOptionSet = new
OperatorFixture.TestOptionSet();
+ setSessionOption(PlannerSettings.BROADCAST.getOptionName(),
String.valueOf(testOptionSet.getDefault(PlannerSettings.BROADCAST.getOptionName()).bool_val));
--- End diff --
No need to fix now but I wonder:
* The `ClusterFixture` class has a method of form `setSystemOption(String
name, Option value)` to avoid this kind of silly to/from String overhead. We
might want to do the same for these "legacy" `BaseTestQuery` style tests.
* But, here we are setting system options to their default value. Why?
Isn't that already the value? If not, wouldn't clearing (deleting) the option
value be better?
* Or, has the test previously set a system option to other than the default
value, and we are undoing that here? Seems it would be better to allow a test
to say not to muck with the defaults. (Hard to do with `BaseTestQuery`, but
there is a built-in provision for this in the `ClusterFixture`.)
---