Vishwas,

Thank your very much for your clarification, im starting with Fineract and
still absorbing information.





Em qui., 26 de mar. de 2020 às 09:09, Vishwas Babu A J <
[email protected]> escreveu:

> Sergio,
>
> A quick clarification:
>
> https://github.com/apache/fineract/pull/515 allows setting a globally
> unique client generated identifier for a command. This allows the client to
> later query for the status of the execution of the command associated with
> this guid if the response is lost in transit etc. At the server side, the
> guid is assumed to be unique.
>
> By adding a unique constraint to the command source table, we can enforce
> the uniqueness of the client generated identifier at the server side,
> thereby ensuring duplicate requests are not served. However, this approach
> would likely result in a write penalty for very large installations.
>
> Alternatives could be to check the presence of this key in an in memory
> key value store, something along the lines of setnx in Redis (assuming
> duplicates requests are sent in a fixed time interval). We could maybe
> handle this from an infrastructure level too, by carrying out this check at
> the API gateway,
>
> Regards,
> Vishwas
>
>
>
> On Mar 25, 2020, at 6:54 PM, Vishwas Babu <[email protected]> wrote:
>
> >>Question, before this PR, no one have this kind of problem before?
> I am sure people would have faced this issue and figured out solutions
> like this PR.
>
> >>A simple retry or double click at any of the apps would cause issues,
> right?
> It might not have been so obvious as clients like the Mifos community-app
> (most common UI used with Fineract) handle double clicks at their end.
> However, your point is valid
>
> Regards,
> Vishwas
>
>
> On Wed, 25 Mar 2020 at 07:19, Sergio Junior <[email protected]> wrote:
>
>> Vishwas,
>>
>> I really appreciate your response, missed that PR because it was closed,
>> i will take a look.
>>
>> Question, before this PR, no one have this kind of problem before? A
>> simple retry or double click at any of the apps would cause issues, right?
>>
>> Thanks!
>>
>> Em qua., 25 de mar. de 2020 às 01:24, Vishwas Babu A J <
>> [email protected]> escreveu:
>>
>>> Hello Sergio,
>>>
>>> Here is a pr https://github.com/apache/fineract/pull/515 which aimed to
>>> address this problem by relying on the client to optionally supply a unique
>>> id with each request. Maybe you can build on the same (it was missing test
>>> cases and api doc updates) and get it merged ?
>>>
>>> Regards,
>>> Vishwas
>>>
>>>
>>>
>>> On Mar 24, 2020, at 7:39 PM, Sergio Junior <[email protected]> wrote:
>>>
>>> Hello everyone,
>>>
>>> Im integrating a system with Fineract, and doing some tests with the
>>> Savings API (Deposit/Withdrawal functions), nothing is considered “Unique”,
>>> so if for any reason my system interpret a call as failed (maybe a reverse
>>> proxy fault, tcp issues etc) and perform a retry, Fineract will Credit (or
>>> Debit) a transaction multiple times, no field is considered an Identifier
>>> and i couldnt find any resource to notify the API that a transaction is a
>>> retry or a new one.
>>>
>>> Whats the idea for such scenario, to maintain consistency and avoid
>>> duplicates?
>>>
>>> Thanks!
>>>
>>>
>>>
>>
>

Reply via email to