Closed
Description
When query cache enabled, I realized that we are storing updatetimestampscache for non cached entities.
Is this really necessary in our scenario we use query cache for just Cache.ReadWrite or Cache.Readonly or Cache.NonstrictReadWrite entities, not non cached entities.
We need high performance to do that we need to decrease Sync. and locking for dml/select operations, its locks all threads in same application its too much cost for per operation.
I think that this needs to be configurable(Store all entities updatetimestampscache or just cacheable entities) or we give us a way to implement our UpdateTimestampsCache, because its readonly?
Action Queue can be check? executable.PropertySpaces && execuatble.Persister.Cache != null
private void RegisterCleanupActions(IExecutable executable)
{
if (executable is IAsyncExecutable asyncExecutable)
{
RegisterProcess(asyncExecutable.BeforeTransactionCompletionProcess);
RegisterProcess(asyncExecutable.AfterTransactionCompletionProcess);
}
else
{
#pragma warning disable 618,619
RegisterProcess(executable.BeforeTransactionCompletionProcess);
RegisterProcess(executable.AfterTransactionCompletionProcess);
#pragma warning restore 618,619
}
if (executable.PropertySpaces != null)
{
executedSpaces.UnionWith(executable.PropertySpaces);
}
}