I suppose you could have one key that represents the call to the service
and at the appropriate time in your processing check to see if that key is
local to you, and if it is, then you are the server that is supposed to
call the service. You should include that key in the filter list to ensure
the right server gets invoked.

--
Mike Stolz
Principal Engineer, Pivotal Cloud Cache
Mobile: +1-631-835-4771



On Wed, Sep 18, 2019 at 9:30 AM aashish choudhary <
[email protected]> wrote:

> Any thoughts?
>
> With best regards,
> Ashish
>
> On Tue, Sep 17, 2019, 12:19 PM aashish choudhary <
> [email protected]> wrote:
>
>> Thanks Mike,Dan,Anil for your suggestions.
>>
>> We do use withFilter but we pass Set of keys not a single key while
>> executing functions and we also have the optimizeforwrite set to true as
>> best practices. We have redundancy of 3.With that primaries are basically
>> split among 12 data nodes. We basically want to reduce calls to external
>> http service. May be what Dan is suggesting something we can do.
>>
>> With best regards,
>> Ashish
>>
>> On Tue, Sep 17, 2019, 12:39 AM Anilkumar Gingade <[email protected]>
>> wrote:
>>
>>> Ashish, can you give more detail on your usecase/requirement...Is your
>>> requirement is to execute the function on all the nodes that host the
>>> region? If thats the case, what is expected to happen by calling the
>>> external service? Is only one node suppose to use the data/info from the
>>> external service.
>>> If your requirement is not to execute on all nodes; you can use the
>>> options as suggested by Dan and Mike.
>>>
>>> -Anil.
>>>
>>>
>>>
>>> On Mon, Sep 16, 2019 at 10:55 AM Dan Smith <[email protected]> wrote:
>>>
>>>> When you call FunctionService.onServer, you can pass it a ClientCache
>>>> or a Pool. It will find a running server and execute on that. So you never
>>>> pass it an individual server name.
>>>>
>>>> -Dan
>>>>
>>>> On Mon, Sep 16, 2019 at 10:22 AM Michael Stolz <[email protected]>
>>>> wrote:
>>>>
>>>>> If you execute onRegion withFilter and a single filter key it will
>>>>> only be executed on the server who would host that key.
>>>>>
>>>>> --
>>>>> Mike Stolz
>>>>> Principal Engineer, Pivotal Cloud Cache
>>>>> Mobile: +1-631-835-4771
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 16, 2019 at 12:49 PM aashish choudhary <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> We use onRegion call to make http request to external service inside
>>>>>> function. Because of that it gets executed on multiple servers. So
>>>>>> basically we will have to make nested call to another function using
>>>>>> onServer to avoid multiple calls? But what if that node is down?
>>>>>>
>>>>>> With best regards,
>>>>>> Ashish
>>>>>>
>>>>>> On Mon, Sep 16, 2019, 9:59 PM Dan Smith <[email protected]> wrote:
>>>>>>
>>>>>>> Hi Ashish,
>>>>>>>
>>>>>>> How are you executing your function? If you execute a function from
>>>>>>> the client with Function.onServer, it should only be executed on a 
>>>>>>> single
>>>>>>> running server.
>>>>>>>
>>>>>>> -Dan
>>>>>>>
>>>>>>

Reply via email to