[JBoss JIRA] (ISPN-9463) Provide API to enlist the resource with TransactionManager
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9463?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9463:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Provide API to enlist the resource with TransactionManager
> ----------------------------------------------------------
>
> Key: ISPN-9463
> URL: https://issues.jboss.org/browse/ISPN-9463
> Project: Infinispan
> Issue Type: Enhancement
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Ramesh Reddy
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> Currently, Infinispan will automatically enlist the transaction when a transaction is bound to the executing thread. However, in cases like Teiid where remote access to Infinispan access is wrapped with a resource-adapter (RAR) the resource adapter does the explicit enlisting or delisting. For this there needs to be API provided by Infinispan Cache like
> {code}
> RemoteCacheManager.getXaResource()
> {code}
> where it can access the XA resource.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9397) Check TX support for remote caches
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9397?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9397:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Check TX support for remote caches
> ----------------------------------
>
> Key: ISPN-9397
> URL: https://issues.jboss.org/browse/ISPN-9397
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> The {{RemoteCacheManager.getCache()}} methods would fail to return a transactional cache if the cache in server isn't transactional. It would throw an exception! {{NotTransactionalException}}?
> The user can fallback to the non transaction case, example
> {code:java}
> try {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NON_XA);
> } catch(NotTransactionalException e) {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NONE);
> }
> {code}
> In addition, some helper method can be added to the {{RemoteCacheManager}} to avoid dealing with exceptions:
> {code:java}
> boolean supportsTransactions(String cacheName);
> {code}
> simple example:
> {code:java}
> boolean txCache = remoteCacheManager.supportsTransactions("some-cache");
> remoteCacheManager.getCache("some-cache", txCache ? TransactionMode.NON_XA : TransactionMode.NONE);
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-2575) Key Transformer registration is required on all nodes of the cluster, in case of custom keys
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-2575?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-2575:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Key Transformer registration is required on all nodes of the cluster, in case of custom keys
> --------------------------------------------------------------------------------------------
>
> Key: ISPN-2575
> URL: https://issues.jboss.org/browse/ISPN-2575
> Project: Infinispan
> Issue Type: Enhancement
> Components: Embedded Querying
> Affects Versions: 5.2.0.Beta5
> Reporter: Anna Manukyan
> Assignee: Adrian Nistor
> Priority: Minor
> Fix For: 10.0.0.Beta1
>
> Attachments: ClusteredCacheTest.java
>
>
> The case is the following:
> I have a clustered cache on which I want to perform a search. I'm doing the following:
> I'm initializing SearchManager on node1, I'm registering a custom key transformer for my key using the created searchmanager, but then when I'm trying to put data into the cache on node1 (which is in REPL_SYNC mode with cache on node2), I'm getting the exception:
> java.lang.IllegalArgumentException: Indexing only works with entries keyed on Strings, primitives and classes that have the @Transformable annotation - you passed in a class org.infinispan.query.test.CustomKey3. Alternatively, see org.infinispan.query.SearchManager#registerKeyTransformer
> When I'm initializing the SearchManager using node2 cache and register the keyTransformer on it as well, then everything works perfectly, even though I am not using the second created SearchManager.
> The test which reproduces the issue is attached to the jira. Please see the test case: testSearchKeyTransformer()
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9624) Deprecate StreamingMarshaller interface
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9624?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9624:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Deprecate StreamingMarshaller interface
> ---------------------------------------
>
> Key: ISPN-9624
> URL: https://issues.jboss.org/browse/ISPN-9624
> Project: Infinispan
> Issue Type: Sub-task
> Components: Core
> Affects Versions: 9.4.0.Final
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> The StreamingMarshaller interface is no longer fit for purpose once we move away from jboss-marshalling as the ObjectOutput abstraction does not fit with non-serialization based marshallers. We should provide a simpler interface that simply allows reading/writing objects to a provided stream. This interface should then be exposed via the InitializationContext to store implementations.
> {code:java}
> @ThreadSafe
> public interface StreamAwareMarshaller extends Marshaller {
> /**
> * Marshall an object to the {@link OutputStream}
> *
> * @param o the object to write to the {@link OutputStream}
> * @param out the {@link OutputStream} to write the object to
> * @throws IOException if the object cannot be marshalled to the {@link OutputStream} due to some I/O error
> */
> void writeObject(Object o, OutputStream out) throws IOException;
> /**
> * Unmarshall an object from the {@link InputStream}
> *
> * @param in the {@link InputStream} to unmarshall an object from
> * @return the unmarshalled object instance
> * @throws IOException if unmarshalling cannot complete due to some I/O error
> * @throws ClassNotFoundException if the class of the object trying to unmarshall is not found
> */
> Object readObject(InputStream in) throws ClassNotFoundException, IOException;
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9623) Create Protobuf based user marshaller
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9623?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9623:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Create Protobuf based user marshaller
> -------------------------------------
>
> Key: ISPN-9623
> URL: https://issues.jboss.org/browse/ISPN-9623
> Project: Infinispan
> Issue Type: Sub-task
> Components: Core
> Affects Versions: 9.4.0.Final
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> With the internal and persistence marshaller being protobuf based, we should also provide a user marshaller implementation that utilises protostream. Users should be able to configure annotated pojos or MessageMarshaller implementations for their objects.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9621) Split global marshaller into Persistence and Internal marshaller
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9621?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9621:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Split global marshaller into Persistence and Internal marshaller
> ----------------------------------------------------------------
>
> Key: ISPN-9621
> URL: https://issues.jboss.org/browse/ISPN-9621
> Project: Infinispan
> Issue Type: Sub-task
> Components: Core, Loaders and Stores
> Affects Versions: 9.4.0.Final
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> Currently the internal marshaller is used for marshalling key/value/metadata in store implementations. This means that it is possible for internal classes to be marshalled to a user store, which can cause compatibility issues if an internal classes serialization format changes (due to marshaller changes or addition/removal of fields).
> We should separate the internal and persistence marshaller, only exposing the latter to stores via the InitializationContext. The persistence marshaller should only be able to serialize user key/values and the metadata/version data.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9620) Rolling Upgrade Marshaller Changes
by Galder Zamarreño (Jira)
[ https://issues.jboss.org/browse/ISPN-9620?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-9620:
-----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha2)
> Rolling Upgrade Marshaller Changes
> ----------------------------------
>
> Key: ISPN-9620
> URL: https://issues.jboss.org/browse/ISPN-9620
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core, Loaders and Stores
> Affects Versions: 9.4.0.Final
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Beta1
>
>
> In order to allow for compatibility between infinispan versions it is necessary for us to utilise a marshalling implementation at both the cluster (internal node-to-node communication) and persistence layer that is strictly defined but allows for future changes. This is necessary in order to facilitate both rolling and start/stop upgrades. Protocol buffers should be utilised as the wire/storage format, with protostream providing the implementation.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months