Uploaded image for project: 'OpenLMIS General'
  1. OLMIS-6056

Proof of Concept: Application caching for Supervisory Node

    Details

    • Type: Task
    • Status: Done
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.6
    • Component/s: None
    • Labels:
    • Sprint:
      Parrot Sprint 120, Team Parrot Sprint 121
    • Story Points:
      8

      Description

      Figure out the strategy for caching a single resource on the application level. This should make sure that once we retrieve the representation from the database, we are able to cache it on the application level and not retrieve it from the database again on next subsequent calls for the same resource.

      As a proof of concept, do this for the supervisory node that has many expensive joins to retrieve from the database.

      Acceptance criteria:

      • Research on viable libraries/solutions for app caching is conducted
      • Strategy/library is consulted with the tech committee (call or Discourse)
      • Retrieving a resource from the database, creates an app level cache
      • Retrieving the same resource checks cache and immediately retrieves the resource from the cache if it exists
      • If the resource doesn't exist in the cache, the resource is retrieved from the database
      • Update to the resource must invalidate the cache for this resource (or update it)
      • Also want to measure before / after cache timing (p90) so that we know what improvement looks like.
      • Performance test for supervisory node

        Checklists

          Attachments

            Issue links

              Activity

                People

                • Assignee:
                  pmironiuk Paulina Mironiuk
                  Reporter:
                  sbrudzinski Sebastian Brudziński
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 1 week Original Estimate - 1 week
                    1w
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 2 weeks, 1 day, 3 hours
                    2w 1d 3h