You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by codie <co...@gmail.com> on 2019/09/16 15:00:28 UTC

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


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

Posted by Alexandr Shapkin <le...@gmail.com>.
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: codie
Sent: Tuesday, September 17, 2019 10:00 AM
To: user@ignite.apache.org
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: Igor Sapego
Sent: Monday, September 16, 2019 6:14 PM
To: user
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 <co...@gmail.com> 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
 


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

Posted by codie <co...@gmail.com>.
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: *Igor Sapego <ma...@gridgain.com>
> *Sent: *Monday, September 16, 2019 6:14 PM
> *To: *user <ma...@ignite.apache.org>
> *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 <constantin.diez@gmail.com 
> <ma...@gmail.com>> 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
>

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

Posted by Alexandr Shapkin <le...@gmail.com>.
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: Igor Sapego
Sent: Monday, September 16, 2019 6:14 PM
To: user
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 <co...@gmail.com> 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


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

Posted by Igor Sapego <is...@gridgain.com>.
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 <co...@gmail.com> 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
>
>