Investigate empty or corrupt Jacoco execution data file from Azure CI Job 1 FT
- Dominant language
- Java
- Stars
- 6.2k
- Forks
- 2.5k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 111
Description
The merging of Jacoco execution data files fail because the file is corrupt from Azure CI Job 1 FT. The merge can succeed when the file is empty, which is also abnormal.
{code:java}
-rw-r--r-- 1 vsts docker 1126236 Mar 8 20:32 /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco1.exec
-rw-r--r-- 1 vsts docker 1880 Mar 8 20:50 /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco2.exec
[INFO] Loading execution data file /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco1.exec.
[INFO] Loading execution data file /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco2.exec.
Exception in thread "main" java.io.EOFException
at java.base/java.io.DataInputStream.readByte(DataInputStream.java:272)
at org.jacoco.cli.internal.core.internal.data.CompactDataInput.readBooleanArray(CompactDataInput.java:64)
at org.jacoco.cli.internal.core.data.ExecutionDataReader.readExecutionData(ExecutionDataReader.java:150)
at org.jacoco.cli.internal.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:116)
at org.jacoco.cli.internal.core.data.ExecutionDataReader.read(ExecutionDataReader.java:93)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:60)
at org.jacoco.cli.internal.core.tools.ExecFileLoader.load(ExecFileLoader.java:74)
at org.jacoco.cli.internal.commands.Merge.loadExecutionData(Merge.java:61)
at org.jacoco.cli.internal.commands.Merge.execute(Merge.java:45)
at org.jacoco.cli.internal.Main.execute(Main.java:90)
at org.jacoco.cli.internal.Main.main(Main.java:105)
{code}
{code:java}
Hudi source directory: /home/vsts/work/1/s
-rw-r--r-- 1 vsts docker 1126064 Mar 6 04:42 /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco1.exec
-rw-r--r-- 1 vsts docker 0 Mar 6 04:42 /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco2.exec
[INFO] Loading execution data file /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco1.exec.
[INFO] Loading execution data file /home/vsts/work/1/s/hudi-client/hudi-spark-client/target/jacoco-agent/jacoco2.exec.
[INFO] Writing execution data to /home/vsts/work/1/s/merged-jacoco.exec.
Jacoco merge succeeded on attempt 1
{code}
## JIRA info
- Link: https://issues.apache.org/jira/browse/HUDI-9143
- Type: Sub-task
- Parent: https://issues.apache.org/jira/browse/HUDI-9015
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by examining the Azure CI Job 1 FT artifacts under hudi-client/hudi-spark-client/target/jacoco-agent/, especially jacoco1.exec and jacoco2.exec, and review the Jacoco merge output shown in the issue. Done means identifying and reproducing why the execution data is empty or corrupt and recording a confirmed explanation for the merge failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, java
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100