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)