Open xxchan opened 1 month ago
Since https://github.com/risingwavelabs/risingwave/pull/17503, we've already broadcast all table catalogs (including both internal tables and the MV) to the frontend immediately when meta starts the creating procedure. You can verify this by SHOW INTERNAL TABLES
.
Selecting from internal tables is intentionally disabled, by only resolving the "created" table during binding.
However, as described in #18944, the catalogs received by the frontend during creation are incomplete, with fields like fragment_id
or vnode_count
not correctly filled. Performing batch scan during this period may lead to problem.
Perhaps this is the real motivation for the refactor of only notifying the complete catalogs once to the frontends, which is the original idea of #18944:
However, as described in #18944, the catalogs received by the frontend during creation are incomplete, with fields like
fragment_id
orvnode_count
not correctly filled. Performing batch scan during this period may lead to problem.Perhaps this is the real motivation for the refactor of only notifying the complete catalogs once to the frontends, which is the original idea of #18944:
I suppose your proposal is to notify the catalogs to frontend, once the TableFragments are built, since only at that time the fragment_id and vnode_count will be correct. Sounds reasonable to me. Wdyt @yezizp2012.
This can allow us to expose the internal state table of backfill for querying.
Tracked this issue as part of: https://github.com/risingwavelabs/risingwave/issues/19084. To allow better management of stream job creation.
Currently we hide both MV and their state tables during backfilling. However, I think there's no need to hide the state tables:
related:
SHOW JOBS
(another observability tool) https://github.com/risingwavelabs/risingwave/pull/18925#issuecomment-2425430299