Hi community, I'd like to start a discussion on a new feature proposal: introducing "system tables" to Fluss.[1]
System tables are tables managed by the cluster itself that reflect internal cluster state and bookkeeping information. This concept is now well established across streaming and storage systems, like Kafka internal topics, PostgreSQL System Catalog[2] and System Views[3], StarRocks information_schema[4] and so on. It helps those systems in many aspects including metadata management, operations, and maintenance. This proposal is to introduce system tables into Fluss, like other systems already did. It may benefit our project in three key ways: 1. Durable storage for system-critical metadata — preparing for more features. such as consumer group offsets and capture DDL change events, persisted through Fluss's own log storage (LogTablet / KvTablet). 2. Operational visibility — exposing cluster runtime state (tablet server registrations, bucket ISR, tiering status) via standard SQL query interfaces for operators and downstream applications. 3. Future ZooKeeper migration — laying the groundwork to move ZooKeeper-held metadata into Fluss itself, reducing external dependencies. For more details, the full draft is available here: FIP-39 https://cwiki.apache.org/confluence/display/FLUSS/FIP-39%3A+Introduce+System+Tables I'd really look forward to any of your thoughts and suggestions. Any feedback is welcome. Links: [1] FIP-39 Introduce System Tables: https://cwiki.apache.org/confluence/display/FLUSS/FIP-39%3A+Introduce+System+Tables [2] PostgresSQL System Catalog doc: https://www.postgresql.org/docs/current/catalogs.html [3] PostgresSQL System View doc: https://www.postgresql.org/docs/current/views.html [4] StarRocks Information Schema doc: https://docs.starrocks.io/docs/sql-reference/information_schema/ Best Regards, Yang Guo
