Running a C++ Thick Node compute func from a Java Thick Node

classic Classic list List threaded Threaded
5 messages Options
gmjason gmjason
Reply | Threaded
Open this post in threaded view
|

Running a C++ Thick Node compute func from a Java Thick Node

Hello,
I have two nodes running with a TCP Discovery Spi, one is a C++ Thick
node and one is a Java Thick node. The C++ node has the examples compute
func "CountWords" registered. How can I trigger this function from the
Java thick nodes? Does "RegisterComputeFunc" not inform other nodes,
that the compute function can be found on this specific c++ node?

Thanks,
Json

Igor Sapego Igor Sapego
Reply | Threaded
Open this post in threaded view
|

Re: Running a C++ Thick Node compute func from a Java Thick Node

Hello,

Such function is not supported for now. You can raise a ticket
if it's something you'd like to have in Ignite.

Best Regards,
Igor


On Mon, Sep 16, 2019 at 6:00 PM codie <[hidden email]> wrote:
Hello,
I have two nodes running with a TCP Discovery Spi, one is a C++ Thick
node and one is a Java Thick node. The C++ node has the examples compute
func "CountWords" registered. How can I trigger this function from the
Java thick nodes? Does "RegisterComputeFunc" not inform other nodes,
that the compute function can be found on this specific c++ node?

Thanks,
Json

Alexandr Shapkin Alexandr Shapkin
Reply | Threaded
Open this post in threaded view
|

RE: Running a C++ Thick Node compute func from a Java Thick Node

Json,

 

Could you share an example of why do you need this feature?

 

In general, platform-specific nodes should be able to execute only native code. I.e. C++ -> C++, C#-> C# etc.

 

But since a thick client is kind of a wrapper around Java one it’s quite easy to call a Java code on a remote node.

 

 

From: [hidden email]
Sent: Monday, September 16, 2019 6:14 PM
To: [hidden email]
Subject: Re: Running a C++ Thick Node compute func from a Java Thick Node

 

Hello,

 

Such function is not supported for now. You can raise a ticket

if it's something you'd like to have in Ignite.


Best Regards,

Igor

 

 

On Mon, Sep 16, 2019 at 6:00 PM codie <[hidden email]> wrote:

Hello,
I have two nodes running with a TCP Discovery Spi, one is a C++ Thick
node and one is a Java Thick node. The C++ node has the examples compute
func "CountWords" registered. How can I trigger this function from the
Java thick nodes? Does "RegisterComputeFunc" not inform other nodes,
that the compute function can be found on this specific c++ node?

Thanks,
Json

 

Alex Shapkin
gmjason gmjason
Reply | Threaded
Open this post in threaded view
|

Re: Running a C++ Thick Node compute func from a Java Thick Node

We have a polyglot environment, thus people choose a different language depending on their use-case. In consequence some algorithms are programmed in C++ or Fortran. We usually implement a "task" and these tasks can be used/called by others (using the name in ignite compute) without having to care what's behind (C++, Scala or anything else). Polyglot is a rising topic, thus I was surprised I couldn't cross languages barriers when integrating operations in Ignite and C++ thick nodes.

Am 9/16/2019 um 6:38 PM schrieb Alexandr Shapkin:

Json,

 

Could you share an example of why do you need this feature?

 

In general, platform-specific nodes should be able to execute only native code. I.e. C++ -> C++, C#-> C# etc.

 

But since a thick client is kind of a wrapper around Java one it’s quite easy to call a Java code on a remote node.

 

 

From: [hidden email]
Sent: Monday, September 16, 2019 6:14 PM
To: [hidden email]
Subject: Re: Running a C++ Thick Node compute func from a Java Thick Node

 

Hello,

 

Such function is not supported for now. You can raise a ticket

if it's something you'd like to have in Ignite.


Best Regards,

Igor

 

 

On Mon, Sep 16, 2019 at 6:00 PM codie <[hidden email]> wrote:

Hello,
I have two nodes running with a TCP Discovery Spi, one is a C++ Thick
node and one is a Java Thick node. The C++ node has the examples compute
func "CountWords" registered. How can I trigger this function from the
Java thick nodes? Does "RegisterComputeFunc" not inform other nodes,
that the compute function can be found on this specific c++ node?

Thanks,
Json

 

Alexandr Shapkin Alexandr Shapkin
Reply | Threaded
Open this post in threaded view
|

RE: Running a C++ Thick Node compute func from a Java Thick Node

Thank you for clarification.

 

I agree, that in some situation it would be nice to have an ability to trigger a platform-specific task by it’s name with some default args.

But platform agnostic compute requires a separate discussion, I think.

 

Initially I wanted to highlight a couple of possible workarounds like:

 

  • Executing a native java task by it’s name. The task itself could hook a c++ library and perform it’s business [1].
  • Calling a Java service [2] with the same logic.

 

But later I realized that unfortunately both of these options are missing for C++.  I created a new ticket in Apache Ignite Jira [3].

 

 

As a further workaround you may take a look into ContiniousQueries API, in order to trigger some internal logic based on a cache value.

 

[1] - https://apacheignite-net.readme.io/docs/platform-interoperability#section-compute-in-mixed-platform-clusters

[2] - https://apacheignite-net.readme.io/docs/calling-java-services

[3] - https://issues.apache.org/jira/browse/IGNITE-12177

 

From: [hidden email]
Sent: Tuesday, September 17, 2019 10:00 AM
To: [hidden email]
Subject: Re: Running a C++ Thick Node compute func from a Java Thick Node

 

We have a polyglot environment, thus people choose a different language depending on their use-case. In consequence some algorithms are programmed in C++ or Fortran. We usually implement a "task" and these tasks can be used/called by others (using the name in ignite compute) without having to care what's behind (C++, Scala or anything else). Polyglot is a rising topic, thus I was surprised I couldn't cross languages barriers when integrating operations in Ignite and C++ thick nodes.

Am 9/16/2019 um 6:38 PM schrieb Alexandr Shapkin:

Json,

 

Could you share an example of why do you need this feature?

 

In general, platform-specific nodes should be able to execute only native code. I.e. C++ -> C++, C#-> C# etc.

 

But since a thick client is kind of a wrapper around Java one it’s quite easy to call a Java code on a remote node.

 

 

From: [hidden email]
Sent: Monday, September 16, 2019 6:14 PM
To: [hidden email]
Subject: Re: Running a C++ Thick Node compute func from a Java Thick Node

 

Hello,

 

Such function is not supported for now. You can raise a ticket

if it's something you'd like to have in Ignite.


Best Regards,

Igor

 

 

On Mon, Sep 16, 2019 at 6:00 PM codie <[hidden email]> wrote:

Hello,
I have two nodes running with a TCP Discovery Spi, one is a C++ Thick
node and one is a Java Thick node. The C++ node has the examples compute
func "CountWords" registered. How can I trigger this function from the
Java thick nodes? Does "RegisterComputeFunc" not inform other nodes,
that the compute function can be found on this specific c++ node?

Thanks,
Json

 

 

Alex Shapkin