MerkleDbCompactionCoordinator -- static getCompactionExecutor will be invoked from a non-static method and initialize compactionExecutor.
HalfDiskHashMap -- static getFlushingPool will be invoked from a non-static method and initialize flushingPool.
(more detailed info will be in method-level docs)
The task is to refactor it so that there are no static fields but just instance fields.
One option is to turn this static method into MerkleDb instance methods.
As a part of this ticket, MerkleDb (with its list of instances and data sources) should be moved to PlatformContext, or somehow changed to be one per PlatformContext
This is a follow-up for https://github.com/hashgraph/hedera-services/pull/15562. After it will be merged, there will be static field initialization from a non-static method in the following classes:
MerkleDbCompactionCoordinator
-- staticgetCompactionExecutor
will be invoked from a non-static method and initializecompactionExecutor
.HalfDiskHashMap
-- staticgetFlushingPool
will be invoked from a non-static method and initializeflushingPool
.(more detailed info will be in method-level docs)
The task is to refactor it so that there are no static fields but just instance fields. One option is to turn this static method into
MerkleDb
instance methods.