bytedance / bitsail

BitSail is a distributed high-performance data integration engine which supports batch, streaming and incremental scenarios. BitSail is widely used to synchronize hundreds of trillions of data every day.
https://bytedance.github.io/bitsail/
Apache License 2.0
1.62k stars 330 forks source link

[Bitsail][Test] The HBase docker image used in testcases for legacy HBase connectors is not compatible with Apple chip(Arm64) #311

Open raymondnimeng opened 1 year ago

raymondnimeng commented 1 year ago

Describe the bug

A clear and concise description of what the bug is.

The HBase docker image (jcjabouille/hbase-standalone:2.4.9) used in testcases for legacy HBase connectors is not compatible with Apple chip(Arm64) - It cannot start the HBase connectors.

Failed testcases are: HBaseOutputFormatITCase and HBaseInputFormatITCase.

These testcases ran successfully on Intel chip.

To Reproduce

Run HBaseOutputFormatITCase or HBaseInputFormatITCase on a machine with Apple Silicon (e.g. Macbook pro 16 inch)

Error messages: org.testcontainers.containers.ContainerLaunchException: Container startup failed

at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:349)
at com.bytedance.bitsail.test.connector.test.testcontainers.hbase.HbaseContainer.doStart(HbaseContainer.java:67)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322)
at com.bytedance.bitsail.test.connector.test.testcontainers.hbase.HbaseCluster.startService(HbaseCluster.java:54)

... Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88) at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:334) ... 33 more Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:542) at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:344) at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81) ... 34 more Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for log output matching '.0 row.' at org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy.waitUntilReady(LogMessageWaitStrategy.java:47) at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52) at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:953) at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:485) ... 36 more

Expected behavior

Testcases should be able to run and pass.

Build Environment

Describe the environment where the test project was build. Macbook pro, Chip: Apple M1 Pro macOS: Ventura 13.0

Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29) Maven home: /opt/homebrew/Cellar/maven/3.8.7/libexec Java version: 1.8.0_352, vendor: Azul Systems, Inc., runtime: /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "13.0", arch: "aarch64", family: "mac"

Execution Environment

Same as above

garyli1019 commented 1 year ago

Hi @raymondnimeng , are you working on fixing this issue? If so, I can assign this to you, otherwise, I may add a help wanted tag.

raymondnimeng commented 1 year ago

Yes I can work on this issue.

lichang-bd commented 1 year ago

what the status of this task, look forward for your fixed @raymondnimeng