From 1dea20eb7075a15ebd9b8006eed7f8c355c7fb17 Mon Sep 17 00:00:00 2001 From: ChinmayHegde24 Date: Sun, 23 Aug 2026 14:52:57 +0530 Subject: [PATCH 1/2] RANGER-5754: Fixed incorrect DST offset in MiscUtil.getUTCDateForLocalDate --- .../java/org/apache/ranger/audit/provider/MiscUtil.java | 2 +- .../java/org/apache/ranger/audit/provider/MiscUtilTest.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/agents-audit/core/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java b/agents-audit/core/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java index 6583437f80c..20246340d9d 100644 --- a/agents-audit/core/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java +++ b/agents-audit/core/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java @@ -843,7 +843,7 @@ public static UserGroupInformation getLoginUser() throws IOException { public static Date getUTCDateForLocalDate(Date date) { TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT+0"); Calendar local = Calendar.getInstance(); - int offset = local.getTimeZone().getOffset(local.getTimeInMillis()); + int offset = local.getTimeZone().getOffset(date.getTime()); GregorianCalendar utc = new GregorianCalendar(gmtTimeZone); utc.setTimeInMillis(date.getTime()); diff --git a/agents-audit/core/src/test/java/org/apache/ranger/audit/provider/MiscUtilTest.java b/agents-audit/core/src/test/java/org/apache/ranger/audit/provider/MiscUtilTest.java index e87c3217b4a..9ce3a169aba 100644 --- a/agents-audit/core/src/test/java/org/apache/ranger/audit/provider/MiscUtilTest.java +++ b/agents-audit/core/src/test/java/org/apache/ranger/audit/provider/MiscUtilTest.java @@ -29,6 +29,7 @@ import java.nio.file.Path; import java.security.PrivilegedAction; import java.security.PrivilegedExceptionAction; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -125,8 +126,9 @@ void testGetEnv() { void testGetFormattedTime() { long timestamp = 1609459200000L; // 2021-01-01 00:00:00 UTC - // Test with valid format - assertEquals("2021-01-01", MiscUtil.getFormattedTime(timestamp, "yyyy-MM-dd")); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String expected = sdf.format(timestamp); + assertEquals(expected, MiscUtil.getFormattedTime(timestamp, "yyyy-MM-dd")); // Test with invalid format assertNull(MiscUtil.getFormattedTime(timestamp, "invalid")); From 1d7d8e3cc0f67c3398111d60814b5a72facbc9b4 Mon Sep 17 00:00:00 2001 From: ChinmayHegde24 Date: Sun, 23 Aug 2026 19:33:50 +0530 Subject: [PATCH 2/2] RANGER-5754: Fixed incorrect DST offset in StringUtil class of agents-common module --- .../java/org/apache/ranger/authorization/utils/StringUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/utils/StringUtil.java b/agents-common/src/main/java/org/apache/ranger/authorization/utils/StringUtil.java index e29efd17c9c..8450dcef058 100644 --- a/agents-common/src/main/java/org/apache/ranger/authorization/utils/StringUtil.java +++ b/agents-common/src/main/java/org/apache/ranger/authorization/utils/StringUtil.java @@ -259,7 +259,7 @@ public static Date getUTCDate() { public static Date getUTCDateForLocalDate(Date date) { Calendar local = Calendar.getInstance(); - int offset = local.getTimeZone().getOffset(local.getTimeInMillis()); + int offset = local.getTimeZone().getOffset(date.getTime()); GregorianCalendar utc = new GregorianCalendar(gmtTimeZone); utc.setTimeInMillis(date.getTime());