[JBoss JIRA] (ISPN-9919) Partial updates in Hibernate 2L cache upon failure
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9919?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9919:
-----------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/6647
> Partial updates in Hibernate 2L cache upon failure
> --------------------------------------------------
>
> Key: ISPN-9919
> URL: https://issues.jboss.org/browse/ISPN-9919
> Project: Infinispan
> Issue Type: Bug
> Components: Hibernate Cache
> Affects Versions: 10.0.0.Alpha3, 9.4.6.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Major
> Fix For: 10.0.0.Final, 9.4.7.Final
>
>
> This issue only affects 5.3:
> For a repl read-write, entity cache, if the failure happens on the async FutureUpdate call, that's fine because the Tombstone has already been sent and the cache won't return anything.
> If the failure happens when the Tombstone is sent, we seem to have a problem because it results in stale data in the node that failed to apply the Tombstone. The FutureUpdate that comes after the Tombstone cannot apply because it doesn't find the Tombstone.
> In 5.3, Sync logs any errors but does not propagate it, so it ends up with inconsistent state.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months
[JBoss JIRA] (ISPN-9919) Partial updates in Hibernate 2L cache upon failure
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9919?page=com.atlassian.jira.plugin.... ]
Work on ISPN-9919 started by Galder Zamarreño.
----------------------------------------------
> Partial updates in Hibernate 2L cache upon failure
> --------------------------------------------------
>
> Key: ISPN-9919
> URL: https://issues.jboss.org/browse/ISPN-9919
> Project: Infinispan
> Issue Type: Bug
> Components: Hibernate Cache
> Affects Versions: 10.0.0.Alpha3, 9.4.6.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Major
> Fix For: 10.0.0.Final, 9.4.7.Final
>
>
> This issue only affects 5.3:
> For a repl read-write, entity cache, if the failure happens on the async FutureUpdate call, that's fine because the Tombstone has already been sent and the cache won't return anything.
> If the failure happens when the Tombstone is sent, we seem to have a problem because it results in stale data in the node that failed to apply the Tombstone. The FutureUpdate that comes after the Tombstone cannot apply because it doesn't find the Tombstone.
> In 5.3, Sync logs any errors but does not propagate it, so it ends up with inconsistent state.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months
[JBoss JIRA] (ISPN-9919) Partial updates in Hibernate 2L cache upon failure
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9919?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9919:
-----------------------------------
Status: Open (was: New)
> Partial updates in Hibernate 2L cache upon failure
> --------------------------------------------------
>
> Key: ISPN-9919
> URL: https://issues.jboss.org/browse/ISPN-9919
> Project: Infinispan
> Issue Type: Bug
> Components: Hibernate Cache
> Affects Versions: 10.0.0.Alpha3, 9.4.6.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Major
> Fix For: 10.0.0.Final, 9.4.7.Final
>
>
> This issue only affects 5.3:
> For a repl read-write, entity cache, if the failure happens on the async FutureUpdate call, that's fine because the Tombstone has already been sent and the cache won't return anything.
> If the failure happens when the Tombstone is sent, we seem to have a problem because it results in stale data in the node that failed to apply the Tombstone. The FutureUpdate that comes after the Tombstone cannot apply because it doesn't find the Tombstone.
> In 5.3, Sync logs any errors but does not propagate it, so it ends up with inconsistent state.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months
[JBoss JIRA] (ISPN-9919) Partial updates in Hibernate 2L cache upon failure
by Galder Zamarreño (Jira)
Galder Zamarreño created ISPN-9919:
--------------------------------------
Summary: Partial updates in Hibernate 2L cache upon failure
Key: ISPN-9919
URL: https://issues.jboss.org/browse/ISPN-9919
Project: Infinispan
Issue Type: Bug
Components: Hibernate Cache
Affects Versions: 9.4.6.Final, 10.0.0.Alpha3
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 10.0.0.Final, 9.4.7.Final
This issue only affects 5.3:
For a repl read-write, entity cache, if the failure happens on the async FutureUpdate call, that's fine because the Tombstone has already been sent and the cache won't return anything.
If the failure happens when the Tombstone is sent, we seem to have a problem because it results in stale data in the node that failed to apply the Tombstone. The FutureUpdate that comes after the Tombstone cannot apply because it doesn't find the Tombstone.
In 5.3, Sync logs any errors but does not propagate it, so it ends up with inconsistent state.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months
[JBoss JIRA] (ISPN-9918) Launching of server tools (e.g. vault) with custom maven settings needs extra parameter
by Tristan Tarrant (Jira)
Tristan Tarrant created ISPN-9918:
-------------------------------------
Summary: Launching of server tools (e.g. vault) with custom maven settings needs extra parameter
Key: ISPN-9918
URL: https://issues.jboss.org/browse/ISPN-9918
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Server
Affects Versions: 9.4.6.Final, 10.0.0.Alpha3
Reporter: Tristan Tarrant
Assignee: Tristan Tarrant
Fix For: 10.0.0.Beta1, 9.4.7.Final
When using a custom maven settings.xml file we need to pass that on to jboss modules using the jboss.modules.settings.xml.url property. In particular this is needed when invoking the vault tool.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months
[JBoss JIRA] (ISPN-9917) JCachingProvider should not use weak ClassLoader references
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-9917?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-9917:
------------------------------------
Removing the {{WeakClassLoader}} wrapper and the {{WeakHashMap}} in {{AbstractJCachingProvider}} may also cause problems in the JCache TCK, as some (most?) tests do not close the cache managers they create. We'll have to make sure any leaks don't fail the test suite.
> JCachingProvider should not use weak ClassLoader references
> -----------------------------------------------------------
>
> Key: ISPN-9917
> URL: https://issues.jboss.org/browse/ISPN-9917
> Project: Infinispan
> Issue Type: Bug
> Components: JCache
> Affects Versions: 10.0.0.Alpha3, 9.4.6.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.Beta1, 9.4.7.Final
>
>
> The idea behind {{WeakClassLoader}} is that we want users to be able to use {{Caching.getCachingProvider().getCacheManager()}} and not worry about closing the cache manager: instead Infinispan will close the manager when there are no more references to the provided {{ClassLoader}}.
> In order to close the manager automatically, {{AbstractJCachingProvider}} maintains a {{WeakHashMap}} of classloaders to managers, and if the cache manager had a strong reference to the classloader, the {{WeakHashMap}} entry would never be collected. However, this approach causes problems when a test creates a temporary {{ClassLoader}} instance and calls {{Caching.getCachingProvider().getCacheManager(tempClassLoader)}}, because the JVM is free to collect {{tempClassLoader}} immediately after it's used to create the {{WeakClassLoader}}. This can cause failures in the jcache tck with the IBM JDK:
> {noformat}
> [OK: 268, KO: 3, SKIP: 0] Test failed: CachingProviderTest.closeCacheManagerByURIAndClassLoader
> org.infinispan.commons.CacheConfigurationException: org.infinispan.commons.CacheException: Unable to construct a GlobalComponentRegistry!
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:344)
> at org.infinispan.jcache.embedded.JCacheManager.<init>(JCacheManager.java:70)
> at org.infinispan.jcache.embedded.JCachingProvider.createCacheManager(JCachingProvider.java:46)
> at org.infinispan.jcache.AbstractJCachingProvider.getCacheManager(AbstractJCachingProvider.java:67)
> at org.jsr107.tck.spi.CachingProviderTest.closeCacheManagerByURIAndClassLoader(CachingProviderTest.java:175)
> Caused by: org.infinispan.commons.CacheException: Unable to construct a GlobalComponentRegistry!
> at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:164)
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:329)
> ... 39 more
> Caused by: org.infinispan.commons.CacheConfigurationException: Unable to inject dependencies for component class org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl, path org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifier (a org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.performInjection(BasicComponentRegistryImpl.java:286)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.wireWrapper(BasicComponentRegistryImpl.java:176)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.registerComponent(BasicComponentRegistryImpl.java:360)
> at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:120)
> ... 40 more
> Caused by: org.infinispan.commons.CacheException: ClassLoader reference was garbage collected
> at org.infinispan.jcache.embedded.WeakClassLoader.requireClassLoader(WeakClassLoader.java:49)
> at org.infinispan.jcache.embedded.WeakClassLoader.findClass(WeakClassLoader.java:30)
> at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:925)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:870)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:853)
> at java.lang.Class.forNameImpl(Native Method)
> at java.lang.Class.forName(Class.java:402)
> at org.infinispan.commons.util.Util.loadClassStrict(Util.java:170)
> at org.infinispan.commons.util.Util.loadClass(Util.java:122)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.tryAutoInstantiation(BasicComponentRegistryImpl.java:249)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.findFactory(BasicComponentRegistryImpl.java:202)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.getComponent0(BasicComponentRegistryImpl.java:94)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.getDependency(BasicComponentRegistryImpl.java:327)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.setInjectionField(BasicComponentRegistryImpl.java:315)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.performInjection(BasicComponentRegistryImpl.java:276)
> ... 43 more
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 11 months