Skip to content

[Bug] table_streams still shows dropped base table name after base table is dropped #65389

Description

@MoanasDaddyXu

Search before asking

  • I had searched in the issues and found no similar issues.

Version

Reproduced with the table stream regression case on local Doris HEAD d4a077caf8a.

Test environment:

regression-test/suites/table_stream_p0/test_table_stream_base_table_unavailable.groovy
remote log: /mnt/disk1/jianxu/case_output/doris/testrun/table_stream_p0_20260708/test_table_stream_base_table_unavailable.retry2.log
FE: 172.20.49.4:9030

What's Wrong?

After a stream is created on a base table, dropping the base table does not make information_schema.table_streams report the base table as unavailable.

The regression case expects the stream to remain listed while the base table columns are reported as N/A. However, BASE_TABLE_NAME still returns the dropped table name.

Actual assertion:

expected: <N/A> but was: <base_drop>

What You Expected?

After dropping the base table, information_schema.table_streams should reflect that the stream's base table is unavailable, for example:

BASE_TABLE_NAME = N/A
BASE_TABLE_DB   = N/A

How to Reproduce?

Regression case:

regression-test/suites/table_stream_p0/test_table_stream_base_table_unavailable.groovy

Minimal flow:

CREATE TABLE base_drop (
    k1 INT,
    v1 INT
)
DUPLICATE KEY(k1)
DISTRIBUTED BY HASH(k1) BUCKETS 1
PROPERTIES (
    "replication_num" = "1",
    "binlog.enable" = "true",
    "binlog.format" = "ROW"
);

CREATE STREAM s_drop ON TABLE base_drop
PROPERTIES ("type" = "append_only");

DROP TABLE base_drop FORCE;

SELECT BASE_TABLE_NAME, BASE_TABLE_DB, BASE_TABLE_CTL, BASE_TABLE_TYPE,
       IS_STALE, STALE_REASON
FROM information_schema.table_streams
WHERE DB_NAME = 'test_table_stream_base_unavail_db'
  AND STREAM_NAME = 's_drop';

Regression Test Result

suite: test_table_stream_base_table_unavailable
expected BASE_TABLE_NAME: N/A
actual BASE_TABLE_NAME: base_drop

Log excerpt:

Execute sql: DROP TABLE base_drop FORCE
Execute sql:
    select BASE_TABLE_NAME, BASE_TABLE_DB, BASE_TABLE_CTL, BASE_TABLE_TYPE,
           IS_STALE, STALE_REASON
    from information_schema.table_streams
    where DB_NAME = 'test_table_stream_base_unavail_db' and STREAM_NAME = 's_drop'
org.opentest4j.AssertionFailedError: expected: <N/A> but was: <base_drop>

Anything Else?

Tracking issue: #65265

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions