Pavel Tupitsyn created IGNITE-6359:
--------------------------------------

             Summary: .NET: Improve tests for object graphs and loops
                 Key: IGNITE-6359
                 URL: https://issues.apache.org/jira/browse/IGNITE-6359
             Project: Ignite
          Issue Type: Improvement
          Components: platforms
            Reporter: Pavel Tupitsyn
            Priority: Minor


There were a couple of bugs caused by missing `detachment` semantics 
IGNITE-6354, IGNITE-6081.

We need to make sure that every Ignite API supports object graphs of any 
complexity with loops.

Details:
{{WriteObject}} uses so-called handles to write referenced objects. So if the 
object was already written once to a current stream, it is not written again, 
only the id is written. This is fine when object graph is a cache value, or a 
cache key.

But sometimes we write multiple cache values to the same stream (e.g. 
{{PutAll}}), and if these values reference each other, they can't be 
deserialized later, since each value is stored separately.

{{WriteObjectDetached}} method makes sure that provided object is written as an 
independent object graph, and before/after stream data is unrelated.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to