You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Miklos Szurap (Jira)" <ji...@apache.org> on 2023/01/15 22:31:00 UTC

[jira] [Created] (HIVE-26941) Make SetProcessor configurable to ignore some set variables

Miklos Szurap created HIVE-26941:
------------------------------------

             Summary: Make SetProcessor configurable to ignore some set variables
                 Key: HIVE-26941
                 URL: https://issues.apache.org/jira/browse/HIVE-26941
             Project: Hive
          Issue Type: New Feature
          Components: Configuration, Hive
            Reporter: Miklos Szurap
            Assignee: Miklos Szurap


In certain environments after upgrades we need to restrict users from changing some Hive configurations during runtime (for example "mapreduce.job.queuename" or "hive.execution.engine"). 
The "hive.security.authorization.sqlstd.confwhitelist" could  be used for this, however:
* it is complex to modify that sometimes (for example to exclude a config which is otherwise allowed with a wildcard) 
* when a user script tries to set a parameter not in the "hive.security.authorization.sqlstd.confwhitelist" then the whole script just fails with "Error: Error while processing statement: Cannot modify xxxx at runtime. It is not in list of params that are allowed to be modified at runtime". This would require all the user scripts and jobs to be modified (to remove that "set" command), that can be a huge effort.

With a new configuration item in hive-site.xml cluster operators can configure HiveServer2 to ignore the "set" command requests - essentially making those settings "final" on HiveServer2 level. Trying to change these "final" settings would not fail the scripts - just ignore their request.

In this jira:
- add a new config "hive.conf.ignored.variable.list"
- accepts strings, comma separated list of variables
- the config is empty by default, it can be set in hive-site.xml only
- adding the "hive.conf.ignored.variable.list" to the restricted list ("hive.conf.restricted.list") internally - so it cannot be modified during runtime
- adding tests for the changes



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