[JBoss JIRA] (ISPN-4602) Verify EntryIterator works with MarshalledValues
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4602?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4602:
--------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/2775
> Verify EntryIterator works with MarshalledValues
> ------------------------------------------------
>
> Key: ISPN-4602
> URL: https://issues.jboss.org/browse/ISPN-4602
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Marshalling
> Affects Versions: 7.0.0.Alpha5
> Reporter: William Burns
> Assignee: William Burns
>
> The EntryIterator currently doesn't deserialize MarshalledValues as needed which would cause filter failures and the incorrect values to be returned.
> This also means each key/value pair would need to be deserialized when applied to filter which will be slower and should be noted in documentation, but sent across as MarshalledValues?. The only other way is to use some sort of proxy for each object to force lazy deserialization on referencing a field when applying filter, but this seems overkill.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (ISPN-3950) Deploy user-code to Infinispan server
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-3950?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-3950:
-----------------------------------
Status: Open (was: Pull Request Sent)
> Deploy user-code to Infinispan server
> -------------------------------------
>
> Key: ISPN-3950
> URL: https://issues.jboss.org/browse/ISPN-3950
> Project: Infinispan
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Server
> Reporter: Tristan Tarrant
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Beta1, 7.0.0.Final
>
>
> Infinispan Server should allow deploying JARs which follow the standard Java service provider API.
> Support: groupers, listeners, map/reduce jobs, distexec jobs, interceptors, JPA entities, etc
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (ISPN-4604) Race condition in the QueryInterceptor involving SearchFactory
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-4604?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes reassigned ISPN-4604:
---------------------------------------
Assignee: Gustavo Fernandes (was: Sanne Grinovero)
> Race condition in the QueryInterceptor involving SearchFactory
> --------------------------------------------------------------
>
> Key: ISPN-4604
> URL: https://issues.jboss.org/browse/ISPN-4604
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Embedded Querying, Test Suite - Query
> Affects Versions: 7.0.0.Alpha5
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> During perform work task in the QueryInterceptor, the underlying SearchFactory could be swapped (for example by some other thread calling SearchFactory.addClass) and temporarily return null when looking for indexBindings, and throws intermittent Exceptions like:
> {code}
> Caused by: org.hibernate.search.exception.SearchException: Unable to perform work. Entity Class is not @Indexed nor hosts @ContainedIn: class org.infinispan.query.test.VeryLongIndexNamedClass
> at org.hibernate.search.backend.impl.TransactionalWorker.performWork(TransactionalWorker.java:58)
> at org.infinispan.query.backend.QueryInterceptor.performSearchWorks(QueryInterceptor.java:233)
> at org.infinispan.query.backend.QueryInterceptor.performSearchWork(QueryInterceptor.java:227)
> at org.infinispan.query.backend.QueryInterceptor.updateIndexes(QueryInterceptor.java:221)
> at org.infinispan.query.backend.QueryInterceptor.processPutKeyValueCommand(QueryInterceptor.java:531)
> at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:162)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:46)
> {code}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (ISPN-4604) Race condition in the QueryInterceptor involving SearchFactory
by Gustavo Fernandes (JIRA)
Gustavo Fernandes created ISPN-4604:
---------------------------------------
Summary: Race condition in the QueryInterceptor involving SearchFactory
Key: ISPN-4604
URL: https://issues.jboss.org/browse/ISPN-4604
Project: Infinispan
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Embedded Querying, Test Suite - Query
Affects Versions: 7.0.0.Alpha5
Reporter: Gustavo Fernandes
Assignee: Sanne Grinovero
During perform work task in the QueryInterceptor, the underlying SearchFactory could be swapped (for example by some other thread calling SearchFactory.addClass) and temporarily return null when looking for indexBindings, and throws intermittent Exceptions like:
{code}
Caused by: org.hibernate.search.exception.SearchException: Unable to perform work. Entity Class is not @Indexed nor hosts @ContainedIn: class org.infinispan.query.test.VeryLongIndexNamedClass
at org.hibernate.search.backend.impl.TransactionalWorker.performWork(TransactionalWorker.java:58)
at org.infinispan.query.backend.QueryInterceptor.performSearchWorks(QueryInterceptor.java:233)
at org.infinispan.query.backend.QueryInterceptor.performSearchWork(QueryInterceptor.java:227)
at org.infinispan.query.backend.QueryInterceptor.updateIndexes(QueryInterceptor.java:221)
at org.infinispan.query.backend.QueryInterceptor.processPutKeyValueCommand(QueryInterceptor.java:531)
at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:162)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:46)
{code}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (ISPN-4376) AdvancedCache.filterEntries(...) does not respect configured cache flags
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4376?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4376:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> AdvancedCache.filterEntries(...) does not respect configured cache flags
> ------------------------------------------------------------------------
>
> Key: ISPN-4376
> URL: https://issues.jboss.org/browse/ISPN-4376
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Core
> Affects Versions: 7.0.0.Alpha4
> Reporter: Paul Ferraro
> Assignee: William Burns
> Fix For: 7.0.0.Beta1
>
>
> Consider the following:
> {code}
> Cache<K, V> cache = ...;
> KeyValueFilter<K, V> filter = ...;
> EntryIterator<K, V> entries = cache.getAdvancedCache().withFlags(Flag.CACHE_MODE_LOCAL, Flag.SKIP_CACHE_LOAD).filterEntries(filter);
> {code}
> One would expect this to return only local, in-memory entries, but it instead returns both entries from remote nodes and from a cache loader, effectively ignoring the configured flags.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (ISPN-4583) Distributed iterator throws ClassCastException when loader contains values that pass filter
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4583?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4583:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Distributed iterator throws ClassCastException when loader contains values that pass filter
> -------------------------------------------------------------------------------------------
>
> Key: ISPN-4583
> URL: https://issues.jboss.org/browse/ISPN-4583
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Core
> Affects Versions: 7.0.0.Alpha5
> Reporter: Alan Field
> Assignee: William Burns
> Fix For: 7.0.0.Beta1
>
> Attachments: repl-udp-no-tx-leveldb-jni.xml
>
>
> This code will iterate over all of the entries in a cache to get the total size:
> {code:java}
> public int getTotalSize() {
> log.info(getClass().getName() + ".getTotalSize() for cache " + cache.getName());
> int totalSize = 0;
> EntryIterable entryIterator = null;
> try {
> entryIterator = cache.filterEntries(new AllEntriesFilter());
> CloseableIterable ci = entryIterator.converter(new AllEntriesConverter());
> Iterator iter = ci.iterator();
> while (iter.hasNext()) {
> iter.next();
> totalSize++;
> }
> return totalSize;
> } finally {
> if (entryIterator != null) {
> try {
> entryIterator.close();
> } catch (Exception e) {
> log.error("Failed to close EntryIterable", e);
> }
> }
> }
> }
> {code}
> I wanted to verify that this code would also work when I was using passivation and a cachestore. The repl-udp-no-tx-leveldb-jni.xml file defines the configuration that I am using. I run a test that puts random data into the cache then checks the size of the cache, but I am getting a bunch of ClassCastException exceptions during the iteration:
> {noformat}
> java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.container.entries.InternalCacheEntry
> at org.infinispan.iteration.impl.LocalEntryRetriever$MapAction.apply(LocalEntryRetriever.java:251)
> at org.infinispan.iteration.impl.LocalEntryRetriever$KeyValueActionForCacheLoaderTask.processEntry(LocalEntryRetriever.java:154)
> at org.infinispan.persistence.leveldb.LevelDBStore$1.call(LevelDBStore.java:297)
> at org.infinispan.persistence.leveldb.LevelDBStore$1.call(LevelDBStore.java:285)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
> at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
> at org.infinispan.executors.ExecutorAllCompletionService.submit(ExecutorAllCompletionService.java:31)
> at org.infinispan.persistence.leveldb.LevelDBStore.submitProcessTask(LevelDBStore.java:285)
> at org.infinispan.persistence.leveldb.LevelDBStore.process(LevelDBStore.java:260)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:438)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:420)
> at org.infinispan.iteration.impl.LocalEntryRetriever$1.run(LocalEntryRetriever.java:217)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months