Hi Narges,

Then just send a task to a required node. If the cluster topology changes
while the task was running you can re-submit it to ensure the result is
accurate.

-
Denis


On Fri, Oct 30, 2020 at 2:16 PM narges saleh <snarges...@gmail.com> wrote:

> Hi Denis,
>
> My problem with using affinity call/run is that I have to have the key in
> order to run it. I just want to run a function on the data on the current
> node, without knowing the key. Is there anyway to do this and also
> guard against partition rebalancing?
>
> thanks
>
> On Tue, Oct 27, 2020 at 10:31 AM narges saleh <snarges...@gmail.com>
> wrote:
>
>> Thanks Ilya, Denis for the feedback.
>>
>> On Mon, Oct 26, 2020 at 1:44 PM Denis Magda <dma...@apache.org> wrote:
>>
>>> Narges,
>>>
>>> Also, keep in mind that if a local query is executed over a partitioned
>>> table and it happens that partitions rebalancing starts, the local query
>>> might return a wrong result (if partitions the query was executed over were
>>> rebalanced to another node during the query execution time). To address
>>> this:
>>>
>>>    1. Execute the local query inside of an affinityCall/Run function (
>>>    
>>> https://ignite.apache.org/docs/latest/distributed-computing/collocated-computations#colocating-by-key).
>>>    Those functions don't let partitions be evicted until the function
>>>    execution completes.
>>>    2. Don't use the local queries, let the Ignite SQL engine to run
>>>    standard queries, and to take care of possible optimizations.
>>>
>>>
>>> -
>>> Denis
>>>
>>>
>>> On Mon, Oct 26, 2020 at 8:50 AM Ilya Kasnacheev <
>>> ilya.kasnach...@gmail.com> wrote:
>>>
>>>> Hello!
>>>>
>>>> You are using an Ignite Thick Client driver. As its name implies, it
>>>> will start a local client node and then connect to it, without the option
>>>> of doing local queries.
>>>>
>>>> You need to use Ignite Thin JDBC driver: jdbc:ignite:thin://<server ip>
>>>> Then you can do local queries.
>>>>
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>>
>>>>
>>>> сб, 24 окт. 2020 г. в 16:04, narges saleh <snarges...@gmail.com>:
>>>>
>>>>> Hello Ilya
>>>>> Yes, it happens all the time. It seems ignite forces the "client"
>>>>> establishing the jdbc connection into a client mode, even if I set
>>>>> client=false.  The sample code and config are attached. The question is 
>>>>> how
>>>>> do I force JDBC connections from a server node.
>>>>> thanks.
>>>>>
>>>>> On Fri, Oct 23, 2020 at 10:31 AM Ilya Kasnacheev <
>>>>> ilya.kasnach...@gmail.com> wrote:
>>>>>
>>>>>> Hello!
>>>>>>
>>>>>> Does this happen every time? If so, do you have a reproducer for the
>>>>>> issue?
>>>>>>
>>>>>> Regards,
>>>>>> --
>>>>>> Ilya Kasnacheev
>>>>>>
>>>>>>
>>>>>> пт, 23 окт. 2020 г. в 13:06, narges saleh <snarges...@gmail.com>:
>>>>>>
>>>>>>> Denis -- Just checked. I do specify my services to be deployed on
>>>>>>> server nodes only. Why would ignite think that I am running my code on a
>>>>>>> client node?
>>>>>>>
>>>>>>> On Fri, Oct 23, 2020 at 3:50 AM narges saleh <snarges...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Denis
>>>>>>>> What would make an ignite node a client node? The code is invoked
>>>>>>>> via an ignite service deployed on each node and I am not setting the 
>>>>>>>> client
>>>>>>>> mode anywhere. The code sets the jdbc connection to local and tries to
>>>>>>>> execute a sql code on the node in some interval. By the way, I didn't 
>>>>>>>> know
>>>>>>>> one could deploy a service on client nodes. Do I need to explicitly 
>>>>>>>> mark a
>>>>>>>> node as a server node when deploying a service?
>>>>>>>> thanks
>>>>>>>>
>>>>>>>> On Thu, Oct 22, 2020 at 9:42 PM Denis Magda <dma...@apache.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> The error message says you're attempting to run the query on a
>>>>>>>>> client node. If that's the case (if the service is deployed on the 
>>>>>>>>> client
>>>>>>>>> node), then the local flag has no effect because client nodes don't 
>>>>>>>>> keep
>>>>>>>>> your data locally but rather consume it from servers.
>>>>>>>>>
>>>>>>>>> -
>>>>>>>>> Denis
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Oct 22, 2020 at 6:26 PM narges saleh <snarges...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>> I am trying to execute a sql query via a JDBC  connection on the
>>>>>>>>>> service node (the query is run via a service), but I am getting 
>>>>>>>>>> *Execution
>>>>>>>>>> of local SqlFieldsQuery on client node disallowed.*
>>>>>>>>>> *The JDBC connection has the option local=true as I want to run
>>>>>>>>>> the query on the data on the local node only.*
>>>>>>>>>> *Any idea why I am getting this error?*
>>>>>>>>>>
>>>>>>>>>> *thanks.*
>>>>>>>>>>
>>>>>>>>>

Reply via email to