apache / apache/fluss

[test] TableManagerITCase.testMetadataWithPartition fails on macOS arm64

Open
#3,619 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.1k
Forks
625
Avg merge
3d 14h
Merged PRs (30d)
97

Description

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar.

### Fluss version

main (development)

### Please describe the bug 🐞

`TableManagerITCase.testMetadataWithPartition` fails consistently for me when run locally on macOS arm64 against `main`.

The failure happens in the second parameterized invocation, corresponding to `isCoordinatorServer=false`, while waiting for partition bucket `LeaderAndIsr` metadata in ZooKeeper:

```text
TableManagerITCase.testMetadataWithPartition:600
Expecting Optional to contain a value but it was empty.

at org.apache.fluss.server.testutils.FlussClusterExtension.waitUntilAllReplicaReady(...)
```

I also tested a clean local main checkout/export and reproduced the same failure there, so this does not appear related to my feature branch.

The same targeted test passes when run inside a Linux Docker container using maven:3.9.9-eclipse-temurin-11, so this looks like a macOS arm64-specific local test/environment issue.

The README lists Mac OS X as a supported Unix-like build environment, so this may be worth tracking even if CI/self-hosted Linux passes.

### Solution

No confirmed fix yet.

A useful first step would be to determine whether `TableManagerITCase.testMetadataWithPartition` is expected to pass on macOS arm64. If Linux is the intended validation environment for server integration tests, the project could document that more explicitly or provide a lightweight Docker-based Maven test helper for contributors.

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with TableManagerITCase.testMetadataWithPartition around line 600 and the FlussClusterExtension.waitUntilAllReplicaReady failure, then run the targeted test on macOS arm64 and in the Linux Docker environment described. Determine whether the test is expected to pass on macOS arm64; done means the platform behavior is explained and the test passes or the supported validation environment is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, macos
Domain
distributed-systems, operating-systems, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.