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