Pavel, how about marker interface DeserializedValueCacheInterceptor? We will deserialize data and pass it to cache interceptor, if CacheInterceptor implements marker interface.
чт, 24 янв. 2019 г. в 13:41, Pavel Tupitsyn <ptupit...@apache.org>: > You are exactly right, generic parameters don't make much sense here. > Ignite caches are not restricted to any type, and there is type erasure in > Java so you have no runtime guarantees. > > Maybe Interceptor design should be improved (e.g. add a flag to force > binary or non-binary mode), > but Thin or Thick client connector logic is unrelated here. > withKeepBinary() call is valid and should not depend on Interceptor > presence or implementation. > > On Thu, Jan 24, 2019 at 1:17 PM Sergey Antonov <antonovserge...@gmail.com> > wrote: > > > Hi, Pavel, > > > > "Interceptor should support both modes, binary or not. Any code can call > > withKeepBinary(), this should be expected. > > Just add if (x instanceof BinaryObject) and go from there. " > > I don't agree. The cache interceptor[1] is a parametrized class and you > > couldn't pass multiple cache interceptors in cache configuration. So all > > cache interceptors must have Object, Object parameters for supporting > both > > modes: binary and deserialized. In this case parametrized class no sense. > > > > [1] > > > > > https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cache/CacheInterceptor.html > > > > чт, 24 янв. 2019 г. в 13:06, Pavel Tupitsyn <ptupit...@apache.org>: > > > > > Hi Sergey, > > > > > > I don't think this is a bug. > > > > > > Thick or thin clients always work in binary mode on server side, > because > > > you receive data in serialized form and there is no point in > > deserializing > > > it. > > > Moreover, in most cases you don't have classes on the server, so binary > > > mode is the only way. > > > > > > Interceptor should support both modes, binary or not. Any code can call > > > withKeepBinary(), this should be expected. > > > Just add if (x instanceof BinaryObject) and go from there. > > > > > > Thanks, > > > Pavel > > > > > > On Thu, Jan 24, 2019 at 12:38 PM Sergey Antonov < > > antonovserge...@gmail.com > > > > > > > wrote: > > > > > > > I did a little investigation. In > > > o.a.i.i.p.p.c.c.ClientCacheRequest#cache() > > > > enforced cache with keep binary. Why we should always work binary > > > objects? > > > > > > > > чт, 24 янв. 2019 г. в 12:29, Sergey Antonov < > antonovserge...@gmail.com > > >: > > > > > > > > > Hello, Igniters! > > > > > > > > > > I have ignite node with configured cache. The cache have cache > > > > > interceptor. I wiil got ClassCastException on cache interceptor, > If I > > > put > > > > > some entry to the cache (without keepBinary) from thin java client. > > > > > > > > > > I think it's a bug. I'd like to find out yours view! > > > > > > > > > > Also I made JIRA ticket with reproducer [1]. > > > > > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-10789 > > > > > > > > > > -- > > > > > BR, Sergey Antonov > > > > > > > > > > > > > > > > > -- > > > > BR, Sergey Antonov > > > > > > > > > > > > > -- > > BR, Sergey Antonov > > > -- BR, Sergey Antonov