[
https://issues.apache.org/jira/browse/HIVE-18238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16310285#comment-16310285
]
Zoltan Haindrich commented on HIVE-18238:
-----------------------------------------
[~ekoifman] ...in the latest patch I'm doing a very similar thing - by creating
a new conf in {{QueryState}} ; but the broken test number have raised again so
I might probably step back to only prevent hiveconf changes for intra project
parts (service/cli/etc) - just like in the earlier patches.
In the near future I would like to add some re-execution logic which in this
way haven't has to tweak everything in the driver - instead; I will try to
clean some parts of it.
I will keep in mind that earlier Driver had a separate config; but
unfortunately currently there are some pieces which can't live without modify
session level configs...
I've collected the configs which have been "restored" to do session level
changes in the latest patch:
| {{hive.query.string}} | the user can take a look at the last query...I
haven't seen any other uses so far.. thank you [~stakiar] for the info; it's
very intresting, IIRC there is some rest api which give much more detailed
information about the executed queries... I feel that using that service would
be better for the user |
| {{hive.query.id}} | the druid storage driver uses {{Session.get().getConf()}}
to acquire the current query id; to calculate a scratch-dir name - in case of
parallel execution this might be cause severe problems - I've tried to send the
correct conf; but I ended up changing too many things... I think that the
Storage driver is more closer to be a session level thing; than to be a query
level construct; so I feel that probably the Druid storage handler should be
modified to use a random id to get a scratch dir... |
| {{hive.doing.acid}} | I think this is some leftover flag...I feel that once
set; it's never been unset; and it also needs session level - I think this can
be removed |
> Driver execution may not have configuration changing sideeffects
> -----------------------------------------------------------------
>
> Key: HIVE-18238
> URL: https://issues.apache.org/jira/browse/HIVE-18238
> Project: Hive
> Issue Type: Sub-task
> Components: Logical Optimizer
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Attachments: HIVE-18238.01wip01.patch, HIVE-18238.02.patch,
> HIVE-18238.03.patch
>
>
> {{Driver}} executes sql statements which use "hiveconf" settings;
> but the {{Driver}} itself may *not* change the configuration...
> I've found an example; which shows how hazardous this is...
> {code}
> set hive.mapred.mode=strict;
> select "${hiveconf:hive.mapred.mode}";
> create table t (a int);
> analyze table t compute statistics;
> select "${hiveconf:hive.mapred.mode}";
> {code}
> currently; the last select returns {{nonstrict}} because of
> [this|https://github.com/apache/hive/blob/7ddd915bf82a68c8ab73b0c4ca409f1a6d43d227/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java#L1696]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)