This is an automated email from the ASF dual-hosted git repository.
maheshbandal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new abef0e258 RANGER-5003 Fix the bug that deleting a service fails with
gtid enabled mysql server#3
abef0e258 is described below
commit abef0e25873110371fee7d0351ddb63b8ddeca21
Author: gavin.wang <[email protected]>
AuthorDate: Sat Jul 5 21:18:27 2025 +0800
RANGER-5003 Fix the bug that deleting a service fails with gtid enabled
mysql server#3
---
.../java/org/apache/ranger/db/XXRMSServiceResourceDao.java | 11 +++++++++--
.../src/main/resources/META-INF/jpa_named_queries.xml | 6 ++----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/db/XXRMSServiceResourceDao.java
b/security-admin/src/main/java/org/apache/ranger/db/XXRMSServiceResourceDao.java
index 6ea6ec84e..7bd24bb9a 100644
---
a/security-admin/src/main/java/org/apache/ranger/db/XXRMSServiceResourceDao.java
+++
b/security-admin/src/main/java/org/apache/ranger/db/XXRMSServiceResourceDao.java
@@ -247,11 +247,18 @@ public List<RangerServiceResource>
getLlResourceIdForHlResourceId(long hlResourc
}
public void purge(long serviceId) {
-
getEntityManager().createNamedQuery("XXRMSNotification.deleteByServiceId")
+ List<Long> serviceResourceIds = getEntityManager()
+ .createNamedQuery("XXRMSServiceResource.getByServiceId",
Long.class)
.setParameter("serviceId", serviceId)
+ .getResultList();
+
+ if (!serviceResourceIds.isEmpty()) {
+
getEntityManager().createNamedQuery("XXRMSResourceMapping.deleteByServiceIds")
+ .setParameter("ids", serviceResourceIds)
.executeUpdate();
+ }
-
getEntityManager().createNamedQuery("XXRMSResourceMapping.deleteByServiceId")
+
getEntityManager().createNamedQuery("XXRMSNotification.deleteByServiceId")
.setParameter("serviceId", serviceId)
.executeUpdate();
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 1cc89ee4a..8f61e66e3 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
@@ -2101,10 +2101,8 @@
</query>
</named-query>
- <named-query name="XXRMSResourceMapping.deleteByServiceId">
- <query>
- DELETE FROM XXRMSResourceMapping mapping WHERE
mapping.hlResourceId in (select obj.id from XXRMSServiceResource obj where
obj.serviceId = :serviceId) OR
- mapping.llResourceId in (select obj.id from
XXRMSServiceResource obj where obj.serviceId = :serviceId)
+ <named-query name="XXRMSResourceMapping.deleteByServiceIds">
+ <query>DELETE FROM XXRMSResourceMapping mapping WHERE
mapping.hlResourceId IN :ids OR mapping.llResourceId IN :ids
</query>
</named-query>