Community
Participate
Working Groups
CDO Client has some cache structures to accelerate CDORevision fetching process, avoiding round-trip with the server. This has a great impact in the performance of client application. If using revision cache with STRONG or WEAK references, unreferenced revisions should be evicted, but it appears that when we are managing millions of objects, either fetching from server or by making really fast commits or bit commits, the cache seems to grow too fast and revisions don't get evicted with enough frequency.
The problem could be easily solved by changing the way ReferenceQueueWorker polls ReferenceQueue for evicted references. Eike and I agreed to make DEFAULT_MAX_WORK_PER_POLL to -1, which would imply undefinitely poll the queue, instead of the current value, 100.
Created attachment 167284 [details] patch v1 poll set to infinite by default
Created attachment 167297 [details] patch v2 - ready to be committed
Committed to HEAD
Available in 3.0 GA: http://download.eclipse.org/modeling/emf/cdo/updates/3.0-releases/