Code review comment for lp:~mmcm/akiban-persistit/config-reload-properties

Revision history for this message
Peter Beaman (pbeaman) wrote :

Could the dynamic volume loading be done without changing the Configuration? The volumeSpecifications list in Configuration is used only during system initialization. You can create and/or open volumes not specified in the Configuration with Persistit#loadVolume(VolumeSpecification)*. It is not necessary for every volume to specified in the Configuration's volume list. The API is messy in that respect due to the late addition of an API for creating and opening new volumes.

In the server branch I saw code that laboriously creates new properties, but I did not see any code to open the associated volumes. I think we could simplify the process by creating a VolumeSpecification for each dynamic volume, calling the loadVolume method, and ignoring the Configuration.

I am inclined to remove or at least deprecate Configuration#setProperty. There appear to be no callers.

* I think Persistit#loadVolume is broken; there's code in the initializeVolumes loop to try to match existing volumes described by the journal but not yet open; I think this code also has to appear in the loadVolume code, and further that initializeVolumes should simply be calling the corrected loadVolume for each VolumeSpecification. I will investigate that further.

review: Needs Information

« Back to merge proposal