From ff66234ca231ab9b118bc416bb4d185e498ab7be Mon Sep 17 00:00:00 2001 From: Halil Ozan Akgul Date: Tue, 7 Mar 2023 15:33:52 +0300 Subject: [PATCH] try without locks --- src/backend/distributed/utils/attribute.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/backend/distributed/utils/attribute.c b/src/backend/distributed/utils/attribute.c index 30f2ee1f4..1be9657dd 100644 --- a/src/backend/distributed/utils/attribute.c +++ b/src/backend/distributed/utils/attribute.c @@ -93,7 +93,7 @@ citus_stats_tenants(PG_FUNCTION_ARGS) PG_RETURN_VOID(); } - LWLockAcquire(&monitor->lock, LW_EXCLUSIVE); + //!!!!!!!LWLockAcquire(&monitor->lock, LW_EXCLUSIVE); monitor->periodStart = monitor->periodStart + ((monitoringTime - monitor->periodStart) / CitusStatsTenantsPeriod) * @@ -132,7 +132,7 @@ citus_stats_tenants(PG_FUNCTION_ARGS) tuplestore_putvalues(tupleStore, tupleDescriptor, values, isNulls); } - LWLockRelease(&monitor->lock); + //!!!!!!!LWLockRelease(&monitor->lock); PG_RETURN_VOID(); } @@ -267,7 +267,7 @@ AttributeMetricsIfApplicable() MultiTenantMonitor *monitor = GetMultiTenantMonitor(); - LWLockAcquire(&monitor->lock, LW_SHARED); + //!!!!!!!LWLockAcquire(&monitor->lock, LW_SHARED); monitor->periodStart = monitor->periodStart + ((queryTime - monitor->periodStart) / CitusStatsTenantsPeriod) * @@ -281,7 +281,7 @@ AttributeMetricsIfApplicable() } TenantStats *tenantStats = &monitor->tenants[tenantIndex]; - LWLockAcquire(&tenantStats->lock, LW_EXCLUSIVE); + //!!!!!!!LWLockAcquire(&tenantStats->lock, LW_EXCLUSIVE); UpdatePeriodsIfNecessary(monitor, tenantStats); tenantStats->lastQueryTime = queryTime; @@ -300,7 +300,7 @@ AttributeMetricsIfApplicable() while (tenantIndex != 0 && monitor->tenants[tenantIndex - 1].score < tenantStats->score) { - LWLockAcquire(&monitor->tenants[tenantIndex - 1].lock, LW_EXCLUSIVE); + //!!!!!!!LWLockAcquire(&monitor->tenants[tenantIndex - 1].lock, LW_EXCLUSIVE); ReduceScoreIfNecessary(monitor, &monitor->tenants[tenantIndex - 1], queryTime); @@ -308,7 +308,7 @@ AttributeMetricsIfApplicable() monitor->tenants[tenantIndex] = monitor->tenants[tenantIndex - 1]; monitor->tenants[tenantIndex - 1] = tempTenant; - LWLockRelease(&monitor->tenants[tenantIndex - 1].lock); + //!!!!!!!LWLockRelease(&monitor->tenants[tenantIndex - 1].lock); tenantIndex--; } @@ -326,8 +326,8 @@ AttributeMetricsIfApplicable() tenantStats->totalInsertTime += cpu_time_used; } - LWLockRelease(&tenantStats->lock); - LWLockRelease(&monitor->lock); + //!!!!!!!LWLockRelease(&tenantStats->lock); + //!!!!!!!LWLockRelease(&monitor->lock); /* * We keep up to CitusStatsTenantsLimit * 3 tenants instead of CitusStatsTenantsLimit, @@ -337,9 +337,9 @@ AttributeMetricsIfApplicable() */ if (monitor->tenantCount >= CitusStatsTenantsLimit * 3) { - LWLockAcquire(&monitor->lock, LW_EXCLUSIVE); + //!!!!!!!LWLockAcquire(&monitor->lock, LW_EXCLUSIVE); monitor->tenantCount = CitusStatsTenantsLimit * 2; - LWLockRelease(&monitor->lock); + //!!!!!!!LWLockRelease(&monitor->lock); } if (MultiTenantMonitoringLogLevel != CITUS_LOG_LEVEL_OFF)