[
https://issues.apache.org/jira/browse/DRILL-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16151136#comment-16151136
]
ASF GitHub Bot commented on DRILL-5723:
---------------------------------------
Github user paul-rogers commented on a diff in the pull request:
https://github.com/apache/drill/pull/923#discussion_r136662766
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/test/OperatorFixture.java ---
@@ -90,13 +93,13 @@
public static class OperatorFixtureBuilder
{
ConfigBuilder configBuilder = new ConfigBuilder();
- TestOptionSet options = new TestOptionSet();
+ TestOptionManager options = new TestOptionManager();
--- End diff --
This is a bit tricky. Some background.
Most of our existing "unit" (really, system) tests start a Drillbit in
order to test anything.
We are trying (slowly!) to move to true unit tests. To do so, we need to
introduce lose coupling between modules. The full option managers have
dependencies on the Drillbit which sucks in all of Drill.
The goal of the `OptionSet` is to provide a read-only view of the options
since accessing options is pretty simple; it does not have dependencies on the
Drillbit.
We need to preserve this view to allow unit testing. We can do that either
by ensuring that the option managers are stand-alone (have no runtime
dependencies on the Drillbit or the DrillbitContext), or by continuing to do
what this code does: create a test-time, read-only mock version that implements
the option reader (`OptionSet`) interface.
Either are valid approaches; which do you think would work best?
> Support System/Session Internal Options
> ---------------------------------------
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)