cdisc-org / cdisc-rules-engine

Open source offering of the cdisc rules engine
MIT License
48 stars 13 forks source link

ISS-511: Update in memory cache to use LRU cache #525

Closed nhaydel closed 1 year ago

nhaydel commented 1 year ago

This PR makes the following notable changes:

  1. The in memory cache now uses an LRU cache implementation from the cachetools library
  2. Because of the eviction policy, library metadata is now stored outside of the cache for use by the rules engine, data services, rule processor, dataset builders and operations
  3. Rules are no longer stored in the cache object

Steps to test:

  1. Run a full validation and ensure the output is as expected
  2. Run a test validation with a rule that requires library metadata and ensure the results are as expected.
  3. Run func start --python from the root of the project to start the test endpoint
  4. Make a request to the locally running test endpoint using a rule that requires library metadata and ensure the output is correct.
gerrycampion commented 1 year ago

I've tested the update using the 3 different given options along with a fourth option of running with the Rule Editor. QA passed.