drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5723) Support System/Session Internal Options And Additional Option System Fixes
Date Mon, 11 Sep 2017 18:11:00 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16161697#comment-16161697
] 

ASF GitHub Bot commented on DRILL-5723:
---------------------------------------

Github user ilooner commented on a diff in the pull request:

    https://github.com/apache/drill/pull/923#discussion_r138148176
  
    --- 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 --
    
    The test changed some of the options for the session. Since the same drillbit cluster
is used for multiple tests, the changes need to be undone at the end of the test to avoid
impacting other tests, which reuse the drill bit cluster. I basically kept things as they
were before, but looking at it again I agree this is a pretty messy way of doing it. I think
this could be cleaned up by doing:
    
    ```
    ALTER SESSION RESET ALL;
    ```
    
    To clear all the changes at the end of the test. Instead of passing an option value I'll
also add methods for each type: 
    
    ```
    setSessionOption(final String option, final boolean value)
    setSessionOption(final String option, final long value)
    setSessionOption(final String option, final double value)
    setSessionOption(final String option, final String value)
    ```


> Support System/Session Internal Options And Additional Option System Fixes
> --------------------------------------------------------------------------
>
>                 Key: DRILL-5723
>                 URL: https://issues.apache.org/jira/browse/DRILL-5723
>             Project: Apache Drill
>          Issue Type: New Feature
>            Reporter: Timothy Farkas
>            Assignee: Timothy Farkas
>
> This is a feature proposed by [~ben-zvi].
> Currently all the options are accessible by the user in sys.options. We would like to
add internal options which can be altered, but are not visible in the sys.options table. These
internal options could be seen by another alias select * from internal.options. The intention
would be to put new options we weren't comfortable with exposing to the end user in this table.
> After the options and their corresponding features are considered stable they could be
changed to appear in the sys.option table.
> A bunch of other fixes to the Option system have been clubbed into this:
> * OptionValidators no longer hold default values. Default values are contained in the
SystemOptionManager
> * Options have an OptionDefinition. The option definition includes:
>   * A validator
>   * Metadata about the options visibility, required permissions, and the scope in which
it can be set.
> * The Option Manager interface has been cleaned up so that a Type is not required to
be passed in in order to set and delete options



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message