It depends on a storage. If it’s a relational database and isStoreKeepBinary is false then an object will be deserialized upon the store invocation and the storage will insert or update a record using “INSERT * ..” or “UPDATE * …” statements. Take a look at the code.
— Denis > On Apr 17, 2017, at 5:04 AM, Vyacheslav Daradur <[email protected]> wrote: > >>> When you transfer an object over the wire or put it into a persistent > store (withKeepBinary property enabled) then only the byte array is used. > If we put objects into persistent store and withKeepBinary property is > DISABLED, in wich form it will be stored? > > 2017-04-16 18:29 GMT+03:00 Denis Magda <[email protected]>: > >> 1. When you transfer an object over the wire or put it into a persistent >> store (withKeepBinary property enabled) then only the byte array is used. >> 2. No >> >> — >> Denis >> >>> On Apr 15, 2017, at 1:51 PM, Vyacheslav Daradur <[email protected]> >> wrote: >>> >>>>> If we use a cache which is configured to use binary mashaller: >>>>> 1. In which cases a placed in the cache object (serialized object) >> won't >>> be wrapped? >>>>> 2. In which cases a placed in the cache object won't be serialized (to >>> byte array) and will be stored as is? >>> >>> I meant: Are there any cases of described (1,2) situations. >>> If yes, which cases? >>> >>> 2017-04-15 23:44 GMT+03:00 Vyacheslav Daradur <[email protected]>: >>> >>>> If we use a cache which is configured to use binary mashaller: >>>> 1. In which cases a placed in the cache object (serialized object) won't >>>> be wrapped? >>>> 2. In which cases a placed in the cache object won't be serialized (to >>>> byte array) and will be stored as is? >>>> >>>> 2017-04-14 20:03 GMT+03:00 Denis Magda <[email protected]>: >>>> >>>>> If a serialized object is stored in an on-heap cache then it will be >>>>> wrapped by BinaryObjectImp but if it’s an off-heap cache then >>>>> BinaryObjectOffHeapImpl is used instead. >>>>> >>>>> — >>>>> Denis >>>>> >>>>>> On Apr 14, 2017, at 12:32 AM, Vyacheslav Daradur <[email protected] >>> >>>>> wrote: >>>>>> >>>>>>>> when it’s stored in memory in a specific cache partition >>>>>> Does that mean that any serialized object is always stored IN MEMORY >> as >>>>> is >>>>>> wrapped by BinaryObjectImpl? >>>>>> >>>>>> >>>>>> >>>>>> 2017-04-14 3:42 GMT+03:00 Denis Magda <[email protected]>: >>>>>> >>>>>>> A serialized object is always wrapped by BinaryObjectImpl when it’s >>>>> stored >>>>>>> in memory in a specific cache partition or you access it from your >>>>>>> application in a form of BinaryObject. However, when you transfer the >>>>>>> object over the wire or put it into a persistent store >> (withKeepBinary >>>>>>> property enabled) then only the byte array is used. >>>>>>> >>>>>>> — >>>>>>> Denis >>>>>>> >>>>>>>> On Apr 13, 2017, at 12:21 AM, Vyacheslav Daradur < >> [email protected] >>>>>> >>>>>>> wrote: >>>>>>>> >>>>>>>> Denis, thank you for answers. >>>>>>>> >>>>>>>> I meant another. >>>>>>>> >>>>>>>> For example: >>>>>>>> Cache queries use a BinaryObjectImpl and a withKeepBinary-mode use >>>>> it, so >>>>>>>> looks like all actions on serialized object are make via a >>>>>>> BinaryObjectImpl. >>>>>>>> >>>>>>>> Does a serialized object always is stored as BinaryObjectImpl or it >>>>> will >>>>>>> be >>>>>>>> wrapped on demand? >>>>>>>> >>>>>>>> 2017-04-12 22:34 GMT+03:00 Denis Magda <[email protected]>: >>>>>>>> >>>>>>>>> A Java wrapper around an actual binary byte array with some >>>>> additional >>>>>>>>> fields and methods to work with the serialized data. >>>>>>>>> >>>>>>>>> — >>>>>>>>> Denis >>>>>>>>> >>>>>>>>>> On Apr 12, 2017, at 8:33 AM, Vyacheslav Daradur < >>>>> [email protected]> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> In what cases BinaryObjecImpl is used? >>>>>>>>>> >>>>>>>>>> 2017-04-12 18:08 GMT+03:00 Denis Magda <[email protected]>: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> A cache entry is always stored in a binary format (byte array) >> in a >>>>>>>>> cache. >>>>>>>>>>> Even when you transfer an entry from one node to another, as a >>>>> result >>>>>>> of >>>>>>>>>>> cache.put(…), operation the entry will be serialized into the >>>>> binary >>>>>>>>> format >>>>>>>>>>> and transferred over the wire. >>>>>>>>>>> >>>>>>>>>>> — >>>>>>>>>>> Denis >>>>>>>>>>> >>>>>>>>>>>> On Apr 12, 2017, at 1:11 AM, Vyacheslav Daradur < >>>>> [email protected] >>>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hello Igniters! >>>>>>>>>>>> >>>>>>>>>>>> I have one conceptual question: >>>>>>>>>>>> >>>>>>>>>>>> When we put an object in IgniteCache, how it is stored? >>>>>>>>>>>> >>>>>>>>>>>> As I understand, after marshalling we have an array of bytes, >>>>>>>>>>>> 1) in a local node it is wrapped in BinaryObjectImpl and stored >> in >>>>>>>>> memory >>>>>>>>>>>> 2) it is sent to remote node as byte array where it will be >>>>> wrapped >>>>>>> in >>>>>>>>>>>> BinaryObjectImpl and be stored in memory >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Best Regards, Vyacheslav >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards, Vyacheslav >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards, Vyacheslav >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Best Regards, Vyacheslav >>>>> >>>>> >>>> >>>> >>>> -- >>>> Best Regards, Vyacheslav >>>> >>> >>> >>> >>> -- >>> Best Regards, Vyacheslav >> >> > > > -- > Best Regards, Vyacheslav
