try without locks

pull/6763/head
Halil Ozan Akgul 2023-03-07 15:33:52 +03:00
parent 4816817c9b
commit ff66234ca2
1 changed files with 10 additions and 10 deletions

View File

@ -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)