mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
For for InMemoryTicketComponent, which iterates over the keys in the cache
- The root issue is that some entries are null markers - Cache entries could disappear during the iteration anyway - Cleaned up some comments in the cache code git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17073 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -518,15 +518,7 @@ public class TransactionalCache<K extends Serializable, V extends Object>
|
|||||||
// is the shared cache going to be cleared?
|
// is the shared cache going to be cleared?
|
||||||
if (txnData.isClearOn)
|
if (txnData.isClearOn)
|
||||||
{
|
{
|
||||||
// overflow about to occur or has occured - we can only guarantee non-stale
|
// don't store removals if we're just going to clear it all out later
|
||||||
// data by clearing the shared cache after the transaction. Also, the
|
|
||||||
// shared cache needs to be ignored for the rest of the transaction.
|
|
||||||
txnData.isClearOn = true;
|
|
||||||
if (!txnData.haveIssuedFullWarning && logger.isWarnEnabled())
|
|
||||||
{
|
|
||||||
logger.warn("Transactional update cache '" + name + "' is full (" + maxCacheSize + ").");
|
|
||||||
txnData.haveIssuedFullWarning = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -229,6 +229,11 @@ public class InMemoryTicketComponentImpl implements TicketComponent
|
|||||||
for (String key : ticketsCache.getKeys())
|
for (String key : ticketsCache.getKeys())
|
||||||
{
|
{
|
||||||
Ticket ticket = ticketsCache.get(key);
|
Ticket ticket = ticketsCache.get(key);
|
||||||
|
// Hack: The getKeys() call might return keys for null marker objects, yielding null values
|
||||||
|
if (ticket == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (ticket.getUserName().equals(userName))
|
if (ticket.getUserName().equals(userName))
|
||||||
{
|
{
|
||||||
toRemove.add(ticket.getTicketId());
|
toRemove.add(ticket.getTicketId());
|
||||||
|
Reference in New Issue
Block a user