You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by we...@apache.org on 2022/06/17 01:13:24 UTC
[hadoop] branch trunk updated: HADOOP-18289. Remove WhiteBox in hadoop-kms module. (#4433)
This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 7bfff63774d HADOOP-18289. Remove WhiteBox in hadoop-kms module. (#4433)
7bfff63774d is described below
commit 7bfff63774d01837bcb2d783e9a9630b9bffe1af
Author: slfan1989 <55...@users.noreply.github.com>
AuthorDate: Thu Jun 16 18:13:16 2022 -0700
HADOOP-18289. Remove WhiteBox in hadoop-kms module. (#4433)
Co-authored-by: slfan1989 <louj1988@@>
---
.../org/apache/hadoop/crypto/key/kms/server/TestKMS.java | 12 +++++++-----
.../apache/hadoop/crypto/key/kms/server/TestKMSAudit.java | 14 ++++++++------
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java b/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
index a0a58ff3567..f4c7fbe0b3c 100644
--- a/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
+++ b/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
@@ -17,6 +17,7 @@
*/
package org.apache.hadoop.crypto.key.kms.server;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.hadoop.thirdparty.com.google.common.cache.LoadingCache;
import org.apache.curator.test.TestingServer;
import org.apache.hadoop.conf.Configuration;
@@ -48,7 +49,6 @@ import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.security.token.TokenIdentifier;
import org.apache.hadoop.security.token.delegation.web.DelegationTokenIdentifier;
import org.apache.hadoop.test.GenericTestUtils;
-import org.apache.hadoop.test.Whitebox;
import org.apache.hadoop.util.Time;
import org.apache.http.client.utils.URIBuilder;
import org.junit.After;
@@ -929,6 +929,7 @@ public class TestKMS {
}
@Test
+ @SuppressWarnings("unchecked")
public void testKMSProviderCaching() throws Exception {
Configuration conf = new Configuration();
File confDir = getTestDir();
@@ -946,11 +947,12 @@ public class TestKMS {
KMSClientProvider kmscp = createKMSClientProvider(uri, conf);
// get the reference to the internal cache, to test invalidation.
- ValueQueue vq =
- (ValueQueue) Whitebox.getInternalState(kmscp, "encKeyVersionQueue");
+ ValueQueue vq = (ValueQueue) FieldUtils.getField(KMSClientProvider.class,
+ "encKeyVersionQueue", true).get(kmscp);
LoadingCache<String, LinkedBlockingQueue<EncryptedKeyVersion>> kq =
- ((LoadingCache<String, LinkedBlockingQueue<EncryptedKeyVersion>>)
- Whitebox.getInternalState(vq, "keyQueues"));
+ (LoadingCache<String, LinkedBlockingQueue<EncryptedKeyVersion>>)
+ FieldUtils.getField(ValueQueue.class, "keyQueues", true).get(vq);
+
EncryptedKeyVersion mockEKV = Mockito.mock(EncryptedKeyVersion.class);
when(mockEKV.getEncryptionKeyName()).thenReturn(keyName);
when(mockEKV.getEncryptionKeyVersionName()).thenReturn(mockVersionName);
diff --git a/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java b/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
index 2f47ed794ac..3d0fd7de642 100644
--- a/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
+++ b/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
@@ -24,13 +24,14 @@ import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.List;
+import java.util.concurrent.TimeUnit;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.crypto.key.kms.server.KMS.KMSOp;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.test.GenericTestUtils;
-import org.apache.hadoop.test.Whitebox;
import org.apache.hadoop.util.ThreadUtil;
import org.apache.log4j.LogManager;
import org.apache.log4j.PropertyConfigurator;
@@ -63,7 +64,7 @@ public class TestKMSAudit {
}
@Rule
- public final Timeout testTimeout = new Timeout(180000);
+ public final Timeout testTimeout = new Timeout(180000L, TimeUnit.MILLISECONDS);
@Before
public void setUp() throws IOException {
@@ -207,8 +208,9 @@ public class TestKMSAudit {
@Test
public void testInitAuditLoggers() throws Exception {
// Default should be the simple logger
- List<KMSAuditLogger> loggers = (List<KMSAuditLogger>) Whitebox
- .getInternalState(kmsAudit, "auditLoggers");
+ List<KMSAuditLogger> loggers = (List<KMSAuditLogger>) FieldUtils.
+ getField(KMSAudit.class, "auditLoggers", true).get(kmsAudit);
+
Assert.assertEquals(1, loggers.size());
Assert.assertEquals(SimpleKMSAuditLogger.class, loggers.get(0).getClass());
@@ -218,8 +220,8 @@ public class TestKMSAudit {
SimpleKMSAuditLogger.class.getName() + ", "
+ SimpleKMSAuditLogger.class.getName());
final KMSAudit audit = new KMSAudit(conf);
- loggers =
- (List<KMSAuditLogger>) Whitebox.getInternalState(audit, "auditLoggers");
+ loggers = (List<KMSAuditLogger>) FieldUtils.
+ getField(KMSAudit.class, "auditLoggers", true).get(kmsAudit);
Assert.assertEquals(1, loggers.size());
Assert.assertEquals(SimpleKMSAuditLogger.class, loggers.get(0).getClass());
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org