ptupitsyn commented on a change in pull request #8732:
URL: https://github.com/apache/ignite/pull/8732#discussion_r568098731



##########
File path: 
modules/platforms/dotnet/Apache.Ignite.Core/Impl/Messaging/Messaging.cs
##########
@@ -87,35 +87,68 @@ public IClusterGroup ClusterGroup
         public void Send(object message, object topic = null)
         {
             IgniteArgumentCheck.NotNull(message, "message");
+            
+            bool locRegisterSameJavaType = 
Marshaller.RegisterSameJavaTypeTl.Value;
 
-            DoOutOp((int) Op.Send, topic, message);
+            Marshaller.RegisterSameJavaTypeTl.Value = true;
+
+            try
+            {
+                DoOutOp((int) Op.Send, topic, message);
+            }
+            finally
+            {
+                Marshaller.RegisterSameJavaTypeTl.Value = 
locRegisterSameJavaType;
+            }
         }
 
         /** <inheritdoc /> */
         public void SendAll(IEnumerable messages, object topic = null)
         {
             IgniteArgumentCheck.NotNull(messages, "messages");
 
-            DoOutOp((int) Op.SendMulti, writer =>
+            bool locRegisterSameJavaType = 
Marshaller.RegisterSameJavaTypeTl.Value;
+
+            Marshaller.RegisterSameJavaTypeTl.Value = true;

Review comment:
       As [discussed on the dev 
list](http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSSION-Net-BinaryTypes-transparency-td50998.html),
 this Java type registration behavior can be only enabled when we are calling 
Java user code. For `Compute` and `Services` this can be determined precisely. 
But for `Messaging` we don't know whether listeners are in .NET or Java, so 
this is a compatibility risk.




----------------------------------------------------------------
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:
[email protected]


Reply via email to