You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by GitBox <gi...@apache.org> on 2021/03/18 09:22:27 UTC

[GitHub] [ignite] ptupitsyn commented on pull request #8867: IGNITE-14299 .NET: Fix passing array of custom type during service method invocation

ptupitsyn commented on pull request #8867:
URL: https://github.com/apache/ignite/pull/8867#issuecomment-801765328


   Summarizing our private discussion with @nizhikov :
   
   *Problem*
   Service arguments are deserialized "in the middle" when pass `Object[] args` around in `GridServiceProxy`:
   * This causes array element type info loss
   * This is totally unnecessary and reduces performance
   
   *Possible fix*
   Do not perform unnecessary argument des/ser, retain original binary representation along the call chain.
   E.g. for .NET -> .NET service call, the bytes are written on .NET side on one node will be received exactly as is on .NET side on another node.
   
   This can be achieved by wrapping the arguments in some way - `byte[]` or `BinaryObject`, and passing this around instead of `Object[]`.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org