Apache Airflow 
Version : 1.10.12

Using HiveServer2Hook with default connection ( assuming that auth_mechanism: PLAIN, but also set as extra to double make sure ) 

The password edit test is left empty, but from hook/ connections code and logs it seems that is not:

from airflow.hooks.base_hook import BaseHook
connection = BaseHook.get_connection('hiveserver2_hadoop_one_umlaut_default')
print(connection.password)

[2020-10-05 09:04:35,396] {base_task_runner.py:113} INFO - Job 20527: Subtask UMLAUT_CT_MASTER_TABLE_LOAD [2020-10-05 09:04:35,395] {base_hook.py:89} INFO - Using connection to: id: hiveserver2_hadoop_one_umlaut_default. Host: 146.11.85.131, Port: 10000, Schema: umlaut, Login: hdfs, **Password: XXXXXXXX**, extra: XXXXXXXX

def log_info(self):
        return ("id: {}. Host: {}, Port: {}, Schema: {}, "
                "Login: {}, Password: {}, extra: {}".
                format(self.conn_id,
                       self.host,
                       self.port,
                       self.schema,
                       self.login,
                       "XXXXXXXX" if self.password else None,
                       "XXXXXXXX" if self.extra_dejson else None))

from latest PyHive, looks like password is not None

https://github.com/dropbox/PyHive/blob/master/pyhive/hive.py

![image](https://user-images.githubusercontent.com/10634077/95061218-49a34f80-0736-11eb-9380-98638884ade3.png)

airflow/providers/apache/hive/hooks/hive.py
"""This function creates the command list from available information"""
        conn = self.conn
        hive_bin = 'hive'
        cmd_extra = []
        if self.use_beeline:
            hive_bin = 'beeline'
            jdbc_url = "jdbc:hive2://{host}:{port}/{schema}".format(
                host=conn.host, port=conn.port, schema=conn.schema
            )
            if conf.get('core', 'security') == 'kerberos':
                template = conn.extra_dejson.get('principal', "hive/_HOST@EXAMPLE.COM")
                if "_HOST" in template:
                    template = utils.replace_hostname_pattern(utils.get_components(template))
                proxy_user = self._get_proxy_user()
                jdbc_url += ";principal={template};{proxy_user}".format(
                    template=template, proxy_user=proxy_user
                )
            elif self.auth:
                jdbc_url += ";auth=" + self.auth
            jdbc_url = f'"{jdbc_url}"'
            cmd_extra += ['-u', jdbc_url]
            if conn.login:
                cmd_extra += ['-n', conn.login]
            if conn.password:
                cmd_extra += ['-p', conn.password]
        hive_params_list = self.hive_cli_params.split()
        return [hive_bin] + cmd_extra + hive_params_list
    @staticmethod
    def _prepare_hiveconf(d: Dict[Any, Any]) -> List[Any]: