Package org.camunda.bpm.engine.impl
Class BootstrapEngineCommand
java.lang.Object
org.camunda.bpm.engine.impl.BootstrapEngineCommand
- All Implemented Interfaces:
- Command<Void>,- ProcessEngineBootstrapCommand
- Author:
- Nikola Koevski
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidacquireExclusiveInstallationIdLock(CommandContext commandContext) protected voidacquireExclusiveTelemetryLock(CommandContext commandContext) voidcheckDeploymentLockExists(CommandContext commandContext) voidcheckHistoryCleanupLockExists(CommandContext commandContext) protected voidcheckInstallationIdLockExists(CommandContext commandContext) protected voidcheckTelemetryLockExists(CommandContext commandContext) protected voidcreateHistoryCleanupJob(CommandContext commandContext) protected voidcreateInstallationProperty(CommandContext commandContext) protected voidcreateTelemetryProperty(CommandContext commandContext) protected StringdatabaseInstallationId(CommandContext commandContext) protected PropertyEntitydatabaseTelemetryConfiguration(CommandContext commandContext) execute(CommandContext commandContext) voidinitializeInstallationId(CommandContext commandContext) voidinitializeTelemetryProperty(CommandContext commandContext) protected booleanisHistoryCleanupEnabled(CommandContext commandContext) booleanWhen CockroachDB is used, this command may be retried multiple times until it is successful, or the retries are exhausted.protected voidstartTelemetryReporter(CommandContext commandContext) protected voidupdateTelemetryData(CommandContext commandContext) 
- 
Field Details- 
TELEMETRY_PROPERTY_NAME- See Also:
 
- 
INSTALLATION_PROPERTY_NAME- See Also:
 
 
- 
- 
Constructor Details- 
BootstrapEngineCommandpublic BootstrapEngineCommand()
 
- 
- 
Method Details- 
execute
- 
createHistoryCleanupJob
- 
checkDeploymentLockExists
- 
checkHistoryCleanupLockExists
- 
isHistoryCleanupEnabled
- 
initializeTelemetryProperty
- 
checkTelemetryLockExists
- 
databaseTelemetryConfiguration
- 
createTelemetryProperty
- 
initializeInstallationId
- 
createInstallationProperty
- 
databaseInstallationId
- 
checkInstallationIdLockExists
- 
updateTelemetryData
- 
startTelemetryReporter
- 
acquireExclusiveTelemetryLock
- 
acquireExclusiveInstallationIdLock
- 
isRetryablepublic boolean isRetryable()When CockroachDB is used, this command may be retried multiple times until it is successful, or the retries are exhausted. CockroachDB uses a stricter, SERIALIZABLE transaction isolation which ensures a serialized manner of transaction execution. A concurrent transaction that attempts to modify the same data as another transaction is required to abort, rollback and retry. This also makes our use-case of pessimistic locks redundant since we only use them as synchronization barriers, and not to lock actual data which would protect it from concurrent modifications. The BootstrapEngine command only executes internal code, so we are certain that a retry of a failed engine bootstrap will not impact user data, and may be performed multiple times.- Specified by:
- isRetryablein interface- Command<Void>
- Returns:
- true if the CrdbTransactionRetryInterceptorcan make a transparent retry of this command upon failure with aCrdbTransactionRetryException(only used when running on CockroachDB).
 
 
-