Details
-
Improvement
-
Resolution: Obsolete
-
Medium
-
None
-
4.0.0
-
None
Description
The current clustering code (version 3.10 onwards), while much improved compared to the previous version, could benefit from a little refactoring:
The db cluster file handler backend classes have started to replicate a lot of the functionality of the standard db connector functionality.
The cluster file handler classes incorporate functionality that covers 2 wide and almost perpendicular areas: A - using a "storage backend" for storing and retrieving data and B - generating caches and caring about locks and mutexes
All the classes do not inherit from common base abstract classes (or interfaces), so there is little guarantee in homogeneity of implementations
Suggestions:
- make the db file backend handlers a subclass of the base db connection class, and declare an interface to which they must adhere
- split cluster file handler classes in 2, where one part takes care of basic functionality and one takes care of caching/locking (maybe 2nd part as subclass of 1st)
- add a base abstract class or interface for cluster file handler
- implement a db-based mutex