Skip to content

[server] Oversized lake metadata causes Coordinator disconnections from ZooKeeper and ISR update failures #4335

Description

@hanliu0830

Search before asking

  • I searched in the issues and found nothing similar.

Fluss version

0.9.0 (latest release)

Please describe the bug 🐞

Environment: Paimon lake tiering with deletion vectors (DV) enabled on the affected table; Fluss on Kubernetes; a three-node ZooKeeper 3.8.4 ensemble on VMs. The Coordinator runs on Linux amd64 with Java 17.0.7.

Observed trigger: During production lake tiering, historical lake snapshot metadata kept accumulating under /<cluster>/tabletservers/tables/<table-id>/laketable. The node held 5,091 snapshot entries (1,048,318 bytes). The next complete setData request was 1,048,596 bytes, exceeding the ZooKeeper server's jute.maxbuffer=1048575.

Expected: Lake snapshot commits complete successfully and ISR updates remain stable.

Actual: ZooKeeper repeatedly closed the Coordinator connection. The Coordinator reported SUSPENDED and lost leadership; Tablets reported NOT_COORDINATOR_LEADER_EXCEPTION when updating ISR. All three ZooKeeper servers logged the following error (address redacted):

java.io.IOException: Len error. A message from <coordinator-address> with advertised length of 1048596 is either a malformed message or too large to process (length is greater than jute.maxbuffer=1048575)

After ZooKeeper connectivity recovered, Tablets continued reporting OPERATION_NOT_ATTEMPTED_EXCEPTION during ISR updates. These failures stopped after the Coordinator was restarted.

Solution

We recovered the cluster with the following temporary workaround:

  1. Set -Djute.maxbuffer=104857600 on all three ZooKeeper servers and restart them one at a time.
  2. Restart the Coordinator, as ISR failures persisted after ZooKeeper connectivity recovered.
  3. Restart the lake tiering job.

ISR updates and lake snapshot commits resumed. No TabletServer restart was needed. Increasing the buffer limit restored service but did not resolve the metadata accumulation.

Related documentation issues:

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions