We are using a patched version of ehcache-2.7.5 in JIRA 7.1.9 to address https://jira.atlassian.com/browse/JRA-62717
We noticed in the 7.2.3 update that jar is replaced by an Atlassian fork. What is in this fork? Is the source code available so we can apply our patch?
The reason for the modifications and the patch that was applied to fix it are both available here:
https://jira.terracotta.org/jira/browse/EHC-1132
To the best of my knowledge, yes.
That said, you should keep in mind that if Atlassian is not shipping that version yet, then we have not tested with it. Using a version other than the one we supply may make it more difficult for the support team to help out if there are other changes included in that version that cause problems.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks. We'll give it a shot.
If that doesn't work how do we see the patch from that terracotta ticket? Seems to be eluding me. Is it available in diff format somehow?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It isn't stated directly, just described. it is replacing the final call to "getQuietly" with the block of text at the end. The point is that this returns the loaded value directly instead of trying to retrieve it from the cache again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I was able to hunt down the repo and extract a formal patch for you:
diff --git a/ehcache-core/src/main/java/net/sf/ehcache/Cache.java b/ehcache-core/src/main/java/net/sf/ehcache/Cache.java index af1592e..cdd6043 100644 --- a/ehcache-core/src/main/java/net/sf/ehcache/Cache.java +++ b/ehcache-core/src/main/java/net/sf/ehcache/Cache.java @@ -1859,7 +1859,9 @@ public class Cache implements InternalEhcache, StoreListener { value = loadValueUsingLoader(key, loader, loaderArgument); } if (value != null) { - put(new Element(key, value), false); + final Element newElement = new Element(key, value); + put(newElement, false); + return newElement; } } catch (TimeoutException e) { throw new LoaderTimeoutException("Timeout on load for key " + key, e);
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.