This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 31b4e9d42 [#5210] fix(core): Fix the audit info of metalake (#5211)
31b4e9d42 is described below
commit 31b4e9d42716ee864c0f264d7057d566e9335724
Author: roryqi <[email protected]>
AuthorDate: Tue Oct 22 13:48:39 2024 +0800
[#5210] fix(core): Fix the audit info of metalake (#5211)
### What changes were proposed in this pull request?
Fix the audit info of metalake.
### Why are the changes needed?
Fix: #5210
### Does this PR introduce _any_ user-facing change?
Audit info changed.
### How was this patch tested?
Add a UT.
---
.../java/org/apache/gravitino/metalake/MetalakeManager.java | 3 +--
.../org/apache/gravitino/metalake/TestMetalakeManager.java | 13 ++++++++++++-
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git
a/core/src/main/java/org/apache/gravitino/metalake/MetalakeManager.java
b/core/src/main/java/org/apache/gravitino/metalake/MetalakeManager.java
index 33498665a..b8c9f77f1 100644
--- a/core/src/main/java/org/apache/gravitino/metalake/MetalakeManager.java
+++ b/core/src/main/java/org/apache/gravitino/metalake/MetalakeManager.java
@@ -217,7 +217,6 @@ public class MetalakeManager implements MetalakeDispatcher {
EntityType.METALAKE,
metalake -> {
BaseMetalake.Builder builder = newMetalakeBuilder(metalake);
-
Map<String, String> newProps =
metalake.properties() == null
? Maps.newHashMap()
@@ -335,7 +334,7 @@ public class MetalakeManager implements MetalakeDispatcher {
AuditInfo.builder()
.withCreator(metalake.auditInfo().creator())
.withCreateTime(metalake.auditInfo().createTime())
- .withLastModifier(metalake.auditInfo().creator()) /*TODO: Use real
user later on. */
+ .withLastModifier(PrincipalUtils.getCurrentUserName())
.withLastModifiedTime(Instant.now())
.build();
return builder.withAuditInfo(newInfo);
diff --git
a/core/src/test/java/org/apache/gravitino/metalake/TestMetalakeManager.java
b/core/src/test/java/org/apache/gravitino/metalake/TestMetalakeManager.java
index 3b0f796e9..d21db2ce5 100644
--- a/core/src/test/java/org/apache/gravitino/metalake/TestMetalakeManager.java
+++ b/core/src/test/java/org/apache/gravitino/metalake/TestMetalakeManager.java
@@ -28,11 +28,14 @@ import org.apache.gravitino.EntityStore;
import org.apache.gravitino.MetalakeChange;
import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.StringIdentifier;
+import org.apache.gravitino.UserPrincipal;
+import org.apache.gravitino.auth.AuthConstants;
import org.apache.gravitino.exceptions.MetalakeAlreadyExistsException;
import org.apache.gravitino.exceptions.NoSuchMetalakeException;
import org.apache.gravitino.meta.BaseMetalake;
import org.apache.gravitino.storage.RandomIdGenerator;
import org.apache.gravitino.storage.memory.TestMemoryEntityStore;
+import org.apache.gravitino.utils.PrincipalUtils;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -119,7 +122,7 @@ public class TestMetalakeManager {
}
@Test
- public void testAlterMetalake() {
+ public void testAlterMetalake() throws Exception {
NameIdentifier ident = NameIdentifier.of("test31");
Map<String, String> props = ImmutableMap.of("key1", "value1");
@@ -161,6 +164,14 @@ public class TestMetalakeManager {
Assertions.assertThrows(
NoSuchMetalakeException.class, () ->
metalakeManager.alterMetalake(id, change));
Assertions.assertTrue(exception.getMessage().contains("Metalake test3 does
not exist"));
+
+ // Test the audit info
+ UserPrincipal userPrincipal = new UserPrincipal("test");
+ MetalakeChange change5 = MetalakeChange.setProperty("key5", "value5");
+ alteredMetalake =
+ PrincipalUtils.doAs(userPrincipal, () ->
metalakeManager.alterMetalake(ident1, change5));
+ Assertions.assertEquals(userPrincipal.getName(),
alteredMetalake.auditInfo().lastModifier());
+ Assertions.assertEquals(AuthConstants.ANONYMOUS_USER,
alteredMetalake.auditInfo().creator());
}
@Test