]
Work on ISPN-7418 started by Gustavo Fernandes.
-----------------------------------------------
Add per-cache key/value type information
----------------------------------------
Key: ISPN-7418
URL:
https://issues.jboss.org/browse/ISPN-7418
Project: Infinispan
Issue Type: Sub-task
Reporter: Galder ZamarreƱo
Assignee: Gustavo Fernandes
This part of the transcoding enhancement is related to the changes required to the core
cache code to force the cache to store keys and values of a certain type.
The type information should be defined via a MIME type, and should be configured by the
user.
A cache can only have a single key+value type combination. A single cache will not
support storing data of different key and/or value types. Amongst other reasons, this is
done for space efficiency.
Once a cache can be configured with a specific key and value type, the user should be
able to retrieve the value with an alternative MIME type. Behind the scenes, the cache
should be able to transform the value from the give type to target type on the fly.
As suggested in the wiki, there should be the possibility for the key/value type to be
implicitly determined by the key+value type passed in during the first cache write. The
aim of this is to enable remote clients to decide what the key+value type are upon writing
to the cache for the first time, and hence avoid cache pre-configuration.
Some transcoders might require additional configuration. The cache needs to be able to be
configured with the necessary options to do on the fly transcoding for clients. E.g.
schema for protobuf...etc.
An important aspect here is that consistent hashing should not be affected by
transcoding.