You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by di...@apache.org on 2026/02/02 11:00:03 UTC
(ranger) 01/01: RANGER-5465: Handle upgrade failure caused by the Java patch during the Ranger DB upgrade
This is an automated email from the ASF dual-hosted git repository.
dineshkumar pushed a commit to branch sandbox/dineshkumar-yadav/RANGER-5465
in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 0f79c4280c81ccf00f041b9589814202be528846
Author: Dineshkumar Yadav <di...@outlook.com>
AuthorDate: Mon Feb 2 16:26:23 2026 +0530
RANGER-5465: Handle upgrade failure caused by the Java patch during the Ranger DB upgrade
---
.../main/java/org/apache/ranger/db/XXSecurityZoneDao.java | 15 +++++++++++++++
.../PatchPreSql_057_ForUpdateToUniqueGUID_J10052.java | 7 ++++---
...ql_058_ForUpdateToUniqueResoureceSignature_J10053.java | 8 ++++----
.../src/main/resources/META-INF/jpa_named_queries.xml | 6 ++++++
.../TestPatchPreSql_057_ForUpdateToUniqueGUID_J10052.java | 2 +-
5 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
index 9ff812d60..9f8e6ea5f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
@@ -173,4 +173,19 @@ public List<XXSecurityZone> getAllZoneIdNames() {
return securityZoneList;
}
+
+ public String findZoneNameByZoneId(Long zoneId) {
+ if (zoneId == null) {
+ return null;
+ }
+
+ try {
+ return getEntityManager()
+ .createNamedQuery("XXSecurityZone.findZoneNameByZoneId", String.class)
+ .setParameter("zoneId", zoneId)
+ .getSingleResult();
+ } catch (NoResultException e) {
+ return null;
+ }
+ }
}
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_057_ForUpdateToUniqueGUID_J10052.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
index 8282db56a..30025181e 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
@@ -18,6 +18,7 @@
package org.apache.ranger.patch;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.ranger.authorization.utils.JsonUtils;
import org.apache.ranger.biz.ServiceDBStore;
import org.apache.ranger.common.GUIDUtil;
@@ -179,10 +180,10 @@ private RangerPolicy getPolicy(final XXPolicy xPolicy) {
ret.setVersion(xPolicy.getVersion());
ret.setPolicyType(xPolicy.getPolicyType() == null ? RangerPolicy.POLICY_TYPE_ACCESS : xPolicy.getPolicyType());
- XXSecurityZone xSecurityZone = daoMgr.getXXSecurityZoneDao().findByZoneId(xPolicy.getZoneId());
+ String securityZoneName = daoMgr.getXXSecurityZoneDao().findZoneNameByZoneId(xPolicy.getZoneId());
- if (xSecurityZone != null) {
- ret.setZoneName(xSecurityZone.getName());
+ if (StringUtils.isNotEmpty(securityZoneName)) {
+ ret.setZoneName(securityZoneName);
}
}
} else {
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_058_ForUpdateToUniqueResoureceSignature_J10053.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_058_ForUpdateToUniqueResoureceSignature_J10053.java
index 4ca27766e..8595b1d0b 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_058_ForUpdateToUniqueResoureceSignature_J10053.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchPreSql_058_ForUpdateToUniqueResoureceSignature_J10053.java
@@ -18,6 +18,7 @@
package org.apache.ranger.patch;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.ranger.authorization.utils.JsonUtils;
import org.apache.ranger.biz.ServiceDBStore;
import org.apache.ranger.common.RangerFactory;
@@ -25,7 +26,6 @@
import org.apache.ranger.db.XXPolicyLabelMapDao;
import org.apache.ranger.entity.XXPolicy;
import org.apache.ranger.entity.XXPolicyLabelMap;
-import org.apache.ranger.entity.XXSecurityZone;
import org.apache.ranger.plugin.model.RangerPolicy;
import org.apache.ranger.plugin.model.RangerPolicyResourceSignature;
import org.apache.ranger.util.CLIUtil;
@@ -223,10 +223,10 @@ private RangerPolicy getPolicy(final XXPolicy xPolicy) {
ret.setVersion(xPolicy.getVersion());
ret.setPolicyType(xPolicy.getPolicyType() == null ? RangerPolicy.POLICY_TYPE_ACCESS : xPolicy.getPolicyType());
- XXSecurityZone xSecurityZone = daoMgr.getXXSecurityZoneDao().findByZoneId(xPolicy.getZoneId());
+ String securityZoneName = daoMgr.getXXSecurityZoneDao().findZoneNameByZoneId(xPolicy.getZoneId());
- if (xSecurityZone != null) {
- ret.setZoneName(xSecurityZone.getName());
+ if (StringUtils.isNotEmpty(securityZoneName)) {
+ ret.setZoneName(securityZoneName);
}
}
} else {
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 30db0eacb..7931bb1ab 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -1886,6 +1886,12 @@
</query>
</named-query>
+ <named-query name="XXSecurityZone.findZoneNameByZoneId">
+ <query>
+ SELECT obj.name FROM XXSecurityZone obj WHERE obj.id = :zoneId
+ </query>
+ </named-query>
+
<named-query name="XXGlobalState.findByStateId">
<query>
select obj from XXGlobalState obj where obj.id = :stateId
diff --git a/security-admin/src/test/java/org/apache/ranger/patch/TestPatchPreSql_057_ForUpdateToUniqueGUID_J10052.java b/security-admin/src/test/java/org/apache/ranger/patch/TestPatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
index 856443e1b..c75f794af 100644
--- a/security-admin/src/test/java/org/apache/ranger/patch/TestPatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
+++ b/security-admin/src/test/java/org/apache/ranger/patch/TestPatchPreSql_057_ForUpdateToUniqueGUID_J10052.java
@@ -218,7 +218,7 @@ public void testGetPolicy_nullAndWithZoneName() throws Exception {
XXSecurityZone z = new XXSecurityZone();
z.setId(1L);
z.setName("zoneName");
- Mockito.when(xxSecurityZoneDao.findByZoneId(Mockito.anyLong())).thenReturn(z);
+ Mockito.when(xxSecurityZoneDao.findZoneNameByZoneId(Mockito.anyLong())).thenReturn("zoneName");
RangerPolicy out = (RangerPolicy) m.invoke(patch, p);
Assertions.assertEquals("zoneName", out.getZoneName());