diff --git a/source/java/org/alfresco/repo/cache/TransactionalCache.java b/source/java/org/alfresco/repo/cache/TransactionalCache.java index 0857d5b23d..41999b6229 100644 --- a/source/java/org/alfresco/repo/cache/TransactionalCache.java +++ b/source/java/org/alfresco/repo/cache/TransactionalCache.java @@ -518,15 +518,7 @@ public class TransactionalCache // is the shared cache going to be cleared? if (txnData.isClearOn) { - // overflow about to occur or has occured - we can only guarantee non-stale - // 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; - } + // don't store removals if we're just going to clear it all out later } else { diff --git a/source/java/org/alfresco/repo/security/authentication/InMemoryTicketComponentImpl.java b/source/java/org/alfresco/repo/security/authentication/InMemoryTicketComponentImpl.java index d35983edc1..53e6e2fc97 100644 --- a/source/java/org/alfresco/repo/security/authentication/InMemoryTicketComponentImpl.java +++ b/source/java/org/alfresco/repo/security/authentication/InMemoryTicketComponentImpl.java @@ -229,6 +229,11 @@ public class InMemoryTicketComponentImpl implements TicketComponent for (String key : ticketsCache.getKeys()) { 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)) { toRemove.add(ticket.getTicketId());