Skip to content

branch-4.0: [feat](load) introduce load job system table (#57421) - #58850

Merged
yiguolei merged 1 commit into
apache:branch-4.0from
sollhui:pick_34f472b
Dec 11, 2025
Merged

branch-4.0: [feat](load) introduce load job system table (#57421)#58850
yiguolei merged 1 commit into
apache:branch-4.0from
sollhui:pick_34f472b

Conversation

@sollhui

Copy link
Copy Markdown
Contributor

pick #57421

Introduce load job statistic system table:

mysql> show create table information_schema.load_jobs\G
*************************** 1. row ***************************
Table: load_jobs
Create Table: CREATE TABLE `load_jobs` (
`JOB_ID` text NULL,
`LABEL` text NULL,
`STATE` text NULL,
`PROGRESS` text NULL,
`TYPE` text NULL,
`ETL_INFO` text NULL,
`TASK_INFO` text NULL,
`ERROR_MSG` text NULL,
`CREATE_TIME` text NULL,
`ETL_START_TIME` text NULL,
`ETL_FINISH_TIME` text NULL,
`LOAD_START_TIME` text NULL,
`LOAD_FINISH_TIME` text NULL,
`URL` text NULL,
`JOB_DETAILS` text NULL,
`TRANSACTION_ID` text NULL,
`ERROR_TABLETS` text NULL,
`USER` text NULL,
`COMMENT` text NULL,
`FIRST_ERROR_MSG` text NULL
) ENGINE=SCHEMA;
1 row in set (0.01 sec)

User can use the select * from information_schema.load_jobs instead of the show load. The advantage is that SQL can be very flexible in locating jobs.

Example:

mysql> SELECT * FROM information_schema.load_jobs WHERE LABEL = 'test_load_job_label_b5347e94f2614e2c92705d6a6824a380'\G
*************************** 1. row ***************************
JOB_ID: 1761643165987
LABEL: test_load_job_label_b5347e94f2614e2c92705d6a6824a380
STATE: FINISHED
PROGRESS: Unknown id: 1761643165987
TYPE: INSERT
ETL_INFO: \N
TASK_INFO: cluster:N/A; timeout(s):14400; max_filter_ratio:0.0
ERROR_MSG: \N
CREATE_TIME: 2025-10-28 17:23:08
ETL_START_TIME: 2025-10-28 17:23:08
ETL_FINISH_TIME: 2025-10-28 17:23:08
LOAD_START_TIME: 2025-10-28 17:23:08
LOAD_FINISH_TIME: 2025-10-28 17:23:09
URL:
JOB_DETAILS: {"ScannedRows":1,"LoadBytes":25,"FileNumber":0,"FileSize":0,"TaskNumber":1,"Unfinished backends":[],"All backends":[1754377661179]}
TRANSACTION_ID: 72076
ERROR_TABLETS: {}
USER: root
COMMENT:
FIRST_ERROR_MSG:

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

Introduce load job statistic system table:
```
mysql> show create table information_schema.load_jobs\G
*************************** 1. row ***************************
Table: load_jobs
Create Table: CREATE TABLE `load_jobs` (
`JOB_ID` text NULL,
`LABEL` text NULL,
`STATE` text NULL,
`PROGRESS` text NULL,
`TYPE` text NULL,
`ETL_INFO` text NULL,
`TASK_INFO` text NULL,
`ERROR_MSG` text NULL,
`CREATE_TIME` text NULL,
`ETL_START_TIME` text NULL,
`ETL_FINISH_TIME` text NULL,
`LOAD_START_TIME` text NULL,
`LOAD_FINISH_TIME` text NULL,
`URL` text NULL,
`JOB_DETAILS` text NULL,
`TRANSACTION_ID` text NULL,
`ERROR_TABLETS` text NULL,
`USER` text NULL,
`COMMENT` text NULL,
`FIRST_ERROR_MSG` text NULL
) ENGINE=SCHEMA;
1 row in set (0.01 sec)
```
User can use the `select * from information_schema.load_jobs` instead of
the `show load`. The advantage is that SQL can be very flexible in
locating jobs.
Example:
```
mysql> SELECT * FROM information_schema.load_jobs WHERE LABEL = 'test_load_job_label_b5347e94f2614e2c92705d6a6824a380'\G
*************************** 1. row ***************************
JOB_ID: 1761643165987
LABEL: test_load_job_label_b5347e94f2614e2c92705d6a6824a380
STATE: FINISHED
PROGRESS: Unknown id: 1761643165987
TYPE: INSERT
ETL_INFO: \N
TASK_INFO: cluster:N/A; timeout(s):14400; max_filter_ratio:0.0
ERROR_MSG: \N
CREATE_TIME: 2025-10-28 17:23:08
ETL_START_TIME: 2025-10-28 17:23:08
ETL_FINISH_TIME: 2025-10-28 17:23:08
LOAD_START_TIME: 2025-10-28 17:23:08
LOAD_FINISH_TIME: 2025-10-28 17:23:09
URL:
JOB_DETAILS: {"ScannedRows":1,"LoadBytes":25,"FileNumber":0,"FileSize":0,"TaskNumber":1,"Unfinished backends":[],"All backends":[1754377661179]}
TRANSACTION_ID: 72076
ERROR_TABLETS: {}
USER: root
COMMENT:
FIRST_ERROR_MSG:
```
@sollhui

Copy link
Copy Markdown
ContributorAuthor

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@doris-robot

Copy link
Copy Markdown

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

CategoryCoverage
Function Coverage82.14% (1573/1915)
Line Coverage67.18% (28078/41794)
Region Coverage67.75% (13820/20399)
Branch Coverage58.16% (7366/12666)

@doris-robot

Copy link
Copy Markdown

BE UT Coverage Report

Increment line coverage 0.00% (0/120) 🎉

Increment coverage report
Complete coverage report

CategoryCoverage
Function Coverage53.17% (18350/34514)
Line Coverage38.75% (168690/435319)
Region Coverage33.55% (130608/389314)
Branch Coverage34.42% (56293/163557)

@github-actionsgithub-actionsBot added the approved Indicates a PR has been approved by one committer. label Dec 11, 2025
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@yiguolei
yiguolei merged commit bf22d3d into apache:branch-4.0Dec 11, 2025
23 of 27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by one committer.reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@sollhui@hello-stephen@doris-robot@yiguolei