We are currently using MemStore which is designed to provide the same interface with AbstractDBStore. This incurs two problems.
- The major problem is that AbstractDBStore is not tested properly by unit testing. The logic to access catalog is separated into MemStore and AbstractDBStore, and only MemStore is tested.
- We have to implement both AbstractDBStore and MemStore whenever we modify the catalog interface even though MemStore is used only in unit testing. This is an unnecessary burden to developers.