You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Szehon Ho (JIRA)" <ji...@apache.org> on 2014/03/13 20:19:42 UTC

[jira] [Commented] (HIVE-6652) Beeline gives evasive error message for any unrecognized command line arguement

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

Szehon Ho commented on HIVE-6652:
---------------------------------

It also doesn't make sense to me, that its treating all un-recognized argument as db-property file and connecting one after another.  Looks like a good usability change to me, if not being used now.

One minor thought, as the property file does seem useful, we can consider supporting property file with another -propertyfile argument if needed

> Beeline gives evasive error message for any unrecognized command line arguement
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-6652
>                 URL: https://issues.apache.org/jira/browse/HIVE-6652
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.11.0, 0.12.0, 0.13.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
>         Attachments: HIVE-6652.patch
>
>
> For any unrecognized command line argument, Beeline emits a warning message that's evasive and meaningless. For instance:
> {code}
> beeline abc
> abc (No such file or directory)
> Beeline version 0.14.0-SNAPSHOT by Apache Hive
> ...
> beeline -hh
> -hh (No such file or directory)
> {code}
> The error seeming suggests that Beeline accepts an argument as a file name. However, neither Beeline doc nor command line help indicates there is such an option. 
> {code}
> beeline --help
> Usage: java org.apache.hive.cli.beeline.BeeLine 
>    -u <database url>               the JDBC URL to connect to
>    -n <username>                   the username to connect as
>    -p <password>                   the password to connect as
>    -d <driver class>               the driver class to use
>    -e <query>                      query that should be executed
>    -f <file>                       script file that should be executed
>    --hiveconf property=value       Use value for given property
>    --hivevar name=value            hive variable name and value
>                                    This is Hive specific settings in which variables
>                                    can be set at session level and referenced in Hive
>                                    commands or queries.
>    --color=[true/false]            control whether color is used for display
>    --showHeader=[true/false]       show column names in query results
>    --headerInterval=ROWS;          the interval between which heades are displayed
>    --fastConnect=[true/false]      skip building table/column list for tab-completion
>    --autoCommit=[true/false]       enable/disable automatic transaction commit
>    --verbose=[true/false]          show verbose error messages and debug info
>    --showWarnings=[true/false]     display connection warnings
>    --showNestedErrs=[true/false]   display nested errors
>    --numberFormat=[pattern]        format numbers using DecimalFormat pattern
>    --force=[true/false]            continue running script even after errors
>    --maxWidth=MAXWIDTH             the maximum width of the terminal
>    --maxColumnWidth=MAXCOLWIDTH    the maximum width to use when displaying columns
>    --silent=[true/false]           be more silent
>    --autosave=[true/false]         automatically save preferences
>    --outputformat=[table/vertical/csv/tsv]   format mode for result display
>    --isolation=LEVEL               set the transaction isolation level
>    --nullemptystring=[true/false]  set to true to get historic behavior of printing null as empty string
>    --help                          display this message
> {code}
> Further research shows that this is a residual from SQLLine from which Beeline is derived, which allows user to specify a property file based on which SQLLine can make a DB connection.
> While this might be useful, this isn't documented and has caused a lot of confusions. And it's the root cause for quite a few problems such as those described in HIVE-5677. HIVE-6173 had the same symptom, which uncovered another problem.
> Thus, I'd suggest we disable this option. If it's desirable to have this option, then we need at least corresponding documentation plus better error message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)