[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16652750#comment-16652750 ] ASF GitHub Bot commented on DRILL-4699: --- kkhatua closed pull request #536: DRILL-4699: Add description column to sys.options table URL: https://github.com/apache/drill/pull/536 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java b/exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java index 0d7e0d09bec..9ac59304c1f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java @@ -33,64 +33,65 @@ import org.apache.drill.exec.testing.ExecutionControls; import org.apache.drill.exec.util.ImpersonationUtil; -public interface ExecConstants { - String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; - String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; - String ZK_CONNECTION = "drill.exec.zk.connect"; - String ZK_TIMEOUT = "drill.exec.zk.timeout"; - String ZK_ROOT = "drill.exec.zk.root"; - String ZK_REFRESH = "drill.exec.zk.refresh"; - String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; - String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; - String BIT_TIMEOUT = "drill.exec.bit.timeout" ; - String SERVICE_NAME = "drill.exec.cluster-id"; - String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; - String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; - String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; - String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; - String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; - String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; - String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; - String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; - String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; - String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; - String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; - String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; - String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; - String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; +public final class ExecConstants { + + public static final String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; + public static final String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; + public static final String ZK_CONNECTION = "drill.exec.zk.connect"; + public static final String ZK_TIMEOUT = "drill.exec.zk.timeout"; + public static final String ZK_ROOT = "drill.exec.zk.root"; + public static final String ZK_REFRESH = "drill.exec.zk.refresh"; + public static final String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; + public static final String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; + public static final String BIT_TIMEOUT = "drill.exec.bit.timeout"; + public static final String SERVICE_NAME = "drill.exec.cluster-id"; + public static final String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; + public static final String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; + public static final String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; + public static final String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; + public static final String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; + public static final String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; + public static final String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; + public static final String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; + public static final String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; + public static final String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; + public static final String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; + public static final String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; + public static final String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; + public static final String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; /** incoming buffer size (number of batches) */ - String INCOMING_BUFFER_SIZE = "drill.exec.buffer.size"; - String SPOOLING_BUFFER_DELETE = "drill.exec.buffer.spooling.delete"; - String SPOOLING_BUFFER_MEMORY = "drill.exec.buffer.spooling.size"; - String BATCH_PURGE_THRESHOLD = "drill.exec.sort.purge.threshold"; - String EXTERNAL_SORT_TARGET_BATCH_SIZE = "drill.exec.sort.external.batch.size"; - String EXTERNAL_SORT_TARGET_SPILL_BATCH_SIZE =
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16652749#comment-16652749 ] ASF GitHub Bot commented on DRILL-4699: --- kkhatua commented on issue #536: DRILL-4699: Add description column to sys.options table URL: https://github.com/apache/drill/pull/536#issuecomment-430450365 Addressed as part of #1279 . This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Kunal Khatua >Priority: Major > Fix For: 1.14.0 > > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16642546#comment-16642546 ] Kunal Khatua commented on DRILL-4699: - The PR [#1279|https://github.com/apache/drill/pull/1279] addressed this. > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam >Priority: Major > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16420499#comment-16420499 ] John Omernik commented on DRILL-4699: - I can't comment on the work/PR being dated. However, I do not think the intended goals are covered by DRILL-5723. The main goal is to make it so options are documented when added, and that documentation is right in the sys.options (or sys.internaloptions even, I was not aware of the work to make internal options). Either way, the goal is the same, there should not be options added where there is a reason why the developer adding the option can't add a few sentences on what the option is, what it does, and how it works. There have been too many times I have to go to the source code to figure out an option. By adding it here, it can act as the source of record for all of the options. This could then be utilized downstream for automatically updating the documentation. (If the sys.options description changes, the documentation can be auto generated based on it). > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam >Priority: Major > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16414941#comment-16414941 ] ASF GitHub Bot commented on DRILL-4699: --- Github user Ben-Zvi commented on the issue: https://github.com/apache/drill/pull/536 The work in this PR is dated; the relevant base code has changed so much (e.g. DRILL-5547, DRILL-5752) so this change cannot just be pulled; it needs to be redone. Also part of the intended goal is now covered by DRILL-5723, which separated the internal options out of sys.options, thus allowing to hide those options that users "should not modify". > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam >Priority: Major > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16300553#comment-16300553 ] Pritesh Maker commented on DRILL-4699: -- [~kkhatua] Sure ... it seems like a useful addition. > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16299677#comment-16299677 ] Kunal Khatua commented on DRILL-4699: - [~priteshm] should someone else (may be in QA) take this up for a future sprint? > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557168#comment-15557168 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495497 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PlannerSettings.java --- @@ -46,40 +46,83 @@ // max off heap memory for planning (16G) private static final long MAX_OFF_HEAP_ALLOCATION_IN_BYTES = 16l * 1024 * 1024 * 1024; - public static final OptionValidator CONSTANT_FOLDING = new BooleanValidator("planner.enable_constant_folding", true); + public static final OptionValidator CONSTANT_FOLDING = new BooleanValidator("planner.enable_constant_folding", true, + "If one side of a filter condition is a constant expression, constant folding evaluates the expression in the" + + " planning phase and replaces the expression with the constant value. For example, Drill can rewrite" + + " this clause ' WHERE age + 5 < 42 as WHERE age < 37'."); + public static final OptionValidator EXCHANGE = new BooleanValidator("planner.disable_exchanges", false); + public static final OptionValidator HASHAGG = new BooleanValidator("planner.enable_hashagg", true); + public static final OptionValidator STREAMAGG = new BooleanValidator("planner.enable_streamagg", true); - public static final OptionValidator HASHJOIN = new BooleanValidator("planner.enable_hashjoin", true); - public static final OptionValidator MERGEJOIN = new BooleanValidator("planner.enable_mergejoin", true); + + public static final OptionValidator HASHJOIN = new BooleanValidator("planner.enable_hashjoin", true, + "Enable the memory hungry hash join. Drill assumes that a query with have adequate memory to complete and" + --- End diff -- with have --> will have > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Paul Rogers > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557165#comment-15557165 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82485619 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -33,110 +33,122 @@ import org.apache.drill.exec.testing.ExecutionControls; import org.apache.drill.exec.util.ImpersonationUtil; -public interface ExecConstants { - String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; - String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; - String ZK_CONNECTION = "drill.exec.zk.connect"; - String ZK_TIMEOUT = "drill.exec.zk.timeout"; - String ZK_ROOT = "drill.exec.zk.root"; - String ZK_REFRESH = "drill.exec.zk.refresh"; - String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; - String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; - String BIT_TIMEOUT = "drill.exec.bit.timeout" ; - String SERVICE_NAME = "drill.exec.cluster-id"; - String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; - String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; - String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; - String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; - String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; - String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; - String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; - String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; - String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; - String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; - String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; - String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; - String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; - String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; +public final class ExecConstants { + + public static final String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; + public static final String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; + public static final String ZK_CONNECTION = "drill.exec.zk.connect"; + public static final String ZK_TIMEOUT = "drill.exec.zk.timeout"; + public static final String ZK_ROOT = "drill.exec.zk.root"; + public static final String ZK_REFRESH = "drill.exec.zk.refresh"; + public static final String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; + public static final String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; + public static final String BIT_TIMEOUT = "drill.exec.bit.timeout"; + public static final String SERVICE_NAME = "drill.exec.cluster-id"; + public static final String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; + public static final String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; + public static final String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; + public static final String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; + public static final String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; + public static final String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; + public static final String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; + public static final String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; + public static final String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; + public static final String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; + public static final String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; + public static final String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; + public static final String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; + public static final String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; /** incoming buffer size (number of batches) */ - String INCOMING_BUFFER_SIZE = "drill.exec.buffer.size"; - String SPOOLING_BUFFER_DELETE = "drill.exec.buffer.spooling.delete"; - String SPOOLING_BUFFER_MEMORY = "drill.exec.buffer.spooling.size"; - String BATCH_PURGE_THRESHOLD = "drill.exec.sort.purge.threshold"; - String EXTERNAL_SORT_TARGET_BATCH_SIZE = "drill.exec.sort.external.batch.size"; - String EXTERNAL_SORT_TARGET_SPILL_BATCH_SIZE = "drill.exec.sort.external.spill.batch.size"; - String EXTERNAL_SORT_SPILL_GROUP_SIZE = "drill.exec.sort.external.spill.group.size"; - String EXTERNAL_SORT_SPILL_THRESHOLD = "drill.exec.sort.external.spill.threshold"; - String EXTERNAL_SORT_SPILL_DIRS =
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557174#comment-15557174 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495511 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PlannerSettings.java --- @@ -46,40 +46,83 @@ // max off heap memory for planning (16G) private static final long MAX_OFF_HEAP_ALLOCATION_IN_BYTES = 16l * 1024 * 1024 * 1024; - public static final OptionValidator CONSTANT_FOLDING = new BooleanValidator("planner.enable_constant_folding", true); + public static final OptionValidator CONSTANT_FOLDING = new BooleanValidator("planner.enable_constant_folding", true, + "If one side of a filter condition is a constant expression, constant folding evaluates the expression in the" + + " planning phase and replaces the expression with the constant value. For example, Drill can rewrite" + + " this clause ' WHERE age + 5 < 42 as WHERE age < 37'."); + public static final OptionValidator EXCHANGE = new BooleanValidator("planner.disable_exchanges", false); + public static final OptionValidator HASHAGG = new BooleanValidator("planner.enable_hashagg", true); + public static final OptionValidator STREAMAGG = new BooleanValidator("planner.enable_streamagg", true); - public static final OptionValidator HASHJOIN = new BooleanValidator("planner.enable_hashjoin", true); - public static final OptionValidator MERGEJOIN = new BooleanValidator("planner.enable_mergejoin", true); + + public static final OptionValidator HASHJOIN = new BooleanValidator("planner.enable_hashjoin", true, + "Enable the memory hungry hash join. Drill assumes that a query with have adequate memory to complete and" + + " tries to use the fastest operations possible to complete the planned inner, left, right, or full outer" + + " joins using a hash table. Does not write to disk. Disabling hash join allows Drill to manage arbitrarily" + + " large data in a small memory footprint."); + + public static final OptionValidator MERGEJOIN = new BooleanValidator("planner.enable_mergejoin", true, + "Sort-based operation. A merge join is used for inner join, left and right outer joins. Inputs to the merge" + + " join must be sorted. It reads the sorted input streams from both sides and finds matching rows." + + " Writes to disk."); + public static final OptionValidator NESTEDLOOPJOIN = new BooleanValidator("planner.enable_nestedloopjoin", true); + public static final OptionValidator MULTIPHASE = new BooleanValidator("planner.enable_multiphase_agg", true); - public static final OptionValidator BROADCAST = new BooleanValidator("planner.enable_broadcast_join", true); - public static final OptionValidator BROADCAST_THRESHOLD = new PositiveLongValidator("planner.broadcast_threshold", MAX_BROADCAST_THRESHOLD, 1000); - public static final OptionValidator BROADCAST_FACTOR = new RangeDoubleValidator("planner.broadcast_factor", 0, Double.MAX_VALUE, 1.0d); - public static final OptionValidator NESTEDLOOPJOIN_FACTOR = new RangeDoubleValidator("planner.nestedloopjoin_factor", 0, Double.MAX_VALUE, 100.0d); - public static final OptionValidator NLJOIN_FOR_SCALAR = new BooleanValidator("planner.enable_nljoin_for_scalar_only", true); - public static final OptionValidator JOIN_ROW_COUNT_ESTIMATE_FACTOR = new RangeDoubleValidator("planner.join.row_count_estimate_factor", 0, Double.MAX_VALUE, 1.0d); + + public static final OptionValidator BROADCAST = new BooleanValidator("planner.enable_broadcast_join", true, + "The broadcast join can be used for hash join, merge join and nested loop join. Use to join a large (fact)" + + " table to relatively smaller (dimension) tables. This should be enabled."); + public static final OptionValidator BROADCAST_THRESHOLD = new PositiveLongValidator("planner.broadcast_threshold", + MAX_BROADCAST_THRESHOLD, 1000, "The maximum number of records allowed to be broadcast as part of a query." + + " If the threshold is exceeded, Drill reshuffles data rather than doing a broadcast to one side of the" + + " join. Range: 0 - " + MAX_BROADCAST_THRESHOLD + "."); + public static final OptionValidator BROADCAST_FACTOR = new RangeDoubleValidator("planner.broadcast_factor", 0, + Double.MAX_VALUE, 1.0d, "A heuristic parameter for influencing the broadcast of records as part of a query."); --- End diff -- Increasing the value does... what? > Add Description Column in sys.options >
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557171#comment-15557171 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495346 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -146,89 +158,121 @@ *|-bar - a.parquet *|-baz - b.parquet */ - String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; - OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator(FILESYSTEM_PARTITION_COLUMN_LABEL, "dir"); + public static final String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; + public static final OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator( + FILESYSTEM_PARTITION_COLUMN_LABEL, "dir", + "The column label for directory levels in results of queries of files in a directory. Accepts a string input."); /** * Implicit file columns */ - String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; - OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); - String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; - OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); - String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; - OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FQN_COLUMN_LABEL, "fqn"); - String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; - OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); - - String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; - BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(JSON_READ_NUMBERS_AS_DOUBLE, false); - - String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; - OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, false); - String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; - OptionValidator MONGO_READER_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(MONGO_READER_READ_NUMBERS_AS_DOUBLE, false); - String MONGO_BSON_RECORD_READER = "store.mongo.bson.record.reader"; - OptionValidator MONGO_BSON_RECORD_READER_VALIDATOR = new BooleanValidator(MONGO_BSON_RECORD_READER, true); - - BooleanValidator ENABLE_UNION_TYPE = new BooleanValidator("exec.enable_union_type", false); + public static final String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; + public static final OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); + public static final String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; + public static final OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); + public static final String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; + public static final OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FQN_COLUMN_LABEL, "fqn"); + public static final String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; + public static final OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); + + public static final String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; + public static final BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator( + JSON_READ_NUMBERS_AS_DOUBLE, false, + "Reads numbers with or without a decimal point as DOUBLE. Prevents schema change errors."); + + public static final String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; + public static final OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, + false); + public static final String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; + public static final OptionValidator
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557173#comment-15557173 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82485277 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -33,110 +33,122 @@ import org.apache.drill.exec.testing.ExecutionControls; import org.apache.drill.exec.util.ImpersonationUtil; -public interface ExecConstants { - String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; - String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; - String ZK_CONNECTION = "drill.exec.zk.connect"; - String ZK_TIMEOUT = "drill.exec.zk.timeout"; - String ZK_ROOT = "drill.exec.zk.root"; - String ZK_REFRESH = "drill.exec.zk.refresh"; - String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; - String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; - String BIT_TIMEOUT = "drill.exec.bit.timeout" ; - String SERVICE_NAME = "drill.exec.cluster-id"; - String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; - String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; - String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; - String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; - String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; - String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; - String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; - String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; - String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; - String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; - String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; - String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; - String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; - String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; +public final class ExecConstants { + + public static final String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; + public static final String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; + public static final String ZK_CONNECTION = "drill.exec.zk.connect"; + public static final String ZK_TIMEOUT = "drill.exec.zk.timeout"; + public static final String ZK_ROOT = "drill.exec.zk.root"; + public static final String ZK_REFRESH = "drill.exec.zk.refresh"; + public static final String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; + public static final String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; + public static final String BIT_TIMEOUT = "drill.exec.bit.timeout"; + public static final String SERVICE_NAME = "drill.exec.cluster-id"; + public static final String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; + public static final String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; + public static final String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; + public static final String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; + public static final String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; + public static final String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; + public static final String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; + public static final String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; + public static final String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; + public static final String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; + public static final String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; + public static final String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; + public static final String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; + public static final String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; /** incoming buffer size (number of batches) */ - String INCOMING_BUFFER_SIZE = "drill.exec.buffer.size"; - String SPOOLING_BUFFER_DELETE = "drill.exec.buffer.spooling.delete"; - String SPOOLING_BUFFER_MEMORY = "drill.exec.buffer.spooling.size"; - String BATCH_PURGE_THRESHOLD = "drill.exec.sort.purge.threshold"; - String EXTERNAL_SORT_TARGET_BATCH_SIZE = "drill.exec.sort.external.batch.size"; - String EXTERNAL_SORT_TARGET_SPILL_BATCH_SIZE = "drill.exec.sort.external.spill.batch.size"; - String EXTERNAL_SORT_SPILL_GROUP_SIZE = "drill.exec.sort.external.spill.group.size"; - String EXTERNAL_SORT_SPILL_THRESHOLD = "drill.exec.sort.external.spill.threshold"; - String EXTERNAL_SORT_SPILL_DIRS =
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557169#comment-15557169 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495422 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -237,71 +281,81 @@ * DEFAULT: 64 MB * MAXIMUM: 2048 MB */ - String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; - OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( -NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); + public static final String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; + public static final OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( + NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); - String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; - OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; + public static final OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); - String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; - OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; + public static final OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); - String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; - OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, Long.MAX_VALUE, 8); + public static final String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; + public static final OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, + Long.MAX_VALUE, 8); - BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); - LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10); - LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100); - LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", - Long.MAX_VALUE, 3000); - LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", - Long.MAX_VALUE, 60 * 1000 * 5); + public static final BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); + public static final LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10, + "Sets the number of large queries that can run concurrently in the cluster. Range: 0 - 1000."); + public static final LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100, + "Sets the number of small queries that can run concurrently in the cluster. Range: 0 - 10."); + public static final LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", + Long.MAX_VALUE, 3000, "Sets the cost threshold, which depends on the complexity of the queries in" + + " queue, for determining whether query is large or small. Complex queries have higher thresholds." + + " Range: 0 - 9223372036854775807."); + public static final LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", + Long.MAX_VALUE, 60 * 1000 * 5, "Indicates how long a query can wait in queue before the query fails." + + " Range: 0 - 9223372036854775807."); - String ENABLE_VERBOSE_ERRORS_KEY = "exec.errors.verbose"; - OptionValidator ENABLE_VERBOSE_ERRORS = new BooleanValidator(ENABLE_VERBOSE_ERRORS_KEY, false); + public static final String ENABLE_VERBOSE_ERRORS_KEY = "exec.errors.verbose"; + public static final OptionValidator ENABLE_VERBOSE_ERRORS = new BooleanValidator(ENABLE_VERBOSE_ERRORS_KEY, false, + "Toggles verbose output of error messages."); - String ENABLE_NEW_TEXT_READER_KEY = "exec.storage.enable_new_text_reader"; - OptionValidator ENABLE_NEW_TEXT_READER = new BooleanValidator(ENABLE_NEW_TEXT_READER_KEY, true); + public static final String ENABLE_NEW_TEXT_READER_KEY = "exec.storage.enable_new_text_reader"; + public static final OptionValidator ENABLE_NEW_TEXT_READER = new
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557170#comment-15557170 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495404 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -237,71 +281,81 @@ * DEFAULT: 64 MB * MAXIMUM: 2048 MB */ - String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; - OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( -NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); + public static final String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; + public static final OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( + NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); - String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; - OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; + public static final OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); - String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; - OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; + public static final OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); - String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; - OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, Long.MAX_VALUE, 8); + public static final String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; + public static final OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, + Long.MAX_VALUE, 8); - BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); - LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10); - LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100); - LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", - Long.MAX_VALUE, 3000); - LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", - Long.MAX_VALUE, 60 * 1000 * 5); + public static final BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); + public static final LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10, + "Sets the number of large queries that can run concurrently in the cluster. Range: 0 - 1000."); + public static final LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100, + "Sets the number of small queries that can run concurrently in the cluster. Range: 0 - 10."); + public static final LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", + Long.MAX_VALUE, 3000, "Sets the cost threshold, which depends on the complexity of the queries in" + + " queue, for determining whether query is large or small. Complex queries have higher thresholds." + + " Range: 0 - 9223372036854775807."); + public static final LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", + Long.MAX_VALUE, 60 * 1000 * 5, "Indicates how long a query can wait in queue before the query fails." + --- End diff -- Units? Secs? ms? > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Paul Rogers > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557163#comment-15557163 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495479 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/compile/QueryClassLoader.java --- @@ -42,7 +42,17 @@ private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(QueryClassLoader.class); public static final String JAVA_COMPILER_OPTION = "exec.java_compiler"; - public static final StringValidator JAVA_COMPILER_VALIDATOR = new StringValidator(JAVA_COMPILER_OPTION, CompilerPolicy.DEFAULT.toString()) { + public static final String JAVA_COMPILER_JANINO_MAXSIZE_OPTION = "exec.java_compiler_janino_maxsize"; + + public static final OptionValidator JAVA_COMPILER_JANINO_MAXSIZE = + new LongValidator(JAVA_COMPILER_JANINO_MAXSIZE_OPTION, 256 * 1024, + "See the " + JAVA_COMPILER_OPTION + ". Accepts inputs of type LONG."); --- End diff -- LONG --> long. (Accepts the scalar, not the boxed object.) > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Paul Rogers > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557177#comment-15557177 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495464 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -237,71 +281,81 @@ * DEFAULT: 64 MB * MAXIMUM: 2048 MB */ - String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; - OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( -NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); + public static final String NON_BLOCKING_OPERATORS_MEMORY_KEY = "planner.memory.non_blocking_operators_memory"; + public static final OptionValidator NON_BLOCKING_OPERATORS_MEMORY = new PowerOfTwoLongValidator( + NON_BLOCKING_OPERATORS_MEMORY_KEY, 1 << 11, 1 << 6); - String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; - OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_JOIN_TABLE_FACTOR_KEY = "planner.memory.hash_join_table_factor"; + public static final OptionValidator HASH_JOIN_TABLE_FACTOR = new DoubleValidator(HASH_JOIN_TABLE_FACTOR_KEY, 1.1d); - String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; - OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); + public static final String HASH_AGG_TABLE_FACTOR_KEY = "planner.memory.hash_agg_table_factor"; + public static final OptionValidator HASH_AGG_TABLE_FACTOR = new DoubleValidator(HASH_AGG_TABLE_FACTOR_KEY, 1.1d); - String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; - OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, Long.MAX_VALUE, 8); + public static final String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; + public static final OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, + Long.MAX_VALUE, 8); - BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); - LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10); - LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100); - LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", - Long.MAX_VALUE, 3000); - LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", - Long.MAX_VALUE, 60 * 1000 * 5); + public static final BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable", false); + public static final LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000, 10, + "Sets the number of large queries that can run concurrently in the cluster. Range: 0 - 1000."); + public static final LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 10, 100, + "Sets the number of small queries that can run concurrently in the cluster. Range: 0 - 10."); + public static final LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", + Long.MAX_VALUE, 3000, "Sets the cost threshold, which depends on the complexity of the queries in" + + " queue, for determining whether query is large or small. Complex queries have higher thresholds." + + " Range: 0 - 9223372036854775807."); + public static final LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", + Long.MAX_VALUE, 60 * 1000 * 5, "Indicates how long a query can wait in queue before the query fails." + + " Range: 0 - 9223372036854775807."); - String ENABLE_VERBOSE_ERRORS_KEY = "exec.errors.verbose"; - OptionValidator ENABLE_VERBOSE_ERRORS = new BooleanValidator(ENABLE_VERBOSE_ERRORS_KEY, false); + public static final String ENABLE_VERBOSE_ERRORS_KEY = "exec.errors.verbose"; + public static final OptionValidator ENABLE_VERBOSE_ERRORS = new BooleanValidator(ENABLE_VERBOSE_ERRORS_KEY, false, + "Toggles verbose output of error messages."); - String ENABLE_NEW_TEXT_READER_KEY = "exec.storage.enable_new_text_reader"; - OptionValidator ENABLE_NEW_TEXT_READER = new BooleanValidator(ENABLE_NEW_TEXT_READER_KEY, true); + public static final String ENABLE_NEW_TEXT_READER_KEY = "exec.storage.enable_new_text_reader"; + public static final OptionValidator ENABLE_NEW_TEXT_READER = new
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557172#comment-15557172 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82485322 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -33,110 +33,122 @@ import org.apache.drill.exec.testing.ExecutionControls; import org.apache.drill.exec.util.ImpersonationUtil; -public interface ExecConstants { - String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; - String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; - String ZK_CONNECTION = "drill.exec.zk.connect"; - String ZK_TIMEOUT = "drill.exec.zk.timeout"; - String ZK_ROOT = "drill.exec.zk.root"; - String ZK_REFRESH = "drill.exec.zk.refresh"; - String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; - String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; - String BIT_TIMEOUT = "drill.exec.bit.timeout" ; - String SERVICE_NAME = "drill.exec.cluster-id"; - String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; - String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; - String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; - String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; - String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; - String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; - String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; - String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; - String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; - String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; - String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; - String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; - String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; - String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; +public final class ExecConstants { + + public static final String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; + public static final String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; + public static final String ZK_CONNECTION = "drill.exec.zk.connect"; + public static final String ZK_TIMEOUT = "drill.exec.zk.timeout"; + public static final String ZK_ROOT = "drill.exec.zk.root"; + public static final String ZK_REFRESH = "drill.exec.zk.refresh"; + public static final String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; + public static final String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; + public static final String BIT_TIMEOUT = "drill.exec.bit.timeout"; + public static final String SERVICE_NAME = "drill.exec.cluster-id"; + public static final String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; + public static final String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; + public static final String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; + public static final String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; + public static final String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; + public static final String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; + public static final String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; + public static final String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; + public static final String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; + public static final String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; + public static final String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; + public static final String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; + public static final String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; + public static final String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; /** incoming buffer size (number of batches) */ - String INCOMING_BUFFER_SIZE = "drill.exec.buffer.size"; - String SPOOLING_BUFFER_DELETE = "drill.exec.buffer.spooling.delete"; - String SPOOLING_BUFFER_MEMORY = "drill.exec.buffer.spooling.size"; - String BATCH_PURGE_THRESHOLD = "drill.exec.sort.purge.threshold"; - String EXTERNAL_SORT_TARGET_BATCH_SIZE = "drill.exec.sort.external.batch.size"; - String EXTERNAL_SORT_TARGET_SPILL_BATCH_SIZE = "drill.exec.sort.external.spill.batch.size"; - String EXTERNAL_SORT_SPILL_GROUP_SIZE = "drill.exec.sort.external.spill.group.size"; - String EXTERNAL_SORT_SPILL_THRESHOLD = "drill.exec.sort.external.spill.threshold"; - String EXTERNAL_SORT_SPILL_DIRS =
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557175#comment-15557175 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495374 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -146,89 +158,121 @@ *|-bar - a.parquet *|-baz - b.parquet */ - String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; - OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator(FILESYSTEM_PARTITION_COLUMN_LABEL, "dir"); + public static final String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; + public static final OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator( + FILESYSTEM_PARTITION_COLUMN_LABEL, "dir", + "The column label for directory levels in results of queries of files in a directory. Accepts a string input."); /** * Implicit file columns */ - String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; - OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); - String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; - OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); - String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; - OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FQN_COLUMN_LABEL, "fqn"); - String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; - OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); - - String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; - BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(JSON_READ_NUMBERS_AS_DOUBLE, false); - - String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; - OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, false); - String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; - OptionValidator MONGO_READER_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(MONGO_READER_READ_NUMBERS_AS_DOUBLE, false); - String MONGO_BSON_RECORD_READER = "store.mongo.bson.record.reader"; - OptionValidator MONGO_BSON_RECORD_READER_VALIDATOR = new BooleanValidator(MONGO_BSON_RECORD_READER, true); - - BooleanValidator ENABLE_UNION_TYPE = new BooleanValidator("exec.enable_union_type", false); + public static final String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; + public static final OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); + public static final String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; + public static final OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); + public static final String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; + public static final OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FQN_COLUMN_LABEL, "fqn"); + public static final String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; + public static final OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); + + public static final String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; + public static final BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator( + JSON_READ_NUMBERS_AS_DOUBLE, false, + "Reads numbers with or without a decimal point as DOUBLE. Prevents schema change errors."); + + public static final String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; + public static final OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, + false); + public static final String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; + public static final OptionValidator
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557167#comment-15557167 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495327 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -146,89 +158,121 @@ *|-bar - a.parquet *|-baz - b.parquet */ - String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; - OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator(FILESYSTEM_PARTITION_COLUMN_LABEL, "dir"); + public static final String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; + public static final OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator( + FILESYSTEM_PARTITION_COLUMN_LABEL, "dir", + "The column label for directory levels in results of queries of files in a directory. Accepts a string input."); --- End diff -- Instead of saying that this takes a string, can we generate that part? We look up the default value, infer the type and say: The column label ... Type: string, Default: "dir" Or, add type and default as additional columns. (Or maybe the default does not matter, only the current value, so just list the type.) > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Paul Rogers > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557166#comment-15557166 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82485491 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -33,110 +33,122 @@ import org.apache.drill.exec.testing.ExecutionControls; import org.apache.drill.exec.util.ImpersonationUtil; -public interface ExecConstants { - String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; - String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; - String ZK_CONNECTION = "drill.exec.zk.connect"; - String ZK_TIMEOUT = "drill.exec.zk.timeout"; - String ZK_ROOT = "drill.exec.zk.root"; - String ZK_REFRESH = "drill.exec.zk.refresh"; - String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; - String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; - String BIT_TIMEOUT = "drill.exec.bit.timeout" ; - String SERVICE_NAME = "drill.exec.cluster-id"; - String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; - String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; - String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; - String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; - String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; - String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; - String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; - String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; - String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; - String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; - String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; - String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; - String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; - String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; +public final class ExecConstants { + + public static final String ZK_RETRY_TIMES = "drill.exec.zk.retry.count"; + public static final String ZK_RETRY_DELAY = "drill.exec.zk.retry.delay"; + public static final String ZK_CONNECTION = "drill.exec.zk.connect"; + public static final String ZK_TIMEOUT = "drill.exec.zk.timeout"; + public static final String ZK_ROOT = "drill.exec.zk.root"; + public static final String ZK_REFRESH = "drill.exec.zk.refresh"; + public static final String BIT_RETRY_TIMES = "drill.exec.rpc.bit.server.retry.count"; + public static final String BIT_RETRY_DELAY = "drill.exec.rpc.bit.server.retry.delay"; + public static final String BIT_TIMEOUT = "drill.exec.bit.timeout"; + public static final String SERVICE_NAME = "drill.exec.cluster-id"; + public static final String INITIAL_BIT_PORT = "drill.exec.rpc.bit.server.port"; + public static final String BIT_RPC_TIMEOUT = "drill.exec.rpc.bit.timeout"; + public static final String INITIAL_USER_PORT = "drill.exec.rpc.user.server.port"; + public static final String USER_RPC_TIMEOUT = "drill.exec.rpc.user.timeout"; + public static final String METRICS_CONTEXT_NAME = "drill.exec.metrics.context"; + public static final String USE_IP_ADDRESS = "drill.exec.rpc.use.ip"; + public static final String CLIENT_RPC_THREADS = "drill.exec.rpc.user.client.threads"; + public static final String BIT_SERVER_RPC_THREADS = "drill.exec.rpc.bit.server.threads"; + public static final String USER_SERVER_RPC_THREADS = "drill.exec.rpc.user.server.threads"; + public static final String TRACE_DUMP_DIRECTORY = "drill.exec.trace.directory"; + public static final String TRACE_DUMP_FILESYSTEM = "drill.exec.trace.filesystem"; + public static final String TEMP_DIRECTORIES = "drill.exec.tmp.directories"; + public static final String TEMP_FILESYSTEM = "drill.exec.tmp.filesystem"; + public static final String INCOMING_BUFFER_IMPL = "drill.exec.buffer.impl"; /** incoming buffer size (number of batches) */ - String INCOMING_BUFFER_SIZE = "drill.exec.buffer.size"; - String SPOOLING_BUFFER_DELETE = "drill.exec.buffer.spooling.delete"; - String SPOOLING_BUFFER_MEMORY = "drill.exec.buffer.spooling.size"; - String BATCH_PURGE_THRESHOLD = "drill.exec.sort.purge.threshold"; - String EXTERNAL_SORT_TARGET_BATCH_SIZE = "drill.exec.sort.external.batch.size"; - String EXTERNAL_SORT_TARGET_SPILL_BATCH_SIZE = "drill.exec.sort.external.spill.batch.size"; - String EXTERNAL_SORT_SPILL_GROUP_SIZE = "drill.exec.sort.external.spill.group.size"; - String EXTERNAL_SORT_SPILL_THRESHOLD = "drill.exec.sort.external.spill.threshold"; - String EXTERNAL_SORT_SPILL_DIRS =
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557164#comment-15557164 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495337 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -146,89 +158,121 @@ *|-bar - a.parquet *|-baz - b.parquet */ - String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; - OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator(FILESYSTEM_PARTITION_COLUMN_LABEL, "dir"); + public static final String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; + public static final OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator( + FILESYSTEM_PARTITION_COLUMN_LABEL, "dir", + "The column label for directory levels in results of queries of files in a directory. Accepts a string input."); /** * Implicit file columns */ - String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; - OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); - String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; - OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); - String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; - OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FQN_COLUMN_LABEL, "fqn"); - String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; - OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); - - String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; - BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(JSON_READ_NUMBERS_AS_DOUBLE, false); - - String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; - OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, false); - String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; - OptionValidator MONGO_READER_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(MONGO_READER_READ_NUMBERS_AS_DOUBLE, false); - String MONGO_BSON_RECORD_READER = "store.mongo.bson.record.reader"; - OptionValidator MONGO_BSON_RECORD_READER_VALIDATOR = new BooleanValidator(MONGO_BSON_RECORD_READER, true); - - BooleanValidator ENABLE_UNION_TYPE = new BooleanValidator("exec.enable_union_type", false); + public static final String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; + public static final OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); + public static final String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; + public static final OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); + public static final String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; + public static final OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FQN_COLUMN_LABEL, "fqn"); + public static final String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; + public static final OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); + + public static final String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; + public static final BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator( + JSON_READ_NUMBERS_AS_DOUBLE, false, + "Reads numbers with or without a decimal point as DOUBLE. Prevents schema change errors."); + + public static final String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; + public static final OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, + false); + public static final String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; + public static final OptionValidator
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15557176#comment-15557176 ] ASF GitHub Bot commented on DRILL-4699: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/536#discussion_r82495353 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -146,89 +158,121 @@ *|-bar - a.parquet *|-baz - b.parquet */ - String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; - OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator(FILESYSTEM_PARTITION_COLUMN_LABEL, "dir"); + public static final String FILESYSTEM_PARTITION_COLUMN_LABEL = "drill.exec.storage.file.partition.column.label"; + public static final OptionValidator FILESYSTEM_PARTITION_COLUMN_LABEL_VALIDATOR = new StringValidator( + FILESYSTEM_PARTITION_COLUMN_LABEL, "dir", + "The column label for directory levels in results of queries of files in a directory. Accepts a string input."); /** * Implicit file columns */ - String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; - OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); - String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; - OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); - String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; - OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FQN_COLUMN_LABEL, "fqn"); - String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; - OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator(IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); - - String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; - BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(JSON_READ_NUMBERS_AS_DOUBLE, false); - - String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; - OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, false); - String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; - OptionValidator MONGO_READER_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator(MONGO_READER_READ_NUMBERS_AS_DOUBLE, false); - String MONGO_BSON_RECORD_READER = "store.mongo.bson.record.reader"; - OptionValidator MONGO_BSON_RECORD_READER_VALIDATOR = new BooleanValidator(MONGO_BSON_RECORD_READER, true); - - BooleanValidator ENABLE_UNION_TYPE = new BooleanValidator("exec.enable_union_type", false); + public static final String IMPLICIT_FILENAME_COLUMN_LABEL = "drill.exec.storage.implicit.filename.column.label"; + public static final OptionValidator IMPLICIT_FILENAME_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILENAME_COLUMN_LABEL, "filename"); + public static final String IMPLICIT_SUFFIX_COLUMN_LABEL = "drill.exec.storage.implicit.suffix.column.label"; + public static final OptionValidator IMPLICIT_SUFFIX_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_SUFFIX_COLUMN_LABEL, "suffix"); + public static final String IMPLICIT_FQN_COLUMN_LABEL = "drill.exec.storage.implicit.fqn.column.label"; + public static final OptionValidator IMPLICIT_FQN_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FQN_COLUMN_LABEL, "fqn"); + public static final String IMPLICIT_FILEPATH_COLUMN_LABEL = "drill.exec.storage.implicit.filepath.column.label"; + public static final OptionValidator IMPLICIT_FILEPATH_COLUMN_LABEL_VALIDATOR = new StringValidator( + IMPLICIT_FILEPATH_COLUMN_LABEL, "filepath"); + + public static final String JSON_READ_NUMBERS_AS_DOUBLE = "store.json.read_numbers_as_double"; + public static final BooleanValidator JSON_READ_NUMBERS_AS_DOUBLE_VALIDATOR = new BooleanValidator( + JSON_READ_NUMBERS_AS_DOUBLE, false, + "Reads numbers with or without a decimal point as DOUBLE. Prevents schema change errors."); + + public static final String MONGO_ALL_TEXT_MODE = "store.mongo.all_text_mode"; + public static final OptionValidator MONGO_READER_ALL_TEXT_MODE_VALIDATOR = new BooleanValidator(MONGO_ALL_TEXT_MODE, + false); + public static final String MONGO_READER_READ_NUMBERS_AS_DOUBLE = "store.mongo.read_numbers_as_double"; + public static final OptionValidator
[jira] [Commented] (DRILL-4699) Add Description Column in sys.options
[ https://issues.apache.org/jira/browse/DRILL-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15353904#comment-15353904 ] ASF GitHub Bot commented on DRILL-4699: --- GitHub user sudheeshkatkam opened a pull request: https://github.com/apache/drill/pull/536 DRILL-4699: Add description column to sys.options table + Add new constructor for each validator in TypeValidators with description field; deprecate old constructors + Add descriptions for some validators You can merge this pull request into a Git repository by running: $ git pull https://github.com/sudheeshkatkam/drill DRILL-4699 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/536.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #536 commit f8a78394423cca46aa3bfd63b2436c606df4b5b7 Author: Sudheesh KatkamDate: 2016-06-28T23:12:08Z DRILL-4699: Add description column to sys.options table + Add new constructor for each validator in TypeValidators with description field; deprecate old constructors + Add descriptions for some validators > Add Description Column in sys.options > - > > Key: DRILL-4699 > URL: https://issues.apache.org/jira/browse/DRILL-4699 > Project: Apache Drill > Issue Type: Improvement > Components: Server, Documentation >Affects Versions: 1.6.0 >Reporter: John Omernik >Assignee: Sudheesh Katkam > > select * from sys.options provides a user with a strong understanding of what > options are available to Drill. These options are not well documented. Some > options are "experimental" other options have a function only in specific > cases (writers vs readers for example). If we had a large text field for > description, we could enforce documentation of the settings are option > creation time, and the description of the setting could change as the > versions change (i.e. when an option graduates to being supported from being > experimental, it would be changed in the version the user is using. I.e. when > they run select * from sys.options, they know the exact state of the option > every time they query. It could also facilitate better self documentation via > QA on pull requests "Did you update the sys.options.desc?" This makes it > easier for users, and admins in the use of Drill in an enterprise. > The first step is adding the field, and then going back and filling in the > desc for each option. (Another JIRA after the option is available) -- This message was sent by Atlassian JIRA (v6.3.4#6332)