Updating library for compatibility with Aurora 0.16.0 final. Thrift API differs from main Aurora one due to TaskUpdateQuery fields resulting in errors when serialized by thrift as non-optionals.

This commit is contained in:
Renan DelValle 2016-09-29 20:45:24 -04:00
parent 3a78e32e27
commit 3fd957fe5c
15 changed files with 2058 additions and 1020 deletions

View file

@ -324,7 +324,6 @@ struct JobConfiguration {
7: Identity owner
/**
* If present, the job will be handled as a cron job with this crontab-syntax schedule.
* This currently differs from the thrift API found in the main repo where it is not optional
*/
4: optional string cronSchedule
/** Collision policy to use when handling overlapping cron runs. Default is KILL_EXISTING. */
@ -771,6 +770,9 @@ struct JobUpdateSummary {
/** Current job update state. */
4: JobUpdateState state
/** Update metadata supplied by the client. */
6: optional set<Metadata> metadata
}
/** Update configuration and setting details. */
@ -815,6 +817,9 @@ struct JobUpdateRequest {
/** Update settings and limits. */
3: JobUpdateSettings settings
/** Update metadata supplied by the client issuing the JobUpdateRequest. */
4: optional set<Metadata> metadata
}
/**
@ -823,19 +828,19 @@ struct JobUpdateRequest {
*/
struct JobUpdateQuery {
/** Job role. */
2: string role
2: optional string role
/** Unique identifier for a job update. */
8: JobUpdateKey key
8: optional JobUpdateKey key
/** Job key. */
3: JobKey jobKey
3: optional JobKey jobKey
/** User who created the update. */
4: string user
4: optional string user
/** Set of update statuses. */
5: set<JobUpdateStatus> updateStatuses
5: optional set<JobUpdateStatus> updateStatuses
/** Offset to serve data from. Used by pagination. */
6: i32 offset
@ -888,6 +893,9 @@ struct GetPendingReasonResult {
struct StartJobUpdateResult {
/** Unique identifier for the job update. */
1: JobUpdateKey key
/** Summary of the update that is in progress for the given JobKey. */
2: optional JobUpdateSummary updateSummary
}
/** Result of the getJobUpdateSummaries call. */
@ -897,7 +905,9 @@ struct GetJobUpdateSummariesResult {
/** Result of the getJobUpdateDetails call. */
struct GetJobUpdateDetailsResult {
// TODO(zmanji): Remove this once we complete AURORA-1765
1: JobUpdateDetails details
2: list<JobUpdateDetails> detailsList
}
/** Result of the pulseJobUpdate call. */
@ -1023,7 +1033,8 @@ service ReadOnlyScheduler {
Response getJobUpdateSummaries(1: JobUpdateQuery jobUpdateQuery)
/** Gets job update details. */
Response getJobUpdateDetails(1: JobUpdateKey key)
// TODO(zmanji): `key` is deprecated, remove this with AURORA-1765
Response getJobUpdateDetails(2: JobUpdateQuery query)
/** Gets the diff between client (desired) and server (current) job states. */
Response getJobUpdateDiff(1: JobUpdateRequest request)
@ -1148,6 +1159,10 @@ struct RewriteConfigsRequest {
1: list<ConfigRewrite> rewriteCommands
}
struct ExplicitReconciliationSettings {
1: optional i32 batchSize
}
// It would be great to compose these services rather than extend, but that won't be possible until
// https://issues.apache.org/jira/browse/THRIFT-66 is resolved.
service AuroraAdmin extends AuroraSchedulerManager {
@ -1207,6 +1222,12 @@ service AuroraAdmin extends AuroraSchedulerManager {
* that the caller take care to provide valid input and alter only necessary fields.
*/
Response rewriteConfigs(1: RewriteConfigsRequest request)
/** Tell scheduler to trigger an explicit task reconciliation with the given settings. */
Response triggerExplicitTaskReconciliation(1: ExplicitReconciliationSettings settings)
/** Tell scheduler to trigger an implicit task reconciliation. */
Response triggerImplicitTaskReconciliation()
}
// The name of the header that should be sent to bypass leader redirection in the Scheduler.