feat(worker): add WORKER_DISCONNECT_REQUESTED event and dispatcher eviction#16883
Open
fhussonnois wants to merge 1 commit into
Open
feat(worker): add WORKER_DISCONNECT_REQUESTED event and dispatcher eviction#16883fhussonnois wants to merge 1 commit into
fhussonnois wants to merge 1 commit into
Conversation
71756d1 to
0a773ee
Compare
…iction Add a WORKER_DISCONNECT_REQUESTED cluster event and WorkerJobDispatcher#evictWorker(workerId), which unregisters a worker and closes its stream. The dispatcher handles the event by evicting the named worker (no-op if it is not connected here); the worker must reconnect and re-authenticate.
0a773ee to
427a1d0
Compare
Contributor
📄 OpenAPI Spec ChangesSpec generated with EE branch 3951a3952,3989
> /api/v1/{tenant}/apps/preview/dispatch/{dispatch}:
> post:
> tags:
> - Apps
> summary: Dispatch for the given app source (preview).
> operationId: previewDispatchApp
> parameters:
> - name: dispatch
> in: path
> description: The ID to dispatch
> required: true
> schema:
> type: string
> - name: tenant
> in: path
> required: true
> schema:
> type: string
> requestBody:
> description: The app source (part '__kestra_app_source__') and the dispatch
> data
> content:
> multipart/form-data:
> schema:
> type: array
> items:
> type: string
> format: binary
> responses:
> "200":
> description: previewDispatchApp 200 response
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/AppResponse"
> security:
> - bearerAuth: []
> - basicAuth: []
6883c6921
< description: deleteExecutionsByQuery 200 response
---
> description: On success
6887c6925,6931
< type: object
---
> $ref: "#/components/schemas/BulkResponse"
> "422":
> description: Deleted with errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
6937c6981
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
6977a7022,7027
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
6983c7033
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7153c7203
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7186a7237,7242
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7192c7248
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7235c7291
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7262a7319,7330
> "202":
> description: Accepted
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7268c7336
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7309c7377
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7351a7420,7425
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7357c7431
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7488c7562
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7521a7596,7601
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7527c7607
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7578c7658
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7620a7701,7706
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7626c7712
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7669c7755
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7702a7789,7794
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7708c7800
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7751c7843
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7784a7877,7882
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7790c7888
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7913c8011
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
7954a8053,8058
> "400":
> description: Validation errors
> content:
> application/json:
> schema:
> $ref: "#/components/schemas/BulkErrorResponse"
7960c8064
< type: object
---
> $ref: "#/components/schemas/ApiAsyncOperationResponse"
9444c9548
< description: deleteFlowsByIds 200 response
---
> description: On success
9476c9580
< description: deleteFlowsByQuery 200 response
---
> description: On success
9538c9642
< description: disableFlowsByIds 200 response
---
> description: On success
9570c9674
< description: disableFlowsByQuery 200 response
---
> description: On success
9632c9736
< description: enableFlowsByIds 200 response
---
> description: On success
9664c9768
< description: enableFlowsByQuery 200 response
---
> description: On success
14245c14349
< description: getTaskRunOutputs 200 response
---
> description: The task run outputs as a map of output names to their values
14250,14251c14354
< additionalProperties:
< type: object
---
> additionalProperties: true
16712c16815
< description: If the trigger is already unlocked
---
> description: If the trigger is already unlocked or is a realtime trigger
17113a17217,17218
> description: The operation identifier used to correlate logs and progress
> indicators
17115a17221
> description: The number of domain events submitted for asynchronous processing
17837a17944,17945
> kind:
> $ref: "#/components/schemas/TriggerType"
18733a18842
> description: The error message
18735a18845
> description: The list of items that failed validation
18740a18851
> description: The number of items successfully processed
24211a24323,24328
> TriggerType:
> type: string
> enum:
> - SCHEDULE
> - POLLING
> - REALTIME🐋 Docker imagedocker run --pull=always --rm -it -p 8080:8080 --user=root -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp ghcr.io/kestra-io/kestra-pr:16883 server local🧪 Java Unit Tests
|
|||||||||||||||||||||
Contributor
Tests report quick summary:failed ❌ > tests: 6977, success: 6956, skipped: 20, failed: 1 (🔄 6977 executed, 📦 0 from cache)
Failed tests:scheduler > io.kestra.scheduler.DefaultSchedulerTest > shouldStopAndRestartSchedulingLoopWhenEnteringAndExitingMaintenanceMode() failed ❌ in 6.214Develocity build scan: https://develocity.kestra.io/s/po6j6yhfxnn6y Flaky tests report quick summary:success ✅ > tests: 13, success: 13, skipped: 0, failed: 0 unfold for details
|
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a WORKER_DISCONNECT_REQUESTED cluster event and WorkerJobDispatcher#evictWorker(workerId), which unregisters a worker and closes its stream. The dispatcher handles the event by evicting the named worker (no-op if it is not connected here); the worker must reconnect and re-authenticate.