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

László Bodor edited comment on HIVE-26984 at 2/2/23 11:00 AM:
--------------------------------------------------------------

hey [~kgyrtkirk], thanks for your input, 2 different aspects here:

1. after thinking about the discussion with [~zabetak] on the PR of HIVE-26984, 
I decided to postpone the hiding of constructors to another patch (which should 
be -1ed if we have evidence that 3rd parties rely on HiveConf constructors 
heavily), so HIVE-26984 will only contain the new *create* methods, this way 
I'll still have the chance to finish this one

2. regarding agents (so related to HIVE-26985): okay, I agree that agents are a 
good thing (especially if it saves us from reinventing the steel), but let's 
please consider the installation burden too: the agent approach already 
involves some messing with an agent (custom JVM args), why wouldn't we go for a 
simple setting like:
{code}
set hive.conf.property.tracking=true;
{code}
I haven't had to implement huge stuff to achieve this (look at this [single 
commit|https://github.com/apache/hive/pull/4002/commits/ade1a24716dd9db03822fa7e630f9dcca33d2adf]),
 so going for the agent approach looks simply ineffective: we're doing horrible 
things to HiveConf, everywhere (so: locally, on cluster, on dev, on customer 
side, etc.), I want to make them discoverable as easy as possible, e.g. a 
scenario when tez settings don't make their way to the application master (fun 
fact: this is happening nowadays), what do you feel like doing:
1. ask the customer to set the above option and rerun the query
2. introduce this agent stuff to hiveserver2 + tez, restart the world, and then 
rerun the query



was (Author: abstractdog):
hey [~kgyrtkirk], thanks for your input, 2 different aspects here:

1. after thinking about the discussion with [~zabetak] on the PR of HIVE-26984, 
I decided to postpone the hiding of constructors to another patch (which should 
be -1ed if we have evidence that 3rd parties rely on HiveConf constructors 
heavily), so HIVE-26984 will only contain the new *create* methods, this way 
I'll still have the chance to finish this one

2. regarding agents (so related to HIVE-26985): okay, I agree that agents are a 
good thing (especially if it saves us from reinventing the steel), but let's 
please consider the installation burden too: the agent approach already 
involves some messing with an agent (custom JVM args), why wouldn't we go for a 
simple setting like:
{code}
set hive.conf.property.tracking=true;
{code}
I haven't had to implement huge stuff to achieve this (look at this [single 
commit|https://github.com/apache/hive/pull/4002/commits/ade1a24716dd9db03822fa7e630f9dcca33d2adf],
 so going for the agent approach looks simply ineffective: we're doing horrible 
things to HiveConf, everywhere (so: locally, on cluster, on dev, on customer 
side, etc.), I want to make them discoverable as easy as possible, e.g. a 
scenario when tez settings don't make their way to the application master (fun 
fact: this is happening nowadays), what do you feel like doing:
1. ask the customer to set the above option and rerun the query
2. introduce this agent stuff to hiveserver2 + tez, restart the world, and then 
rerun the query


> Deprecate public HiveConf constructors
> --------------------------------------
>
>                 Key: HIVE-26984
>                 URL: https://issues.apache.org/jira/browse/HIVE-26984
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: László Bodor
>            Assignee: László Bodor
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> From time to time we investigate configuration object problems that are hard 
> to investigate. We can improve this area, e.g. with HIVE-26985, but first, we 
> need to introduce a public static factory method to hook into the creation 
> process. I can see this pattern in another projects as well, like: 
> HBaseConfiguration.
> Creating custom HiveConf subclasses can be useful because putting optional 
> (say: if else branches or whatever) stuff into the original HiveConf object's 
> hot codepaths can turn it less performant instantly.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to