[infinispan-issues] [JBoss JIRA] (ISPN-9846) Ensure Backwards Compatibility with Persistence SPI changes

Ryan Emerson (Jira) issues at jboss.org
Fri Dec 21 06:27:00 EST 2018


Ryan Emerson created ISPN-9846:
----------------------------------

             Summary: Ensure Backwards Compatibility with Persistence SPI changes
                 Key: ISPN-9846
                 URL: https://issues.jboss.org/browse/ISPN-9846
             Project: Infinispan
          Issue Type: Bug
          Components: Loaders and Stores
    Affects Versions: 10.0.0.Alpha2
            Reporter: Ryan Emerson
            Assignee: Ryan Emerson
             Fix For: 10.0.0.Beta1


ISPN-9693 deprecated the {{org.infinispan.marshall.core.MarshalledEntry}} interface in favour of {{org.infinispan.persistence.spi.MarshalledEntry}}, however this breaks compatibility with 9.4.x stores as the method signatures of the various store/loader interfaces changed.

Therefore, to aid with enabling backwards compatibility it is necessary to change {{spi.MarshalledEntry}} to {{spi.MarshallableEntry}} as well as the corresponding factory. This is necessary as the InitializationContext previously exposed {{marshall.core.MarshalledEntry}} and the naming change provides us an easy way to differentiate the context methods as we can't have two getMarshalledEntryFactory methods due to type erasure.

Due to type erasure it is also necessary to introduce several new methods to the writer/loader methods. Deprecated/Replacement method list below:

* CacheLoader MarshalledEntry load(Object) -> MarshallableEntry loadEntry(Object)
* AdvancedCacheLoader Publisher<MarshalledEntry<K, V>> publishEntries(..) -> Publisher<MarshallableEntry<K, V>> entryPublisher(...)
* CacheWriter writeBatch(Iterable<MarshalledEntry>) -> writeBulk(Publisher)- InitializationContextgetMarshalledEntryFactory->getMarshallableEntryFactory`



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the infinispan-issues mailing list