Class RedisExecutionRepository
java.lang.Object
com.netflix.spinnaker.orca.pipeline.persistence.jedis.RedisExecutionRepository
- All Implemented Interfaces:
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
public class RedisExecutionRepository
extends Object
implements com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionComparator, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria -
Constructor Summary
ConstructorsConstructorDescriptionRedisExecutionRepository(com.netflix.spectator.api.Registry registry, com.netflix.spinnaker.kork.jedis.RedisClientSelector redisClientSelector, Integer threadPoolSize, Integer threadPoolChunkSize) RedisExecutionRepository(com.netflix.spectator.api.Registry registry, com.netflix.spinnaker.kork.jedis.RedisClientSelector redisClientSelector, rx.Scheduler queryAllScheduler, rx.Scheduler queryByAppScheduler, Integer threadPoolChunkSize, String bufferedPrefix) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStage(com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>all(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) protected static StringallBufferedExecutionsKey(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>allForApplication(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String application, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) protected static StringalljobsKey(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) protected Collection<com.netflix.spinnaker.kork.jedis.RedisClientDelegate>protected static Stringprotected com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionbuildExecution(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution, Map<String, String> map, List<String> stageIds) voidvoidcancel(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id, String user, String reason) voidvoidprotected StringexecutionKey(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution) protected static StringexecutionKeyPattern(@Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) protected static StringexecutionsByPipelineKey(String pipelineConfigId) extractStages(Map<String, String> map) protected com.netflix.spinnaker.orca.pipeline.persistence.jedis.RedisExecutionRepository.ImmutablePair<String,com.netflix.spinnaker.kork.jedis.RedisClientDelegate> protected List<com.netflix.spinnaker.orca.api.pipeline.models.ExecutionStatus>fetchMultiExecutionStatus(com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate, List<String> keys) booleanhasExecution(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id) booleanisCanceled(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id) voidvoidremoveStage(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution, String stageId) voidvoidresume(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id, String user, boolean ignoreCurrentStatus) rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieve(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieve(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionretrieveAllApplicationNames(@Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) retrieveAllApplicationNames(@Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, int minExecutions) retrieveAllExecutionIds(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieveAllPipelinesForPipelineConfigIdsBetweenBuildTimeBoundary(List<String> pipelineConfigIds, long buildTimeStartBoundary, long buildTimeEndBoundary, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria executionCriteria) List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionretrieveByCorrelationId(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType executionType, String correlationId) protected com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionretrieveInternal(com.netflix.spinnaker.kork.jedis.RedisClientDelegate delegate, com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id) protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieveObservable(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String lookupKey, rx.functions.Func1<String, Iterable<String>> lookupKeyFetcher, rx.Scheduler scheduler, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieveObservable(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String lookupKey, rx.Scheduler scheduler, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionretrieveOrchestrationForCorrelationId(String correlationId) rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieveOrchestrationsForApplication(String application, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrieveOrchestrationsForApplication(String application, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionComparator sorter) com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecutionretrievePipelineForCorrelationId(String correlationId) rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrievePipelinesForApplication(String application) rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrievePipelinesForPipelineConfigId(String pipelineConfigId, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution>retrievePipelinesForPipelineConfigIdsBetweenBuildTimeBoundary(List<String> pipelineConfigIds, long buildTimeStartBoundary, long buildTimeEndBoundary, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria executionCriteria) serializeExecution(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution) serializeStage(com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) voidstore(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution) voidstoreStage(com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) voidupdateStageContext(com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) voidupdateStatus(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id, com.netflix.spinnaker.orca.api.pipeline.models.ExecutionStatus status) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
getPartition, handlesPartition, restartStage, updateStatus
-
Constructor Details
-
RedisExecutionRepository
-
RedisExecutionRepository
-
-
Method Details
-
store
public void store(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution) - Specified by:
storein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
storeStage
public void storeStage(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) - Specified by:
storeStagein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
updateStageContext
public void updateStageContext(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) - Specified by:
updateStageContextin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
removeStage
public void removeStage(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution, @Nonnull String stageId) - Specified by:
removeStagein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
addStage
public void addStage(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage) - Specified by:
addStagein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
cancel
public void cancel(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id) - Specified by:
cancelin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
cancel
public void cancel(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id, String user, String reason) - Specified by:
cancelin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
pause
public void pause(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id, String user) - Specified by:
pausein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
resume
public void resume(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id, String user) - Specified by:
resumein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
resume
public void resume(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id, String user, boolean ignoreCurrentStatus) - Specified by:
resumein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
isCanceled
public boolean isCanceled(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id) - Specified by:
isCanceledin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
updateStatus
public void updateStatus(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id, @Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionStatus status) - Specified by:
updateStatusin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieve
@Nonnull public com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution retrieve(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id) - Specified by:
retrievein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieve
@Nonnull public rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieve(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) - Specified by:
retrievein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieve
@Nonnull public rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieve(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) - Specified by:
retrievein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
delete
public void delete(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id) - Specified by:
deletein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
delete
public void delete(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull List<String> idsToDelete) - Specified by:
deletein interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrievePipelinesForApplication
@Nonnull public rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrievePipelinesForApplication(@Nonnull String application) - Specified by:
retrievePipelinesForApplicationin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrievePipelinesForPipelineConfigId
@Nonnull public rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrievePipelinesForPipelineConfigId(@Nonnull String pipelineConfigId, @Nonnull com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) - Specified by:
retrievePipelinesForPipelineConfigIdin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrievePipelinesForPipelineConfigIdsBetweenBuildTimeBoundary
@Nonnull public List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrievePipelinesForPipelineConfigIdsBetweenBuildTimeBoundary(@Nonnull List<String> pipelineConfigIds, long buildTimeStartBoundary, long buildTimeEndBoundary, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria executionCriteria) - Specified by:
retrievePipelinesForPipelineConfigIdsBetweenBuildTimeBoundaryin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveAllPipelinesForPipelineConfigIdsBetweenBuildTimeBoundary
public List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveAllPipelinesForPipelineConfigIdsBetweenBuildTimeBoundary(@Nonnull List<String> pipelineConfigIds, long buildTimeStartBoundary, long buildTimeEndBoundary, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria executionCriteria) - Specified by:
retrieveAllPipelinesForPipelineConfigIdsBetweenBuildTimeBoundaryin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveOrchestrationsForApplication
@Nonnull public rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveOrchestrationsForApplication(@Nonnull String application, @Nonnull com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria) - Specified by:
retrieveOrchestrationsForApplicationin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveOrchestrationsForApplication
@Nonnull public List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveOrchestrationsForApplication(@Nonnull String application, @Nonnull com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionCriteria criteria, com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository.ExecutionComparator sorter) - Specified by:
retrieveOrchestrationsForApplicationin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveByCorrelationId
@Nonnull public com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution retrieveByCorrelationId(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType executionType, @Nonnull String correlationId) throws com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException - Specified by:
retrieveByCorrelationIdin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository- Throws:
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException
-
retrieveOrchestrationForCorrelationId
@Nonnull public com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution retrieveOrchestrationForCorrelationId(@Nonnull String correlationId) throws com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException - Specified by:
retrieveOrchestrationForCorrelationIdin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository- Throws:
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException
-
retrievePipelineForCorrelationId
@Nonnull public com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution retrievePipelineForCorrelationId(@Nonnull String correlationId) throws com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException - Specified by:
retrievePipelineForCorrelationIdin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository- Throws:
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException
-
retrieveBufferedExecutions
@Nonnull public List<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveBufferedExecutions()- Specified by:
retrieveBufferedExecutionsin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveAllApplicationNames
@Nonnull public List<String> retrieveAllApplicationNames(@Nullable @Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) - Specified by:
retrieveAllApplicationNamesin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveAllApplicationNames
@Nonnull public List<String> retrieveAllApplicationNames(@Nullable @Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, int minExecutions) - Specified by:
retrieveAllApplicationNamesin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
hasExecution
public boolean hasExecution(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, @Nonnull String id) - Specified by:
hasExecutionin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
retrieveAllExecutionIds
public List<String> retrieveAllExecutionIds(@Nonnull com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) - Specified by:
retrieveAllExecutionIdsin interfacecom.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
-
buildExecution
-
serializeExecution
-
serializeStage
-
extractStages
-
all
protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> all(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) -
allForApplication
protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> allForApplication(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String application, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) -
retrieveObservable
protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveObservable(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String lookupKey, rx.Scheduler scheduler, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) -
retrieveObservable
protected rx.Observable<com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution> retrieveObservable(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String lookupKey, rx.functions.Func1<String, Iterable<String>> lookupKeyFetcher, rx.Scheduler scheduler, com.netflix.spinnaker.kork.jedis.RedisClientDelegate redisClientDelegate) -
fetchKey
-
alljobsKey
protected static String alljobsKey(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) -
appKey
-
executionsByPipelineKey
-
allBufferedExecutionsKey
protected static String allBufferedExecutionsKey(com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) -
executionKeyPattern
protected static String executionKeyPattern(@Nullable @Nullable com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type) -
retrieveInternal
protected com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution retrieveInternal(com.netflix.spinnaker.kork.jedis.RedisClientDelegate delegate, com.netflix.spinnaker.orca.api.pipeline.models.ExecutionType type, String id) throws com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException - Throws:
com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException
-
fetchMultiExecutionStatus
-
allRedisDelegates
-
executionKey
protected String executionKey(com.netflix.spinnaker.orca.api.pipeline.models.PipelineExecution execution)
-