Hello all,

I am working on IGNITE-2693 with Vlad Ozerov's help. I am somewhat of a Java newbie so please be gentle ;-)

I am curious about something - after reading the Javadocs and Binary Marshaller docs on Ignite's documentation websites, I think that the documentation is not very friendly or even somewhat misleading. Or maybe it is the design that is puzzling to me :-)

For example, we use withKeepBinary() on a cache instance to get a binary cache that utilizes the binary marshaller. But this is not a setting that is "settable" on a per cache basis - we do not allow for a per-cache method to set a desired marshaller, this seems to be reserved for the IgniteConfiguration() interface/implementation(s) setMarshaller() method and is a grid-wide setting.

The background to this is that I have "fixed" the withKeepBinary() interface to throw an exception if the marshaller used is not binary (the ticket explains the reason why we want this). Apparently we (silently?) assume a binary marshaller everywhere but in one of the unrelated tests in the test suite for some reason an optimized marshaller is used and as a result of this (with my new change) these tests are failing [1]. I am trying to fix this but in the process I realized that you cannot set the marshaller through a CacheConfiguration() method (no such thing exists), this has to be done at a higher level (the IgniteConfiguration). However, the whole test is written to inherit a grid configuration with an optimized marshaller (is what it looks like to me)....

Am I just horribly confused and missing something very obvious? Thanks!

[1] org.apache.ignite.internal.processors.cache.GridCacheOffHeapTieredEvictionAbstractSelfTest

Reply via email to