This is an automated email from the ASF dual-hosted git repository.
pradeep 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 ec3f74b70 RANGER-5288: Rename column of table x_gds_shared_resource
from resource to resource_name (#674)
ec3f74b70 is described below
commit ec3f74b7082724bae5c5801c5a1d4fd3ca2cc7cc
Author: PradeeP AgrawaL <[email protected]>
AuthorDate: Wed Sep 24 14:08:04 2025 +0530
RANGER-5288: Rename column of table x_gds_shared_resource from resource to
resource_name (#674)
* RANGER-5288: Rename column of table x_gds_shared_resource from resource
to resource_name
* RANGER-5260: Improve performance of MetricUtil for policies count
---
.../optimized/current/ranger_core_db_mysql.sql | 2 +-
.../db/mysql/patches/067-create-gds-tables.sql | 2 +-
.../optimized/current/ranger_core_db_oracle.sql | 2 +-
.../db/oracle/patches/067-create-gds-tables.sql | 2 +-
.../optimized/current/ranger_core_db_postgres.sql | 2 +-
.../db/postgres/patches/067-create-gds-tables.sql | 2 +-
.../apache/ranger/entity/XXGdsSharedResource.java | 2 +-
.../apache/ranger/patch/cliutil/MetricUtil.java | 75 +---------------------
.../ranger/patch/cliutil/TestMetricUtil.java | 4 +-
9 files changed, 11 insertions(+), 82 deletions(-)
diff --git a/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
b/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
index 26e8b6590..f0448738e 100644
--- a/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
+++ b/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
@@ -1787,7 +1787,7 @@ CREATE TABLE `x_gds_shared_resource`(
, `name` VARCHAR(512) NOT NULL
, `description` TEXT NULL DEFAULT NULL
, `data_share_id` BIGINT(20) NOT NULL
- , `resource` TEXT NOT NULL
+ , `resource_name` TEXT NOT NULL
, `resource_signature` VARCHAR(128) NOT NULL
, `sub_resource` TEXT NULL DEFAULT NULL
, `sub_resource_type` TEXT NULL DEFAULT NULL
diff --git a/security-admin/db/mysql/patches/067-create-gds-tables.sql
b/security-admin/db/mysql/patches/067-create-gds-tables.sql
index ed74da8ae..f8663d5a5 100644
--- a/security-admin/db/mysql/patches/067-create-gds-tables.sql
+++ b/security-admin/db/mysql/patches/067-create-gds-tables.sql
@@ -111,7 +111,7 @@ CREATE TABLE `x_gds_shared_resource`(
, `name` VARCHAR(512) NOT NULL
, `description` TEXT NULL DEFAULT NULL
, `data_share_id` BIGINT(20) NOT NULL
- , `resource` TEXT NOT NULL
+ , `resource_name` TEXT NOT NULL
, `resource_signature` VARCHAR(128) NOT NULL
, `sub_resource` TEXT NULL DEFAULT NULL
, `sub_resource_type` TEXT NULL DEFAULT NULL
diff --git
a/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
b/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
index 4bd984ced..64e998e24 100644
--- a/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
+++ b/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
@@ -2026,7 +2026,7 @@ CREATE TABLE x_gds_shared_resource (
name VARCHAR2(512) NOT NULL,
description CLOB DEFAULT NULL NULL,
data_share_id NUMBER(20) NOT NULL,
- "resource" CLOB NOT NULL,
+ resource_name CLOB NOT NULL,
resource_signature VARCHAR2(128) NOT NULL,
sub_resource CLOB DEFAULT NULL NULL,
sub_resource_type CLOB DEFAULT NULL NULL,
diff --git a/security-admin/db/oracle/patches/067-create-gds-tables.sql
b/security-admin/db/oracle/patches/067-create-gds-tables.sql
index ebaa34465..c3f2772b9 100644
--- a/security-admin/db/oracle/patches/067-create-gds-tables.sql
+++ b/security-admin/db/oracle/patches/067-create-gds-tables.sql
@@ -159,7 +159,7 @@ CREATE TABLE x_gds_shared_resource (
name VARCHAR2(512) NOT NULL,
description CLOB DEFAULT NULL NULL,
data_share_id NUMBER(20) NOT NULL,
- "resource" CLOB NOT NULL,
+ resource_name CLOB NOT NULL,
resource_signature VARCHAR2(128) NOT NULL,
sub_resource CLOB DEFAULT NULL NULL,
sub_resource_type CLOB DEFAULT NULL NULL,
diff --git
a/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
b/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
index 8bfca56a1..8b0d8ae6e 100644
--- a/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
+++ b/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
@@ -1782,7 +1782,7 @@ CREATE TABLE x_gds_shared_resource(
, name VARCHAR(512) NOT NULL
, description TEXT NULL DEFAULT NULL
, data_share_id BIGINT NOT NULL
- , resource TEXT NOT NULL
+ , resource_name TEXT NOT NULL
, resource_signature VARCHAR(128) NOT NULL
, sub_resource TEXT NULL DEFAULT NULL
, sub_resource_type TEXT NULL DEFAULT NULL
diff --git a/security-admin/db/postgres/patches/067-create-gds-tables.sql
b/security-admin/db/postgres/patches/067-create-gds-tables.sql
index 688173527..de02f34b4 100644
--- a/security-admin/db/postgres/patches/067-create-gds-tables.sql
+++ b/security-admin/db/postgres/patches/067-create-gds-tables.sql
@@ -127,7 +127,7 @@ CREATE TABLE x_gds_shared_resource(
, name VARCHAR(512) NOT NULL
, description TEXT NULL DEFAULT NULL
, data_share_id BIGINT NOT NULL
- , resource TEXT NOT NULL
+ , resource_name TEXT NOT NULL
, resource_signature VARCHAR(128) NOT NULL
, sub_resource TEXT NULL DEFAULT NULL
, sub_resource_type TEXT NULL DEFAULT NULL
diff --git
a/security-admin/src/main/java/org/apache/ranger/entity/XXGdsSharedResource.java
b/security-admin/src/main/java/org/apache/ranger/entity/XXGdsSharedResource.java
index 90968f8a6..efd7ed4ea 100644
---
a/security-admin/src/main/java/org/apache/ranger/entity/XXGdsSharedResource.java
+++
b/security-admin/src/main/java/org/apache/ranger/entity/XXGdsSharedResource.java
@@ -67,7 +67,7 @@ public class XXGdsSharedResource extends XXDBBase implements
Serializable {
@Column(name = "data_share_id")
protected Long dataShareId;
- @Column(name = "resource")
+ @Column(name = "resource_name")
protected String resource;
@Column(name = "sub_resource")
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
index 92dacca14..5a83f2f06 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
@@ -16,7 +16,6 @@
*/
package org.apache.ranger.patch.cliutil;
-import org.apache.commons.lang.StringUtils;
import org.apache.ranger.audit.provider.MiscUtil;
import org.apache.ranger.authorization.utils.JsonUtils;
import org.apache.ranger.biz.AssetMgr;
@@ -30,7 +29,6 @@
import org.apache.ranger.common.SearchCriteria;
import org.apache.ranger.patch.BaseLoader;
import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
import org.apache.ranger.plugin.model.RangerService;
import org.apache.ranger.plugin.model.RangerServiceDef;
import
org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef;
@@ -390,76 +388,9 @@ private void metricCalculation(String caseValue) {
break;
case "denyconditions":
try {
- SearchFilter policyFilter1 = new SearchFilter();
-
- policyFilter1.setMaxRows(200);
- policyFilter1.setStartIndex(0);
- policyFilter1.setGetCount(true);
- policyFilter1.setSortBy("serviceId");
- policyFilter1.setSortType("asc");
-
- int denyCount = 0;
- Map<String, Integer> denyconditionsonMap = new
HashMap<>();
- PList<RangerServiceDef> paginatedSvcDefs =
svcStore.getPaginatedServiceDefs(policyFilter1);
-
- if (paginatedSvcDefs != null) {
- List<RangerServiceDef> rangerServiceDefs =
paginatedSvcDefs.getList();
-
- if (rangerServiceDefs != null &&
!rangerServiceDefs.isEmpty()) {
- for (RangerServiceDef rangerServiceDef :
rangerServiceDefs) {
- if (rangerServiceDef != null) {
- String serviceDef =
rangerServiceDef.getName();
-
- if (!StringUtils.isEmpty(serviceDef)) {
-
policyFilter1.setParam("serviceType", serviceDef);
-
policyFilter1.setParam("denyCondition", "true");
-
- PList<RangerPolicy> policiesList =
svcStore.getPaginatedPolicies(policyFilter1);
-
- if (policiesList != null &&
policiesList.getListSize() > 0) {
- int policyListCount =
policiesList.getListSize();
-
- if (policyListCount > 0 &&
policiesList.getList() != null) {
- List<RangerPolicy>
policies = policiesList.getList();
-
- for (RangerPolicy policy :
policies) {
- if (policy != null) {
-
List<RangerPolicyItem> policyItem = policy.getDenyPolicyItems();
-
- if (policyItem !=
null && !policyItem.isEmpty()) {
- if
(denyconditionsonMap.get(serviceDef) != null) {
- denyCount
= denyconditionsonMap.get(serviceDef) + denyCount + policyItem.size();
- } else {
- denyCount
= denyCount + policyItem.size();
- }
- }
-
-
List<RangerPolicyItem> policyItemExclude = policy.getDenyExceptions();
- if
(policyItemExclude != null && !policyItemExclude.isEmpty()) {
- if
(denyconditionsonMap.get(serviceDef) != null) {
- denyCount
= denyconditionsonMap.get(serviceDef) + denyCount + policyItemExclude.size();
- } else {
- denyCount
= denyCount + policyItemExclude.size();
- }
- }
- }
- }
- }
- }
-
-
policyFilter1.removeParam("serviceType");
- }
-
- denyconditionsonMap.put(serviceDef,
denyCount);
-
- denyCount = 0;
- }
- }
- }
- }
-
- String jsonContextDenyCondtionOn =
JsonUtils.objectToJson(denyconditionsonMap);
- System.out.println(jsonContextDenyCondtionOn);
+ Map<String, Long> denyconditionsonMap =
svcStore.getPolicyCountByDenyConditionsAndServiceDef();
+ String jsonContextDenyCondition =
JsonUtils.objectToJson(denyconditionsonMap);
+ System.out.println(jsonContextDenyCondition);
} catch (Exception e) {
logger.error("Error calculating Metric for
denyconditions : {}", e.getMessage());
}
diff --git
a/security-admin/src/test/java/org/apache/ranger/patch/cliutil/TestMetricUtil.java
b/security-admin/src/test/java/org/apache/ranger/patch/cliutil/TestMetricUtil.java
index fa0ce8688..70f8eba98 100644
---
a/security-admin/src/test/java/org/apache/ranger/patch/cliutil/TestMetricUtil.java
+++
b/security-admin/src/test/java/org/apache/ranger/patch/cliutil/TestMetricUtil.java
@@ -216,7 +216,6 @@ public void testExecLoad_denyconditions() throws Exception {
PList<RangerServiceDef> defs = new PList<>();
defs.setList(Collections.singletonList(def));
defs.setTotalCount(1L);
-
Mockito.when(svcStore.getPaginatedServiceDefs(Mockito.any(SearchFilter.class))).thenReturn(defs);
RangerPolicy policy = new RangerPolicy();
policy.setDenyPolicyItems(Collections.singletonList(new
RangerPolicy.RangerPolicyItem()));
@@ -224,10 +223,9 @@ public void testExecLoad_denyconditions() throws Exception
{
PList<RangerPolicy> policyList = new PList<>();
policyList.setList(Collections.singletonList(policy));
policyList.setTotalCount(1L);
-
Mockito.when(svcStore.getPaginatedPolicies(Mockito.any(SearchFilter.class))).thenReturn(policyList);
metricUtil.execLoad();
- Mockito.verify(svcStore,
Mockito.atLeast(1)).getPaginatedServiceDefs(Mockito.any(SearchFilter.class));
+ Mockito.verify(svcStore,
Mockito.atLeast(1)).getPolicyCountByDenyConditionsAndServiceDef();
}
}