Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-40775: [Benchmarking][Java] Fix conbench timeout #40786

Merged
merged 16 commits into from
Apr 5, 2024

Conversation

danepitkin
Copy link
Member

@danepitkin danepitkin commented Mar 25, 2024

Rationale for this change

The java build script has been recently updated and it is affecting conbench, which is now seeing timeouts when building java. The logs are producing 100s of GB of data due to an unnecessary debug log msg.

What changes are included in this PR?

  • Delete log message on write to memory

Are these changes tested?

Yes, via conbench

Are there any user-facing changes?

No

Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

In the case of PARQUET issues on JIRA the title also supports:

PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

See also:

@github-actions github-actions bot added the awaiting review Awaiting review label Mar 25, 2024
@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Mar 25, 2024

Benchmark runs are scheduled for commit 17abf85. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 17abf85.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

@@ -48,3 +48,4 @@ PARQUET_BUILD_EXAMPLES=ON
PARQUET_BUILD_EXECUTABLES=ON
PYTHON=python
LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH
JAVA_OPTIONS=-Xmx8G
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@danepitkin just curious, should we set Xms as well?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, would it be possible to make this CLI args? Just curious.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Xms, I don't think it's necessary.

This can be passed in as cli args, too! We can add it as --java-options -Xmx8G in a different repo here: https://github.com/voltrondata-labs/benchmarks/blob/231078e715001c32d2f4ef2ffca27abb4625fd21/benchmarks/java_micro_benchmarks.py#L47-L58

For now, I'm using this method just to test more easily.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for trying this out, @danepitkin 🙂 If it turns out that tweaking the environment configuration fixes the error, I think leaving that configuration here (in the dev/conbench_envs location, which is only used by the Ursa machine) is the best choice.

Reason is we support running the voltrondata-labs/benchmarks in other locations too, like local development, so I wouldn't want to always clobber the memory options of users' machines with a CLI arg there.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me! Isolating the fix to the smallest scope is the preferred option IMO.

@github-actions github-actions bot added awaiting committer review Awaiting committer review and removed awaiting review Awaiting review labels Mar 26, 2024
@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Mar 26, 2024

Benchmark runs are scheduled for commit 6658872. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Mar 26, 2024

Benchmark runs are scheduled for commit 97df26b. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

@danepitkin
Copy link
Member Author

Just noting here that setting java max heap size to 8GB throws


Exception in thread "CommonsExecStreamPumper-pool-9-thread-2" java.lang.OutOfMemoryError: Java heap space
--
  | at java.lang.StringCoding.decode(StringCoding.java:215)
  | at java.lang.String.<init>(String.java:463)
  | at java.lang.String.<init>(String.java:515)
  | at com.gradle.d.a.a.a(SourceFile:83)
  | at com.gradle.d.a.a.flush(SourceFile:78)
  | at com.gradle.d.a.a.write(SourceFile:72)
  | at java.io.PrintStream.write(PrintStream.java:480)
  | at com.gradle.d.a.b.write(SourceFile:203)
  | at org.apache.commons.exec.StreamPumper.run(StreamPumper.java:112)
  | at java.lang.Thread.run(Thread.java:750)

but increasing max heap size to 16GB throws


Exception in thread "CommonsExecStreamPumper-pool-9-thread-2" java.lang.OutOfMemoryError: GC overhead limit exceeded
--
  | at java.util.Arrays.copyOf(Arrays.java:3236)
  | at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191)
  | at com.gradle.d.a.a.flush(SourceFile:78)
  | at com.gradle.d.a.a.write(SourceFile:72)
  | at java.io.PrintStream.write(PrintStream.java:480)
  | at com.gradle.d.a.b.write(SourceFile:203)
  | at org.apache.commons.exec.StreamPumper.run(StreamPumper.java:112)
  | at java.lang.Thread.run(Thread.java:750)

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 6658872.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Mar 26, 2024

Benchmark runs are scheduled for commit 3d98b4a. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 97df26b.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 3d98b4a.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

@danepitkin danepitkin changed the title WIP: Fix conbench timeout for java benchmarks GH-40775: Fix conbench timeout for java benchmarks Mar 27, 2024
Copy link

⚠️ GitHub issue #40775 has been automatically assigned in GitHub to PR creator.

@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Apr 4, 2024

Benchmark runs are scheduled for commit 7fafa78. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 1 benchmarking run that has been run so far on PR commit 7fafa78.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Apr 4, 2024

Benchmark runs are scheduled for commit 7f2a480. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

@danepitkin
Copy link
Member Author

@ursabot please benchmark lang=Java

@ursabot
Copy link

ursabot commented Apr 4, 2024

Benchmark runs are scheduled for commit a09d83c. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 7f2a480.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

Copy link

Thanks for your patience. Conbench analyzed the 1 benchmarking run that has been run so far on PR commit a09d83c.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

result);
result);
}

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@danepitkin
Copy link
Member Author

@kou @vibhatha this is ready for final review!

@lidavidm
Copy link
Member

lidavidm commented Apr 4, 2024

@danepitkin mind updating the PR description now that the approach is different?

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Apr 4, 2024
@danepitkin
Copy link
Member Author

@danepitkin mind updating the PR description now that the approach is different?

Agh, good catch. Done!

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@kou kou merged commit 139afe5 into apache:main Apr 5, 2024
19 checks passed
@kou kou removed the awaiting merge Awaiting merge label Apr 5, 2024
Copy link

After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 139afe5.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

tolleybot pushed a commit to tmct/arrow that referenced this pull request May 2, 2024
### Rationale for this change

The java build script has been recently updated and it is affecting conbench, which is now seeing timeouts when building java. The logs are producing 100s of GB of data due to an unnecessary debug log msg.

### What changes are included in this PR?

* Delete log message on write to memory

### Are these changes tested?

Yes, via conbench

### Are there any user-facing changes?

No
* GitHub Issue: apache#40775

Authored-by: Dane Pitkin <dane@voltrondata.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
vibhatha pushed a commit to vibhatha/arrow that referenced this pull request May 25, 2024
### Rationale for this change

The java build script has been recently updated and it is affecting conbench, which is now seeing timeouts when building java. The logs are producing 100s of GB of data due to an unnecessary debug log msg.

### What changes are included in this PR?

* Delete log message on write to memory

### Are these changes tested?

Yes, via conbench

### Are there any user-facing changes?

No
* GitHub Issue: apache#40775

Authored-by: Dane Pitkin <dane@voltrondata.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants