Slackbot
11/11/2023, 6:27 PMZac Policzer
11/11/2023, 6:32 PMIn order for this to be an option, there would have to be derived classes of StorageEngineFactory for each of these options right?
This is exactly right. We'd need instantiations of StoreEngineFactory, StorageEngine and StorageEngine partition (and there are a few examples of these in the codebase)Zac Policzer
11/11/2023, 6:33 PMAlso wondering if for example there is some boolean flag in the davinci client config, should there be a new derived class of the DaVinciClient that is instantiated if that flag is true or should it be defined in the DaVinciClient interface to be used by all derived classes?
We should be trying to use the same main implementation of the davinci client. Today this implementation is coded (or at least, should be!) to the storage engine abstraction. Our goal is to avoid make new davinci clients as the logic in there is quite complex.Zac Policzer
11/11/2023, 6:36 PMElijah Grimaldi
11/11/2023, 9:53 PMI'm betting there will be folks who will want to retain reference to some objects that are passed into their implementation of the StorageEngineFactory why does using ReflectionUtils to instantiate a generic StorageEngine object of some sort (I think in this case?) cause this problem? ...client code is probably going to want some customization that will be hard to predict Also for this part, I want to be explicit in what customizations we are talking about. Is the goal just to have methods in an instance of RocksDBStorageEngine for example be callable from DaVinci?