[
https://issues.apache.org/jira/browse/TAJO-928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14088859#comment-14088859
]
ASF GitHub Bot commented on TAJO-928:
-------------------------------------
Github user hyunsik commented on the pull request:
https://github.com/apache/tajo/pull/98#issuecomment-51433096
I've described some changes.
The current way is to set some keys in TajoConf.ConfVars. I deprecated the
way, but the way still works for a while. If you use the old way, you can see
the deprecation warning.
```
Try \? for help.
default> \set tajo.dist-query.join.broadcast.threshold-bytes 50000
Warning: deprecated to directly use config key in TajoConf.ConfVars. Please
execute '\help set'.
```
But, the conf key automatically is replaced by new key corresponding to the
conf key.
```
default> \set
'BROADCAST_TABLE_SIZE_LIMIT'='50000'
'CURRENT_DATABASE'='default'
'SESSION_ID'='1a104a50-3f8d-4bac-a8a2-5a8efc936298'
'USERNAME'='hyunsik'
'SESSION_LAST_ACCESS_TIME'='1407388966573'
```
Also, I've added the help command and its alias. So you can use ```\?
[command name]``` or ```\help [command name]```. I've extended some method for
help to ```TajoShellCommand``` interface. The following is the help of set
command.
```
default> \help set
Available Session Variables:
\set SESSION_EXPIRY_TIME [int value] - session expiry time (secs)
\set CLI_COLUMNS [int value] - Sets the width for the wrapped format
\set CLI_FORMATTER_CLASS [text value] - Sets the output format class to
display results
\set CLI_NULL_CHAR [text value] - Sets the string to be printed in place of
a null value.
\set CLI_PAGE_ROWS [int value] - Sets the number of rows for paging
\set CLI_PAGING_ENABLED [true or false] - Enable paging of result display
\set CLI_DISPLAY_ERROR_TRACE [true or false] - Enable display of error trace
\set ON_ERROR_STOP [true or false] - tsql will exist if an error occurs.
\set TZ [text value] - Sets timezone
\set DATE_ORDER [text value] - date order (default is YMD)
\set LANG [text value] - Language
\set LC_ALL [text value] - String sort order
\set LC_COLLATE [text value] - String sort order
\set LC_CTYPE [text value] - Character classification (What is a letter?
Its upper-case equivalent?)
\set LC_MESSAGES [text value] - Language of messages
\set LC_MONETARY [text value] - Formatting of currency amounts
\set LC_NUMERIC [text value] - Formatting of numbers
\set LC_TIME [text value] - Formatting of dates and times
\set BROADCAST_TABLE_SIZE_LIMIT [long value] - limited size (bytes) of
broadcast table
\set JOIN_TASK_INPUT_SIZE [int value] - join task input size (mb)
\set SORT_TASK_INPUT_SIZE [int value] - sort task input size (mb)
\set GROUPBY_TASK_INPUT_SIZE [int value] - group by task input size (mb)
\set JOIN_PER_SHUFFLE_SIZE [int value] - shuffle output size for join (mb)
\set GROUPBY_PER_SHUFFLE_SIZE [int value] - shuffle output size for sort
(mb)
\set TABLE_PARTITION_PER_SHUFFLE_SIZE [int value] - shuffle output size for
partition table write (mb)
\set EXTSORT_BUFFER_SIZE [long value] - sort buffer size for external sort
(mb)
\set HASH_JOIN_SIZE_LIMIT [long value] - limited size for hash join (mb)
\set INNER_HASH_JOIN_SIZE_LIMIT [long value] - limited size for hash inner
join (mb)
\set OUTER_HASH_JOIN_SIZE_LIMIT [long value] - limited size for hash outer
join (mb)
\set HASH_GROUPBY_SIZE_LIMIT [long value] - limited size for hash groupby
(mb)
\set MAX_OUTPUT_FILE_SIZE [int value] - Maximum per-output file size (mb).
0 means infinite.
\set NULL_CHAR [text value] - null char of text file output
\set ARITHABORT [true or false] - If true, a running query will be
terminated when an overflow or divide-by-zero occurs.
\set DEBUG_ENABLED [true or false] - (debug only) debug mode enabled
```
Also, I've updated querydetail.jsp file to show session variables applied
to the query.
I believe that this patch is ready to be committed. Please review this.
> Session variables should override query configs in TajoConf.
> ------------------------------------------------------------
>
> Key: TAJO-928
> URL: https://issues.apache.org/jira/browse/TAJO-928
> Project: Tajo
> Issue Type: Improvement
> Components: distributed query plan, planner/optimizer
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.9.0
>
>
> Currently, we should use tajo-site in order to change the configurations
> related queries, such as optimization option or some parameters. It is never
> practical because we need to restart a Tajo cluster in order to change the
> config.
> The main purpose of this issue is to refactor the system of session variable
> and some part to recognize query configs to accept the session variables.
> Also, when there are duplicated configs in session and TajoConf, session
> variables should override the existing config of TajoConf.
--
This message was sent by Atlassian JIRA
(v6.2#6252)