Skip to content

[FLINK-36779][table] Fix metric is incorrect and non-changing during the time in Rank#28118

Open
Au-Miner wants to merge 1 commit intoapache:masterfrom
Au-Miner:fix/36779
Open

[FLINK-36779][table] Fix metric is incorrect and non-changing during the time in Rank#28118
Au-Miner wants to merge 1 commit intoapache:masterfrom
Au-Miner:fix/36779

Conversation

@Au-Miner
Copy link
Copy Markdown
Contributor

@Au-Miner Au-Miner commented May 6, 2026

What is the purpose of the change

Fix the topn.cache.size and topn.cache.hitRate metrics in TopN operators, which were frozen at their initial values and never reflected the live cache state.

Brief change log

  • Change AbstractTopNFunction#registerMetric to accept LongSupplier instead of long, so the registered Gauge lambdas read the current values on every poll instead of capturing a snapshot at registration time.
  • Update AppendOnlyTopNHelper, FastTop1Helper and UpdatableTopNFunction call sites to pass suppliers.

Verifying this change

Added a shared helper testCacheMetricsReflectLiveState in TopNFunctionTestBase and overrides in AppendOnlyTopNFunctionTest, FastTop1FunctionTest and UpdatableTopNFunctionTest that assert the topn.cache.size gauge increases after records are processed.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

找到具有 1 个许可证类型的类似代码

@Au-Miner Au-Miner marked this pull request as ready for review May 6, 2026 03:27
@flinkbot
Copy link
Copy Markdown
Collaborator

flinkbot commented May 6, 2026

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants