[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-06-10 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17130767#comment-17130767
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~dfrolov] yes, updated it. Thanks for noticing!

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Fix For: 2.9
>
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-06-10 Thread Dmitry Frolov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17130466#comment-17130466
 ] 

Dmitry Frolov commented on IGNITE-12823:


Dear [~ptupitsyn], what is the Fix Version for this bug? Is it 2.9?

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-29 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119912#comment-17119912
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

Merged to master: b0c5a15e91a64bf02c9ded5ae4eb051ff6a3215a

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-29 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119693#comment-17119693
 ] 

Ignite TC Bot commented on IGNITE-12823:


{panel:title=Branch: [pull/7844/head] Base: [master] : Possible Blockers 
(6)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}MVCC Cache 7{color} [[tests 0 TIMEOUT , Out Of Memory Error , 
Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=5348673]]

{color:#d04437}SPI{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5348599]]
* IgniteSpiTestSuite: 
GridTcpCommunicationSpiTcpNoDelayOffSelfTest.testSendToManyNodes - Test has low 
fail rate in base branch 0,0% and is not flaky

{color:#d04437}Queries 1{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=5348659]]
* IgniteBinaryCacheQueryTestSuite: KillCommandsMXBeanTest.testCancelSnapshot - 
Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheQueryTestSuite: 
IndexingCachePartitionLossPolicySelfTest.checkLostPartition[ATOMIC 
READ_ONLY_SAFE 2 true 5 false] - Test has low fail rate in base branch 0,0% and 
is not flaky

{color:#d04437}Thin Client: Java{color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=5348590]]

{color:#d04437}Security{color} [[tests 0 TIMEOUT , Out Of Memory Error , Exit 
Code |https://ci.ignite.apache.org/viewLog.html?buildId=5348681]]

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5348684buildTypeId=IgniteTests24Java8_RunAll]

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-29 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119476#comment-17119476
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

LGTM

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-29 Thread Alexey Kukushkin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119470#comment-17119470
 ] 

Alexey Kukushkin commented on IGNITE-12823:
---

[~ptupitsyn], thank you, I approved the pull request!

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-28 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119068#comment-17119068
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~kukushal] keepBinary mode requires the same treatment - service may take 
BinaryObject[], so array conversion is necessary. I've added tests for both 
.NET->.NET and .NET->Java calls to demonstrate this.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-27 Thread Alexey Kukushkin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17117713#comment-17117713
 ] 

Alexey Kukushkin commented on IGNITE-12823:
---

[~ptupitsyn], the fix look almost OK, just need to take case about "keep 
binary" mode for both the Java and .NET services.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-26 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17117237#comment-17117237
 ] 

Ignite TC Bot commented on IGNITE-12823:


{panel:title=Branch: [pull/7844/head] Base: [master] : Possible Blockers 
(3)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 2{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=5340825]]

{color:#d04437}Cache 8{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5340831]]
* IgniteCacheTestSuite8: GridCacheNearMetricsSelfTest.testNearRead - Test has 
low fail rate in base branch 0,0% and is not flaky

{color:#d04437}MVCC Cache 2{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5340860]]
* IgniteCacheMvccTestSuite2: 
IgniteCachePartitionMapUpdateSafeLossPolicyTest.testRandom - Test has low fail 
rate in base branch 0,0% and is not flaky

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5340876buildTypeId=IgniteTests24Java8_RunAll]

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-26 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116970#comment-17116970
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~zzzadruga][~kukushal][~nizhikov] my PR is ready for the review:
https://github.com/apache/ignite/pull/7844

In particular, please check Java-side array conversion: can it be improved?
In C# we pre-compile the conversion code, but in Java I had to use reflection.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-26 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116517#comment-17116517
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

[~ptupitsyn], reading arrays as BinaryObject can be done in Ignite 3.0. 

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116194#comment-17116194
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~zzzadruga] please explain the code snippet - does some test fail for you?

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116193#comment-17116193
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~zzzadruga] I can take the ticket and finalize the solution if you have no 
objections.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116157#comment-17116157
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

[~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of 
this. But I came up with one crazy case (maybe he is not alone) in which your 
decision needs to be finalized.

As I understand it, do you take a ticket to yourself?
{code:java}
Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[] 
{10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field = 
x}).ToArray()));



public string TestBinarizableArray(object[] x)
{
if (x.GetType() == typeof(PlatformComputeBinarizable[]))
return "PlatformComputeBinarizable";
if (x.GetType() == typeof(PlatformComputeBinarizable2[]))
return "PlatformComputeBinarizable2";

return "object";
}
...

Expected string length 27 but was 6. Strings differ at index 0.
  Expected: "PlatformComputeBinarizable2"
  But was:  "object"
{code}
 

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116103#comment-17116103
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~zzzadruga] the fix for .NET -> .NET call is similar. Here is the full POC, 
I've used your tests as is:

https://github.com/apache/ignite/pull/7844

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116044#comment-17116044
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

[~ptupitsyn], yes, but we have a problem when we start .NET services from .NET 
on the remote node with method parameters that have an array of user types. 
Local node send an array to remote node, and we cannot deserialize it, because 
it don't have this class on Java. But if it only unmarshal the array in 
Object[], we lose .NET user type. 

Run your POC on this test [1].

[1] 
https://github.com/apache/ignite/pull/7788/commits/c654e66caf130bdf9df3a99979b363ba6b80ff37#diff-c0ec0308d69151e8b10db00c15158d29R420

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17115994#comment-17115994
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~zzzadruga] In my understanding, we don't need to change сore serialization 
logic to fix this issue.
The problem boils down to this: in PlatformServices.invoke all arrays are 
Object[], but service method may have a different array type T[]. All we have 
to do is convert the array on the go. 

I've made a quick POC that makes the tests pass, replace 
org.apache.ignite.internal.processors.platform.services.PlatformServices.ServiceProxyHolder#invoke
 with the following:

{code}
public Object invoke(String mthdName, boolean srvKeepBinary, Object[] 
args)
throws IgniteCheckedException, NoSuchMethodException {
if (proxy instanceof PlatformService)
return ((PlatformService)proxy).invokeMethod(mthdName, 
srvKeepBinary, args);
else {
assert proxy instanceof GridServiceProxy;

// Deserialize arguments for Java service when not in binary 
mode
if (!srvKeepBinary)
args = PlatformUtils.unwrapBinariesInArray(args);

Method mtd = getMethod(serviceClass, mthdName, args);

for (int i = 0; i < args.length; i++) {
Object arg = args[i];

if (arg instanceof Object[]) {
Class parameterType = mtd.getParameterTypes()[i];

if (parameterType.isArray() && parameterType != 
Object[].class) {
Object[] arr = (Object[])arg;
Object newArg = 
Array.newInstance(parameterType.getComponentType(), arr.length);

for (int j = 0; j < arr.length; j++)
Array.set(newArg, j, arr[j]);

args[i] = newArg;
}
}
}

try {
return ((GridServiceProxy)proxy).invokeMethod(mtd, args);
}
catch (Throwable t) {
throw IgniteUtils.cast(t);
}
}
}
{code}

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-25 Thread Alexey Goncharuk (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17115961#comment-17115961
 ] 

Alexey Goncharuk commented on IGNITE-12823:
---

[~zzzadruga] can you please describe the rationale behind this change? Why 
exactly are the changes in BinaryMarshaller needed to fix platform 
interoperability?
Is this change backward-compatible (for example, if a user persists marshalled 
data in a 3-rd party database, will they be able to deserialize the old data 
after the fix is released?)

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-22 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17113872#comment-17113872
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

[~ptupitsyn], please, review my change.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-21 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17113346#comment-17113346
 ] 

Ignite TC Bot commented on IGNITE-12823:


{panel:title=Branch: [pull/7788/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5327287buildTypeId=IgniteTests24Java8_RunAll]

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-05-21 Thread Nikolai Kulagin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17113256#comment-17113256
 ] 

Nikolai Kulagin commented on IGNITE-12823:
--

PR: https://github.com/apache/ignite/pull/7788

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Nikolai Kulagin
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-04-17 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17085906#comment-17085906
 ] 

Pavel Tupitsyn commented on IGNITE-12823:
-

[~nizhikov] feel free to take over IGNITE-10100 ticket. I'm working on this one.

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found

2020-04-17 Thread Nikolay Izhikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17085893#comment-17085893
 ] 

Nikolay Izhikov commented on IGNITE-12823:
--

Hello [~ptupitsyn].

Are you working on this issue?
One of my customers wants to have this issue ASAP so I'm offering my help with 
resolving one of the issue (IGNITE-10100, IGNITE-12823).

> .NET: Service method with user type array parameter can't be found
> --
>
> Key: IGNITE-12823
> URL: https://issues.apache.org/jira/browse/IGNITE-12823
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Alexey Kukushkin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, sbcf
> Attachments: ignite-12823-vs-2.8.patch
>
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)