Hi, dear Kylin dev team:
When create new DataModelDesc, DataModelManager.createDataModelDese:246 will temporarily add the new model name into selected project(project1) cache, but won't persist it. The TEMPORARY ADD operation will make the model reloading successful, rather than throw "No project found for model ..." exception(at ProjectManager:391).
However, If there have another threads are processing "Broadcasting update project_schema, project1", it will clean up cache of project1 and reload it, which will reset the "TEMPORARY ADD" operation. Meanwhile, the model saving thread has persisted the DataModelDesc and start to reload it, but will find there have "No project for this model".
The new model can't be created again because the conflict timestamp and can't be reloaded into cache because the abrove problem.
How do you think about this??