## What changes were proposed in this pull request?

The Hive Alert & Hive Service Check both share the same logic from `hive_check` 
which attempts to execute something similar to:

```
beeline -u '%s' %s -e ';' 2>&1| awk '{print}' | grep -i -e 'Connection refused' 
-e 'Invalid URL'"
```

This type of negative condition checking misses a lot of failures, such as 
permission problems and SSL/JKS problems. Instead, we should change this to a 
positive check.

- Add the `-n` option to specify the hive user since the hive warehouse inode 
is protected. This option is ignored for Kerberos
- Change the grep to look for positive conditions
-- ```
Connecting to jdbc:hive2://c7403.ambari.apache.org:10000/;transportMode=binary
Connected to: Apache Hive (version 3.0.0.3.0.0.0-1553)
Driver: Hive JDBC (version 3.0.0.3.0.0.0-1553)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 3.0.0.3.0.0.0-1553 by Apache Hive
Closing: 0: jdbc:hive2://c7403.ambari.apache.org:10000/;transportMode=binary
```

## How was this patch tested?

Manual testing on both Kerberized and non-Kerberized clusters and unit tests 
updated.

[ Full content available at: https://github.com/apache/ambari/pull/2228 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to