...
Task | Description | Notes |
---|---|---|
Remove static state from LockService | Remove all static state and fix the Engine such that it takes a LockService object upon instantiation. An AtomicOperation will also need to take a LockService object, which will be passed from the Engine or Transaction that is its parent. | |
Remove static state from RangeLockService | Remove all static state and fix the Engine such that it takes a RangeLockService object upon instantiation. An AtomicOperation will also need to take a RangeLockService object, which will be passed from the Engine or Transaction that is its parent. | |
Edit Thrift API | Each method of the Thrift API should take a "namespace" parameter | |
Add support for multiple Engines in the server | ConcourseServer should maintain a mapping from namespace to Engine. For each method in the server, it should use the Engine that corresponds to the passed in namespace. There should be a default namespace Engine that is always loaded on server startup. On server shutdown, each engine must be stopped. A namespace should be created on the fly if it dos not exist when the user connects and attempts to use that namespace. | |
Change storage paths to account for namespace | Make sure that each Engine uses ${database_directory}/namespace and ${buffer_directory}/namespace as the bases for file storage | |
Edit Public API | Edit the public api to add a connection method with a namespace parameter | |
Edit concourse_client.prefs | Add optional "namespace" key to concourse_client.prefs. | |
Edit dump tool CLI | Add an optional namespace parameter for the dump tool cli | |
Upgrade Task | Add an upgrade task for 0.3 versions to have their data moved to the correct directory to account for it being in the default namespace | |
Delete namespace CLI | Create a CLI to delete a namespace |
...