This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch branch-1.8
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/branch-1.8 by this push:
new 1e38f9748 [KYUUBI #6588] Get effective USER if env var is unavailable
1e38f9748 is described below
commit 1e38f97480ea1610071267747cb6b19562356819
Author: Cheng Pan <[email protected]>
AuthorDate: Wed Aug 7 17:44:42 2024 +0800
[KYUUBI #6588] Get effective USER if env var is unavailable
# :mag: Description
In some cases, env var USER is unavailable, for example, docker container,
we should evaluate it via `id -nu`
ref:
https://github.com/apache/hadoop/blob/rel/release-3.4.0/hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh#L893-L896
## Types of changes :bookmark:
- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
```
$ docker run -t -i ubuntu:latest
root1dbeaefd6cd4:/# echo $USER
root1dbeaefd6cd4:/# id -nu
root
root1dbeaefd6cd4:/# exit
```
---
# Checklist ๐
- [x] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
**Be nice. Be informative.**
Closes #6588 from pan3793/USER.
Closes #6588
a79786347 [Cheng Pan] Get effective USER if env var is unavailable
Authored-by: Cheng Pan <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
(cherry picked from commit b90063942ab7d420fff85ecb8b9bcb3877f51f8d)
Signed-off-by: Cheng Pan <[email protected]>
---
bin/kyuubi | 5 +++++
build/kyuubi-build-info | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/bin/kyuubi b/bin/kyuubi
index 17ab717e5..00c95ad3b 100755
--- a/bin/kyuubi
+++ b/bin/kyuubi
@@ -35,6 +35,11 @@ if [[ "$*" = *--help ]] || [[ "$*" = *-h ]]; then
exit 0
fi
+# if for some reason the shell doesn't have $USER defined
+# (e.g., ssh'd in to execute a command)
+# let's get the effective username and use that
+USER=${USER:-$(id -nu)}
+
function kyuubi_logo() {
source ${KYUUBI_HOME}/bin/kyuubi-logo
}
diff --git a/build/kyuubi-build-info b/build/kyuubi-build-info
index 8ac7ee2e2..e9a13edf1 100755
--- a/build/kyuubi-build-info
+++ b/build/kyuubi-build-info
@@ -30,7 +30,10 @@ echo_build_properties() {
echo kyuubi_hadoop_version="$7"
echo kyuubi_flink_version="$8"
echo kyuubi_trino_version="$9"
- echo user="$USER"
+ # if for some reason the shell doesn't have $USER defined
+ # (e.g., ssh'd in to execute a command)
+ # let's get the effective username and use that
+ echo user="${USER:-$(id -nu)}"
echo revision=$(git rev-parse HEAD)
echo revision_time=$(git show -s --format=%ci HEAD)
echo branch=$(git rev-parse --abbrev-ref HEAD)