There is a wrapperList.json file in the root workspaces folder, that lists the projects and the workspaces. This log file is not handled atomically with the corresponding file system operations (e.g. folder creation and deletion).
If the dockerized gamma server receives two parallel requests, then this file might be overriden concurrently. It means, if one of the requests adds/removes a workspace (or a project in a workspace), then the changes made by one of the requests might get lost because the other reqest overrides the file and deletes these changes.
As the code base heavily relies on this file to check which projects and workspaces exist on the server, it is crucial to fix this concurrency bug.
There is a wrapperList.json file in the root workspaces folder, that lists the projects and the workspaces. This log file is not handled atomically with the corresponding file system operations (e.g. folder creation and deletion).
If the dockerized gamma server receives two parallel requests, then this file might be overriden concurrently. It means, if one of the requests adds/removes a workspace (or a project in a workspace), then the changes made by one of the requests might get lost because the other reqest overrides the file and deletes these changes.
As the code base heavily relies on this file to check which projects and workspaces exist on the server, it is crucial to fix this concurrency bug.