-
Notifications
You must be signed in to change notification settings - Fork 205
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement the new internal flow engine for Maestro. (#79)
* Implement the new internal flow engine for Maestro. It uses Java virtual thread feature to greatly simplify the concurrency handling. It is a highly optimized flow engine to power Maestro engine. * minor improvements * fix the incorrect flow deletion during shutdown * Add task retry during resuming * fix a few bugs and add some extra java docs * Improve wakeup and timeout and add an active flag
- Loading branch information
Showing
48 changed files
with
3,065 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
maestro-common/src/main/java/com/netflix/maestro/exceptions/MaestroDatabaseError.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.netflix.maestro.exceptions; | ||
|
||
import com.netflix.maestro.models.error.Details; | ||
import lombok.Getter; | ||
|
||
@Getter | ||
public class MaestroDatabaseError extends MaestroRuntimeException { | ||
private static final long serialVersionUID = 7334668492533395123L; | ||
|
||
private final Details details; | ||
|
||
/** | ||
* Constructor with error message and details. | ||
* | ||
* @param cause cause exception | ||
*/ | ||
public MaestroDatabaseError(Throwable cause, String msg) { | ||
super(Code.INTERNAL_ERROR, msg, cause); | ||
this.details = Details.create(cause, false, msg); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Maestro Database | ||
=================================== | ||
This module includes general classes to implement a maestro persistence layer over JDBC for a specific database system. | ||
It also includes the utility interfaces needed by maestro components. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
dependencies { | ||
implementation project(':maestro-common') | ||
implementation jacksonDatabindDep | ||
api hikaricpDep | ||
api flywayDep | ||
|
||
testImplementation flywayDep | ||
testImplementation testcontainerDep | ||
testImplementation postgresqlDep | ||
testImplementation hikaricpDep | ||
testRuntimeOnly slf4jLog4jDep | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# This is a Gradle generated file for dependency locking. | ||
# Manual edits can break the build and are not advised. | ||
# This file is expected to be part of source control. | ||
com.fasterxml.jackson.core:jackson-annotations:2.15.4=compileClasspath | ||
com.fasterxml.jackson.core:jackson-core:2.15.4=compileClasspath | ||
com.fasterxml.jackson.core:jackson-databind:2.15.4=compileClasspath | ||
com.fasterxml.jackson:jackson-bom:2.15.4=compileClasspath | ||
com.zaxxer:HikariCP:4.0.3=compileClasspath | ||
org.flywaydb:flyway-core:7.6.0=compileClasspath | ||
org.projectlombok:lombok:1.18.36=annotationProcessor,compileClasspath | ||
org.slf4j:slf4j-api:1.7.30=compileClasspath | ||
empty= |
Oops, something went wrong.