hashmapinc / hashmapinc/Drillflow
DEV:LOG: Provide Redis Caching
- 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.