[JBoss JIRA] (ISPN-12033) MarshallableEntryFactory allow lazy marshalling of key/values
by Ryan Emerson (Jira)
Ryan Emerson created ISPN-12033:
-----------------------------------
Summary: MarshallableEntryFactory allow lazy marshalling of key/values
Key: ISPN-12033
URL: https://issues.redhat.com/browse/ISPN-12033
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 11.0.0.Final
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Currently it's not possible to create a {{MarshallableEntry}} via the {{MarshallableEntryFactory}} without eagerly marshalling the key, value and metadata. The intention of this was to ensure that async writes to the cache store fail-fast, opposed to on one of the async threads where the cache put would not fail. However, this also means that when utilising a local embedded jcache instance with the {{JCacheLoaderAdapter}} it's necessary for the key/value to be marshalled.
We should create a new method {{MarshallableEntryFactory#createLazily(Object key, Object value)}} to allow for lazy marshalling in these circumstances.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months
[JBoss JIRA] (ISPN-12032) JCache cache loader should not require marshalling
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12032?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12032:
--------------------------------
Fix Version/s: 12.0.0.Final
> JCache cache loader should not require marshalling
> --------------------------------------------------
>
> Key: ISPN-12032
> URL: https://issues.redhat.com/browse/ISPN-12032
> Project: Infinispan
> Issue Type: Bug
> Components: JCache, Loaders and Stores
> Affects Versions: 11.0.0.Final, 10.1.8.Final
> Reporter: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.Final
>
>
> {{JCacheLoaderAdapter}} wraps the value returned by JCache {{CacheLoader.load()}} using a {{MarshalledEntryFactoryImpl.create()}} overload that eagerly marshalls the key+value+metadata. This is unnecessary work, because the created {{MarshallableEntryImpl}} only needs the key+value+metadata in storage format.
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months
[JBoss JIRA] (ISPN-12032) JCache cache loader should not require marshalling
by Dan Berindei (Jira)
Dan Berindei created ISPN-12032:
-----------------------------------
Summary: JCache cache loader should not require marshalling
Key: ISPN-12032
URL: https://issues.redhat.com/browse/ISPN-12032
Project: Infinispan
Issue Type: Bug
Components: JCache, Loaders and Stores
Affects Versions: 10.1.8.Final, 11.0.0.Final
Reporter: Dan Berindei
{{JCacheLoaderAdapter}} wraps the value returned by JCache {{CacheLoader.load()}} using a {{MarshalledEntryFactoryImpl.create()}} overload that eagerly marshalls the key+value+metadata. This is unnecessary work, because the created {{MarshallableEntryImpl}} only needs the key+value+metadata in storage format.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months
[JBoss JIRA] (ISPN-12030) BlockHound is not active on JDK 13/14
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12030?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12030:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/8493
> BlockHound is not active on JDK 13/14
> -------------------------------------
>
> Key: ISPN-12030
> URL: https://issues.redhat.com/browse/ISPN-12030
> Project: Infinispan
> Issue Type: Bug
> Components: Build, Test Suite
> Affects Versions: 11.0.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 11.0.1.Final
>
>
> BlockHound cannot instrument native methods on JDK 13+
> {noformat}
> 15:04:47,001 FATAL (Thread-0) [Infinispan-TEST] Throwable was not caught in thread Thread[Thread-0,5,main] - exception is: java.lang.IllegalStateException: The instrumentation have failed.
> It looks like you're running on JDK 13+.
> You need to add '-XX:+AllowRedefinitionToAddDeleteMethods' JVM flag.
> See https://github.com/reactor/BlockHound/issues/33 for more info.
> {noformat}
> Maven profile {{java13-test}} is supposed to add flag -XX:+AllowRedefinitionToAddDeleteMethods to the fork JVM, but it doesn't work because the activation condition is incomplete (missing a {{)}} after the comma).
> The profile also tries to add the flag when the {{java8-test}} profile is selected from the command line, so adding the missing {{)}} is not enough.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months
[JBoss JIRA] (ISPN-12030) BlockHound is not active on JDK 13/14
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12030?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12030:
--------------------------------
Status: Open (was: New)
> BlockHound is not active on JDK 13/14
> -------------------------------------
>
> Key: ISPN-12030
> URL: https://issues.redhat.com/browse/ISPN-12030
> Project: Infinispan
> Issue Type: Bug
> Components: Build, Test Suite
> Affects Versions: 11.0.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 11.0.1.Final
>
>
> BlockHound cannot instrument native methods on JDK 13+
> {noformat}
> 15:04:47,001 FATAL (Thread-0) [Infinispan-TEST] Throwable was not caught in thread Thread[Thread-0,5,main] - exception is: java.lang.IllegalStateException: The instrumentation have failed.
> It looks like you're running on JDK 13+.
> You need to add '-XX:+AllowRedefinitionToAddDeleteMethods' JVM flag.
> See https://github.com/reactor/BlockHound/issues/33 for more info.
> {noformat}
> Maven profile {{java13-test}} is supposed to add flag -XX:+AllowRedefinitionToAddDeleteMethods to the fork JVM, but it doesn't work because the activation condition is incomplete (missing a {{)}} after the comma).
> The profile also tries to add the flag when the {{java8-test}} profile is selected from the command line, so adding the missing {{)}} is not enough.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months
[JBoss JIRA] (ISPN-12031) PutMapCommand should only write to shared stores on the primary owners
by Dan Berindei (Jira)
Dan Berindei created ISPN-12031:
-----------------------------------
Summary: PutMapCommand should only write to shared stores on the primary owners
Key: ISPN-12031
URL: https://issues.redhat.com/browse/ISPN-12031
Project: Infinispan
Issue Type: Bug
Components: Core, Loaders and Stores
Affects Versions: 10.1.8.Final, 11.0.0.Final
Reporter: Dan Berindei
Fix For: 12.0.0.Final
{{DistCacheWriterInterceptor}} uses {{skipSharedStores()}} for single-key write commands and multi-key functional commands in order to write to shared stores only on the primary owner of the key. For {{PutMapCommand}} it uses {{PersistenceManagerImpl.writeMapCommand()}}, which does not distinguish between shared and non-shared stores.
In addition to being inefficient, this makes it possible for a backup owner to update the value in the shared store after the primary owner released the lock, potentially out of order with another write operation (especially if the other write operation is single-key, so it only writes to the shared store from the primary).
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 9 months