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.* >>>>>>>>>> >>>>>>>>>