Skip to content

[Improvement-18249][DAO] Route TaskInstanceMapper access through TaskInstanceDao#18252

Open
ruanwenjun wants to merge 1 commit into
apache:devfrom
ruanwenjun:dao/task-instance
Open

[Improvement-18249][DAO] Route TaskInstanceMapper access through TaskInstanceDao#18252
ruanwenjun wants to merge 1 commit into
apache:devfrom
ruanwenjun:dao/task-instance

Conversation

@ruanwenjun
Copy link
Copy Markdown
Member

Was this PR generated or assisted by AI?

YES, ops 4.7

Purpose of the pull request

Tracking issue: #18249

Expose the methods the api layer needs on TaskInstanceDao (countTaskInstanceStateByProjectCodes, queryByWorkflowInstanceIdsAndTaskCodes, queryTaskInstanceListPaging, queryStreamTaskInstanceListPaging) and replace every direct TaskInstanceMapper reference in dolphinscheduler-api with the Dao, so Mapper usage stays inside dolphinscheduler-dao.repository as documented in dolphinscheduler-dao/CLAUDE.md.

Notes:

  • selectById was replaced with the IDao#queryById equivalent. The Mapper's queryByInstanceIdAndCode is exposed on the Dao as the more descriptive queryByWorkflowInstanceIdAndTaskCode (already present); api callers were updated to the new name.
  • The Mapper's findValidTaskListByWorkflowInstanceId(id, Flag) is collapsed on the Dao to queryValidTaskListByWorkflowInstanceId(id), which already hard-codes Flag.YES. All current api callers passed Flag.YES so they drop the argument.
  • BaseDao#updateById returns boolean where the Mapper returned int; the affected call site in TaskInstanceServiceImpl#forceTaskSuccess (int changedNum = ...; if (changedNum <= 0) {...}) was refactored to boolean changed = ...; if (!changed) {...}.

No production behavior changes; the Mapper interface itself is untouched.

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.

(or)

This pull request is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(or)

Pull Request Notice

Pull Request Notice

If your pull request contains incompatible change, you should also add it to docs/docs/en/guide/upgrade/incompatible.md

…InstanceDao

Tracking issue: apache#18249

Expose the methods the api layer needs on TaskInstanceDao
(countTaskInstanceStateByProjectCodes, queryByWorkflowInstanceIdsAndTaskCodes,
queryTaskInstanceListPaging, queryStreamTaskInstanceListPaging) and replace
every direct TaskInstanceMapper reference in dolphinscheduler-api with the Dao,
so Mapper usage stays inside dolphinscheduler-dao.repository as documented in
dolphinscheduler-dao/CLAUDE.md.

Notes:
- selectById was replaced with the IDao#queryById equivalent. The Mapper's
  queryByInstanceIdAndCode is exposed on the Dao as the more descriptive
  queryByWorkflowInstanceIdAndTaskCode (already present); api callers were
  updated to the new name.
- The Mapper's findValidTaskListByWorkflowInstanceId(id, Flag) is collapsed on
  the Dao to queryValidTaskListByWorkflowInstanceId(id), which already
  hard-codes Flag.YES. All current api callers passed Flag.YES so they drop
  the argument.
- BaseDao#updateById returns boolean where the Mapper returned int; the
  affected call site in TaskInstanceServiceImpl#forceTaskSuccess
  (int changedNum = ...; if (changedNum <= 0) {...}) was refactored to
  boolean changed = ...; if (!changed) {...}.

No production behavior changes; the Mapper interface itself is untouched.
@ruanwenjun ruanwenjun self-assigned this May 12, 2026
@ruanwenjun ruanwenjun added this to the 3.4.2 milestone May 12, 2026
@ruanwenjun ruanwenjun added backend improvement make more easy to user or prompt friendly refactor labels May 12, 2026
@github-actions github-actions Bot added the test label May 12, 2026
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 60%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend improvement make more easy to user or prompt friendly refactor test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant