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`.)


---

Reply via email to