apache / apache/rocketmq-externals

[rocketmq-connect-runtime] Lifecycle management version 2 proposal

Open
#609 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
4.6k
Forks
3k
Avg merge
2h 33m
Merged PRs (30d)
1

Description

**FEATURE REQUEST**

**1. Please describe the feature you are requesting.**

1. Currently the RocketMQ connect runtime supports 6 task state : NEW, PENDING, RUNNING, STOPPING, STOPPED, ERROR. But we need a FINISH state so we know that the task has completed normally.

2. We need a mechanism to detect the progress of a running task. Otherwise a running task could be in RUNNING state forever without making any progress.

3. The runtime and connectors are coupled. The runtime needs connectors to implement reconfigure() and taskConfigs() to complete certain lifecycles. This means we need to carefully monitor the code paths where these functions are invoked, perhaps like what we've done for task states. This means that connector lifecycle management could be even more complex.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by mapping the runtime lifecycle implementation and connector lifecycle paths, focusing on the existing task states and the reconfigure() and taskConfigs() entry points named in the proposal. Review how progress is currently observed and how these calls affect state transitions. Done means a clear version 2 design covering FINISH, progress detection, and runtime-connector lifecycle coupling.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.