[JBoss JIRA] (ISPN-5379) Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5379?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5379:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1212505|https://bugzilla.redhat.com/show_bug.cgi?id=1212505] from POST to MODIFIED
> Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
> ----------------------------------------------------------------------------------------------------------
>
> Key: ISPN-5379
> URL: https://issues.jboss.org/browse/ISPN-5379
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Loaders and Stores
> Affects Versions: 6.0.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 8.0.0.Beta3
>
>
> From Dennis Reed:
> A ConcurrentModificationException in the CacheWriter interceptor during a commit.
> java.util.ConcurrentModificationException
> at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:953)
> at java.util.LinkedList$ListItr.next(LinkedList.java:886)
> at org.infinispan.interceptors.CacheWriterInterceptor.store(CacheWriterInterceptor.java:210)
> at org.infinispan.interceptors.CacheWriterInterceptor.commitCommand(CacheWriterInterceptor.java:115)
> The code is looping through the modifications associated with the transaction:
> List<WriteCommand> modifications = ctx.getCacheTransaction().getAllModifications();
> ...
> 210: for (WriteCommand cacheCommand : modifications) {
> The transaction's modification list is stored as a synchronized list with a comment "we need to synchronize this collection to be able to get a valid snapshot from another thread during state transfer".
> But this thread is not doing state transfer, and I'd assume "get a valid snapshot" wouldn't include modification?
> Is it valid for this list to be modified from another thread (in which case all iterations should be synchronized), or is something modifying it incorrectly?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5664) Null is returned for a not expired entry in Hot Rod client
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5664?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5664:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1253052|https://bugzilla.redhat.com/show_bug.cgi?id=1253052] from POST to MODIFIED
> Null is returned for a not expired entry in Hot Rod client
> ----------------------------------------------------------
>
> Key: ISPN-5664
> URL: https://issues.jboss.org/browse/ISPN-5664
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 8.0.0.Beta2
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 8.0.0.CR1, 7.2.5.Final
>
>
> For a mortal entry (lifespan > -1), overwriting it with lifespan=-1 (make it immortal) unexpectedly removes the entry like follows.
> ~~~
> cache.put(key, "value1", 100, TimeUnit.SECONDS, 100, TimeUnit.SECONDS);
> cache.get(key); // returns "value1"
> cache.put(key, "value2", -1, TimeUnit.SECONDS, 100, TimeUnit.SECONDS);
> cache.get(key); // returns null, expected "value2"
> cache.put(key, "value3", -1, TimeUnit.SECONDS, 100, TimeUnit.SECONDS);
> cache.get(key); // returns "value3"
> ~~~
> In library mode, the 2nd get returns non-null as expected. The same behaviour is observed for a transient (maxIdle > -1) entry also.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5653?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5653:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1254178|https://bugzilla.redhat.com/show_bug.cgi?id=1254178] from NEW to MODIFIED
> keySet().iterator() does not propagate flags to remove()
> --------------------------------------------------------
>
> Key: ISPN-5653
> URL: https://issues.jboss.org/browse/ISPN-5653
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final, 8.0.0.Beta2
> Reporter: Radim Vansa
> Assignee: William Burns
> Fix For: 8.0.0.Beta3, 7.2.4.Final, 8.0.0.Final
>
>
> Calling {{remove()}} on iterator obtained through keySet() does not propagate flags from the original (decorated) cache. Test case (should go into BaseEntryRetrieverTest):
> {code}
> @Test
> public void simpleTestWithFlags() {
> Map<Object, String> values = putValuesInCache();
> final Cache<Object, Object> cache = cache(0, CACHE_NAME);
> cache.getAdvancedCache().addInterceptor(new BaseCustomInterceptor() {
> @Override
> public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable {
> assertTrue(command.hasFlag(Flag.SKIP_CACHE_STORE));
> return super.visitRemoveCommand(ctx, command);
> }
> }, 0);
> for (Iterator it = cache(0, CACHE_NAME).getAdvancedCache().withFlags(Flag.SKIP_CACHE_STORE).keySet().iterator(); it.hasNext();) {
> assertTrue(values.containsKey(it.next()));
> it.remove();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5653?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration updated ISPN-5653:
------------------------------------------
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1252565, https://bugzilla.redhat.com/show_bug.cgi?id=1252576, https://bugzilla.redhat.com/show_bug.cgi?id=1254178 (was: https://bugzilla.redhat.com/show_bug.cgi?id=1252565, https://bugzilla.redhat.com/show_bug.cgi?id=1252576)
> keySet().iterator() does not propagate flags to remove()
> --------------------------------------------------------
>
> Key: ISPN-5653
> URL: https://issues.jboss.org/browse/ISPN-5653
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final, 8.0.0.Beta2
> Reporter: Radim Vansa
> Assignee: William Burns
> Fix For: 8.0.0.Beta3, 7.2.4.Final, 8.0.0.Final
>
>
> Calling {{remove()}} on iterator obtained through keySet() does not propagate flags from the original (decorated) cache. Test case (should go into BaseEntryRetrieverTest):
> {code}
> @Test
> public void simpleTestWithFlags() {
> Map<Object, String> values = putValuesInCache();
> final Cache<Object, Object> cache = cache(0, CACHE_NAME);
> cache.getAdvancedCache().addInterceptor(new BaseCustomInterceptor() {
> @Override
> public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable {
> assertTrue(command.hasFlag(Flag.SKIP_CACHE_STORE));
> return super.visitRemoveCommand(ctx, command);
> }
> }, 0);
> for (Iterator it = cache(0, CACHE_NAME).getAdvancedCache().withFlags(Flag.SKIP_CACHE_STORE).keySet().iterator(); it.hasNext();) {
> assertTrue(values.containsKey(it.next()));
> it.remove();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5680) Expiration functional tests fail with NPE
by Vojtech Juranek (JIRA)
[ https://issues.jboss.org/browse/ISPN-5680?page=com.atlassian.jira.plugin.... ]
Vojtech Juranek updated ISPN-5680:
----------------------------------
Summary: Expiration functional tests fail with NPE (was: Expiration function tests fail with NPE)
> Expiration functional tests fail with NPE
> -----------------------------------------
>
> Key: ISPN-5680
> URL: https://issues.jboss.org/browse/ISPN-5680
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Reporter: Vojtech Juranek
> Assignee: Vojtech Juranek
>
> {{ExpirationFunctionalTest}} and few others fail with NPE:
> {noformat}
> java.lang.NullPointerException
> at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:163)
> at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:154)
> at org.infinispan.metadata.EmbeddedMetadata$Builder.build(EmbeddedMetadata.java:118)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1073)
> at org.infinispan.expiration.impl.ExpirationFunctionalTest.testSimpleExpirationMaxIdle(ExpirationFunctionalTest.java:52)
> {noformat}
> see e.g. [this CI build|http://ci.infinispan.org/viewLog.html?buildId=29210&tab=buildResult...] for complete list
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5680) Expiration functional tests fail with NPE
by Vojtech Juranek (JIRA)
[ https://issues.jboss.org/browse/ISPN-5680?page=com.atlassian.jira.plugin.... ]
Vojtech Juranek updated ISPN-5680:
----------------------------------
Status: Open (was: New)
> Expiration functional tests fail with NPE
> -----------------------------------------
>
> Key: ISPN-5680
> URL: https://issues.jboss.org/browse/ISPN-5680
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Reporter: Vojtech Juranek
> Assignee: Vojtech Juranek
>
> {{ExpirationFunctionalTest}} and few others fail with NPE:
> {noformat}
> java.lang.NullPointerException
> at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:163)
> at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:154)
> at org.infinispan.metadata.EmbeddedMetadata$Builder.build(EmbeddedMetadata.java:118)
> at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1073)
> at org.infinispan.expiration.impl.ExpirationFunctionalTest.testSimpleExpirationMaxIdle(ExpirationFunctionalTest.java:52)
> {noformat}
> see e.g. [this CI build|http://ci.infinispan.org/viewLog.html?buildId=29210&tab=buildResult...] for complete list
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5680) Expiration function tests fail with NPE
by Vojtech Juranek (JIRA)
Vojtech Juranek created ISPN-5680:
-------------------------------------
Summary: Expiration function tests fail with NPE
Key: ISPN-5680
URL: https://issues.jboss.org/browse/ISPN-5680
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Core
Reporter: Vojtech Juranek
Assignee: Vojtech Juranek
{{ExpirationFunctionalTest}} and few others fail with NPE:
{noformat}
java.lang.NullPointerException
at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:163)
at org.infinispan.metadata.EmbeddedMetadata$EmbeddedExpirableMetadata.<init>(EmbeddedMetadata.java:154)
at org.infinispan.metadata.EmbeddedMetadata$Builder.build(EmbeddedMetadata.java:118)
at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1073)
at org.infinispan.expiration.impl.ExpirationFunctionalTest.testSimpleExpirationMaxIdle(ExpirationFunctionalTest.java:52)
{noformat}
see e.g. [this CI build|http://ci.infinispan.org/viewLog.html?buildId=29210&tab=buildResult...] for complete list
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5676) EntryRetrievalCommand must enlist the transaction
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-5676?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-5676:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Integrated in 7.2.x and master. Thanks [~william.burns]!
> EntryRetrievalCommand must enlist the transaction
> -------------------------------------------------
>
> Key: ISPN-5676
> URL: https://issues.jboss.org/browse/ISPN-5676
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.4.Final
> Reporter: Radim Vansa
> Assignee: William Burns
> Fix For: 8.0.0.CR1, 7.2.5.Final
>
>
> When entries are read in transactional cache through cache.filterEntries() and there are no other operations in this transaction, new LocalTransaction is created and registered in the TransactionTable but this is never enlisted; TxInterceptor.visitEntryRetrievalCommand does not enlist it.
> Since unregistration from TransactionTable relies on enlistment, the LocalTransaction stays there until it is cleaned up.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months