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

[native] Advance Velox #21901

Merged
merged 1 commit into from
Feb 21, 2024
Merged

[native] Advance Velox #21901

merged 1 commit into from
Feb 21, 2024

Conversation

aditi-pandit
Copy link
Contributor

@aditi-pandit aditi-pandit commented Feb 11, 2024

== NO RELEASE NOTE ==

@aditi-pandit
Copy link
Contributor Author

@majetideepak

@aditi-pandit
Copy link
Contributor Author

@pramodsatya : The linux-presto-e2e-tests is failing with the following error. Shouldn't it be fixed by #21825 ? Can you take a look ?

[ERROR] java.lang.OutOfMemoryError: Compressed class space
[ERROR] Terminating due to java.lang.OutOfMemoryError: Compressed class space
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 59, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[WARNING] Corrupted channel by directly writing to native stream in forked JVM 1. See FAQ web page and the dump file /root/project/presto-native-execution/target/surefire-reports/2024-02-12T16-33-39_340-jvmRun1.dumpstream
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 08:57 min (Wall Clock)
[INFO] Finished at: 2024-02-12T16:42:32-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-test) on project presto-native-execution: 
[ERROR] 
[ERROR] Please refer to /root/project/presto-native-execution/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.awaitResultsDone(ForkStarter.java:513)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkPerTestSet(ForkStarter.java:460)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:327)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:269)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1334)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1167)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:931)
[ERROR]         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
[ERROR]         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR]         at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
[ERROR]         at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
[ERROR]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[ERROR]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[ERROR]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[ERROR]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[ERROR]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[ERROR]         at java.lang.Thread.run(Thread.java:750)
[ERROR] Caused by: org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:714)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.lambda$runSuitesForkPerTestSet$7(ForkStarter.java:449)
[ERROR]         ... 4 more
[ERROR] -> [Help 1]
[ERROR] 

@pramodsatya
Copy link
Contributor

pramodsatya commented Feb 13, 2024

@pramodsatya : The linux-presto-e2e-tests is failing with the following error. Shouldn't it be fixed by #21825 ? Can you take a look ?

[ERROR] java.lang.OutOfMemoryError: Compressed class space
[ERROR] Terminating due to java.lang.OutOfMemoryError: Compressed class space
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 59, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[WARNING] Corrupted channel by directly writing to native stream in forked JVM 1. See FAQ web page and the dump file /root/project/presto-native-execution/target/surefire-reports/2024-02-12T16-33-39_340-jvmRun1.dumpstream
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 08:57 min (Wall Clock)
[INFO] Finished at: 2024-02-12T16:42:32-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-test) on project presto-native-execution: 
[ERROR] 
[ERROR] Please refer to /root/project/presto-native-execution/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.awaitResultsDone(ForkStarter.java:513)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkPerTestSet(ForkStarter.java:460)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:327)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:269)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1334)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1167)
[ERROR]         at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:931)
[ERROR]         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
[ERROR]         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
[ERROR]         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR]         at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
[ERROR]         at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
[ERROR]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[ERROR]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[ERROR]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[ERROR]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[ERROR]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[ERROR]         at java.lang.Thread.run(Thread.java:750)
[ERROR] Caused by: org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd '/root/project/presto-native-execution' && '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/bin/java' '-Dfile.encoding=UTF-8' '-Xmx4g' '-Xms4g' '-XX:+ExitOnOutOfMemoryError' '-XX:+HeapDumpOnOutOfMemoryError' '-XX:-OmitStackTraceInFastThrow' '-jar' '/root/project/presto-native-execution/target/surefire/surefirebooter-20240212163340700_39.jar' '/root/project/presto-native-execution/target/surefire' '2024-02-12T16-33-39_340-jvmRun1' 'surefire-20240212163340700_37tmp' 'surefire_2-20240212163340700_38tmp'
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] com.facebook.presto.nativeworker.TestPrestoNativeWindowQueries
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:714)
[ERROR]         at org.apache.maven.plugin.surefire.booterclient.ForkStarter.lambda$runSuitesForkPerTestSet$7(ForkStarter.java:449)
[ERROR]         ... 4 more
[ERROR] -> [Help 1]
[ERROR] 

Thanks for sharing @aditi-pandit, it looks like the jvm option -XX:CompressedClassSpaceSize=3g is not set in the command that runs on the forked VM. Could you please try updating the maven surefire plugin config in presto-native-execution/pom.xml with:

                 <configuration>
                     <forkCount>1</forkCount>
                     <reuseForks>false</reuseForks>
+                    <argLine>-Xms4g -Xmx4g -XX:CompressedClassSpaceSize=3g</argLine>
                     <excludedGroups>remote-function,textfile_reader</excludedGroups>
                     <systemPropertyVariables>
                         <PRESTO_SERVER>/root/project/build/debug/presto_cpp/main/presto_server</PRESTO_SERVER>

@majetideepak
Copy link
Collaborator

@aditi-pandit the critical bug fix in the description should be in here 0bc6f91
Can you update the description?

@aditi-pandit
Copy link
Contributor Author

@majetideepak : TaskManager.cpp needed a code change for the change in the API introduced by facebookincubator/velox@9c79ef9

Please can you review again.

Copy link
Collaborator

@majetideepak majetideepak left a comment

Choose a reason for hiding this comment

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

Thanks, Aditi!
I see that the following API change on the Velox side requires a change here.

using DataAvailableCallback = std::function<void(
    std::vector<std::unique_ptr<folly::IOBuf>> pages,
    int64_t sequence,
    std::vector<int64_t> remainingBytes)>;

@majetideepak
Copy link
Collaborator

The CI test failed due to some timeout. I restarted it.

@aditi-pandit aditi-pandit merged commit 36575b0 into master Feb 21, 2024
59 checks passed
@aditi-pandit aditi-pandit deleted the advance_velox branch February 21, 2024 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants