hashmapinc / hashmapinc/Drillflow

DEV:LOG: Provide Redis Caching

Open
#431 0 comments 0 reactions 1 assignee Claimed by @TessForGithub2 View on GitHub
API Deliverable
Dominant language
Java
Stars
21
Forks
13
PR merge metrics
No merged PRs in 30d

Description

EPIC:
#256 Redis Caching
Sizing:
will make an estimate once analysis is complete
Priority:
2 - Will work on analysis synonymously with WMLS_UpdateInStore: Log
I will request a review of my approach
It is always easier to physically code when mentally the analysis is done (not 100% since
Agile uses "fail fast" approach, but we need some idea of what is going on)
****************************************************************
com.hashmapinc.tempus.witsml.valve.dot.client:UidUuidCache
Currently, caching is provided for 3 types of objects with a ConcurrentHashMap in this class:
1: parentless objects with no parent uid
2: objects with a single parent, but no grandparent
3: objects with a parent and a grandparent, but no more

This class will be updated to support external caching (like REDIS) by replacing
the concurrent hashmap with calls to the external Redis service.
****************************************************************
List of classes needed:
Only found 1 place within the code base where putInCache is called, and that is for the
wellboreUUID (DotDelegator:getParentWellboreUUID), and both log and trajectory do not have a parent wellbore.

AddToStore: should contribute? What about wellUuid?

***************************************************************
Redis approach will be to provide a local Redis and then move to external service.
****************************************************************
I am still in the process of analyzing where all the changes/additions need to go as I implement UpdateInStore:Log. Please note that there may be more that is required to change or be added (specifically with respect to the following comment from a meeting: "*Redis--caching Wrapper for Traj--to prepare for caching").

I will use this card as a "bucket" to identify all areas within the system that require change.

Also please note that a certain amount of integration retesting may be needed to insure that I have not broken anything within the code base by my changes. I will request these retests by opening QA cards accordingly.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.