-
Enhancement
-
Resolution: Done
-
Major
-
None
Enable a compatibility mode that allows 3 main servers (Hot Rod, Memcached, REST ) and embedded mode (in-VM) to interact with each other. This would require some compatibility mode.
Obviously, this needs to be testable, so possibly adding tests to the 'integration-tests' module. Need to demonstrate storing data in one “client” and accessing from others, modifying in others, and re-accessing in the first. Test should cover each of the 4 “clients” as the initial creator.
When running in this mode, keys to be stored as Strings. In the case of REST and memcached, keys are strings anyway. In the case of Hot Rod, start the server with a flag to determine the encoding used (assuming the HR client uses Strings as well).
For values - polymorphism between a MarshalledValue (in-VM), MemcachedValue, HotRodValue, RESTValue. Lazily convert from one to the other. May need a PortableValue as well, which contains all of the metadata of all of the value types above.
May need to provide and encoding for values as well - to be able to make sense between Hot Rod byte array values and Strings in REST/memcached (base64?).
In-VM may need registration of an Externalizer?
- blocks
-
ISPN-1990 Preload sets the versions to null (repeatable read + write skew)
- Closed
-
ISPN-3045 Drop wrappers from RemoteCacheStore once HotRod server supports raw keys/values
- Closed
-
ISPN-3047 Drop encoding from CLI once servers store raw values
- Closed
-
ISPN-506 Infinispan should have a notion of comparable dataversion for handling external db updates
- Closed
- incorporates
-
ISPN-2999 getCacheEntry not working when distribution gets go remote
- Closed
-
ISPN-3050 Cache.replace should support arrays of primitive types
- Closed
- is blocked by
-
ISPN-2924 Update ConcurrentHashMapV8 and dependant classes
- Closed
- relates to
-
ISPN-2854 REST server discards Content Encoding information from client
- Resolved