From 9dfbf828be5fc99811529ae988b3ffa8fa39fcb7 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Thu, 16 Mar 2017 02:12:37 -0700 Subject: [PATCH 1/5] [SPARK-19970][SQL] Table owner should be USER instead of PRINCIPAL in kerberized clusters --- .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index 989fdc5564d39..0d61959384430 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -851,7 +851,7 @@ private[hive] object HiveClientImpl { hiveTable.setFields(schema.asJava) } hiveTable.setPartCols(partCols.asJava) - conf.foreach(c => hiveTable.setOwner(c.getUser)) + conf.foreach(c => hiveTable.setOwner(SessionState.getUserFromAuthenticator())) hiveTable.setCreateTime((table.createTime / 1000).toInt) hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt) table.storage.locationUri.map(CatalogUtils.URIToString(_)).foreach { loc => From e8ef7d115ec34643c5af767298e20559f007aa33 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Thu, 16 Mar 2017 03:55:32 -0700 Subject: [PATCH 2/5] Replace `getUserFromAuthenticator` because it is introduced in 0.13. --- .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index 0d61959384430..79a7d4e3d7b5e 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -851,7 +851,7 @@ private[hive] object HiveClientImpl { hiveTable.setFields(schema.asJava) } hiveTable.setPartCols(partCols.asJava) - conf.foreach(c => hiveTable.setOwner(SessionState.getUserFromAuthenticator())) + conf.foreach(c => hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName())) hiveTable.setCreateTime((table.createTime / 1000).toInt) hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt) table.storage.locationUri.map(CatalogUtils.URIToString(_)).foreach { loc => From 2959d98b00db1c5c159e84e5f1d71def99dad5f5 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Fri, 17 Mar 2017 10:20:36 -0700 Subject: [PATCH 3/5] Change styles. --- .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index 79a7d4e3d7b5e..13edcd051768c 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -851,7 +851,7 @@ private[hive] object HiveClientImpl { hiveTable.setFields(schema.asJava) } hiveTable.setPartCols(partCols.asJava) - conf.foreach(c => hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName())) + conf.foreach { _ => hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName()) } hiveTable.setCreateTime((table.createTime / 1000).toInt) hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt) table.storage.locationUri.map(CatalogUtils.URIToString(_)).foreach { loc => From 5efdf8bed28ed72a109be327d79c606d57c43d11 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Fri, 17 Mar 2017 10:39:50 -0700 Subject: [PATCH 4/5] `conf` is not used. --- .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index 13edcd051768c..6c03fb147ebf8 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -851,7 +851,7 @@ private[hive] object HiveClientImpl { hiveTable.setFields(schema.asJava) } hiveTable.setPartCols(partCols.asJava) - conf.foreach { _ => hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName()) } + hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName()) hiveTable.setCreateTime((table.createTime / 1000).toInt) hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt) table.storage.locationUri.map(CatalogUtils.URIToString(_)).foreach { loc => From 258ff8d72412c299f6278c79e72d3894cefd1bc0 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Fri, 17 Mar 2017 12:00:19 -0700 Subject: [PATCH 5/5] Revert "`conf` is not used." This reverts commit 5efdf8bed28ed72a109be327d79c606d57c43d11. --- .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index 6c03fb147ebf8..13edcd051768c 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -851,7 +851,7 @@ private[hive] object HiveClientImpl { hiveTable.setFields(schema.asJava) } hiveTable.setPartCols(partCols.asJava) - hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName()) + conf.foreach { _ => hiveTable.setOwner(SessionState.get().getAuthenticator().getUserName()) } hiveTable.setCreateTime((table.createTime / 1000).toInt) hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt) table.storage.locationUri.map(CatalogUtils.URIToString(_)).foreach { loc =>