When the user (a human being, an application, a container) performs an action over an application, it goes through a set of deployment operations. As a result, the application status changes as described in Application Status.
The deployment operations are:
● deploy - it can deploy both an application and a standalone module. After the operation finishes, both types of deployables are treated as an application.
● start application – starts the application
● stop application – stops the application
● update – updates the whole application
● single file update – updates only a specified file from the application
● remove – removes the application
● runtime changes – notifies all containers (of the same type as the one where the deployment operations are carried out) in other servers about the changes in an application. This operation can be triggered by a container only.
When a deploy operation is started over an application, a deploy lock with the name of the application is set. There are two types of locks - a write lock and a read lock.
When a deployment operation finishes, it removes all of its locks over the applications.
A write lock means that other applications can change the information in the application under deployment. This application can simultaneously have several write locks
The read lock allows different applications to read information from the operation that is currently in a deployment operation.
Several simultaneous read locks are possible.
If an application has a read lock, it cannot have a write lock at the same time. So no application can change an application until the read lock is removed.