wso2 / financial-services-accelerator

WSO2 Open Banking Accelerator is a collection of technologies that increases the speed and reduces the complexity of adopting open banking compliance. Instead of building a solution from scratch, you can use WSO2 Open Banking Accelerator to meet all legislative requirements with additional benefits beyond compliance.
Apache License 2.0
7 stars 22 forks source link

Moving Idempotency Validation to consent management module #47

Open Ashi1993 opened 8 months ago

Ashi1993 commented 8 months ago

Description: Current idempotency validation is based on disctributed caching developed using Hazelcast. Distributed Cache is based on the Hazelcast IMDG library. Hazelcast library was vulnerable to a memory-leaking issue several times. According to Hazelcast's release history, memory leakage issues were fixed multiple times [1] and they have a couple of issues pending to be fixed in future releases [2]. Also, we cannot guarantee to the customers that the memory leakage issue will be fully fixed in future versions. Hence, we are planning to deprecate the Distributed Caching Feature from OB Accelerator 3.0.0.

Since distributed caching is deprecating, idempotency validation needs to be moved to consent management as a DB backed implementation.

[1] https://github.com/hazelcast/hazelcast/releases?page=1 [2] https://github.com/hazelcast/hazelcast/milestone/221

Suggested Labels: [For non-committers only. Optional comma separated list of suggested labels. Non committers can’t assign labels to issues, so this will help issue creators who are not a committer to suggest possible labels. Labels can be found here - https://github.com/wso2/financial-open-banking/labels]

Suggested Assignees: [For non-committers only. Optional comma separated list of suggested team members who should attend the issue. Non committers can’t assign issues to assignees, so this will help issue creators who are not a committer to suggest possible assignees]

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues: [Any related issues such as sub tasks, issues reported in other repositories (e.g component repositories), similar problems, etc. ]