@@ -319,6 +319,13 @@ jobs:
319
319
path : velox/_build/debug//velox/exec/tests/velox_row_number_fuzzer_test
320
320
retention-days : " ${{ env.RETENTION }}"
321
321
322
+ - name : Upload writer fuzzer
323
+ uses : actions/upload-artifact@v4
324
+ with :
325
+ name : writer
326
+ path : velox/_build/debug/velox/functions/prestosql/fuzzer/velox_writer_fuzzer_test
327
+ retention-days : " ${{ env.RETENTION }}"
328
+
322
329
presto-fuzzer-run :
323
330
name : Presto Fuzzer
324
331
if : ${{ needs.compile.outputs.presto_bias != 'true' }}
@@ -892,3 +899,69 @@ jobs:
892
899
path : |
893
900
/tmp/window_fuzzer_repro
894
901
/tmp/server.log
902
+
903
+ presto-java-writer-fuzzer-run :
904
+ name : Writer Fuzzer with Presto as source of truth
905
+ needs : compile
906
+ runs-on : ubuntu-latest
907
+ container : ghcr.io/facebookincubator/velox-dev:presto-java
908
+ timeout-minutes : 120
909
+ env :
910
+ CCACHE_DIR : " ${{ github.workspace }}/.ccache/"
911
+ LINUX_DISTRO : " centos"
912
+ steps :
913
+
914
+ - name : Download writer fuzzer
915
+ uses : actions/download-artifact@v4
916
+ with :
917
+ name : writer
918
+
919
+ - name : " Checkout Repo"
920
+ uses : actions/checkout@v4
921
+ with :
922
+ path : velox
923
+ submodules : ' recursive'
924
+ ref : " ${{ inputs.ref }}"
925
+
926
+ - name : Fix git permissions
927
+ # Usually actions/checkout does this but as we run in a container
928
+ # it doesn't work
929
+ run : git config --global --add safe.directory /__w/velox/velox/velox
930
+
931
+
932
+ - name : " Run Writer Fuzzer"
933
+ run : |
934
+ cd velox
935
+ cp ./scripts/presto/etc/hive.properties $PRESTO_HOME/etc/catalog
936
+ ls -lR $PRESTO_HOME/etc
937
+ echo "jvm config content:"
938
+ cat $PRESTO_HOME/etc/jvm.config
939
+ $PRESTO_HOME/bin/launcher run -v > /tmp/server.log 2>&1 &
940
+ ls -lR /var/log
941
+ # Sleep for 60 seconds to allow Presto server to start.
942
+ sleep 60
943
+ /opt/presto-cli --version
944
+ /opt/presto-cli --server 127.0.0.1:8080 --execute 'CREATE SCHEMA hive.tpch;'
945
+ cd -
946
+ mkdir -p /tmp/writer_fuzzer_repro/logs/
947
+ chmod -R 777 /tmp/writer_fuzzer_repro
948
+ chmod +x velox_writer_fuzzer_test
949
+ ./velox_writer_fuzzer_test \
950
+ --seed ${RANDOM} \
951
+ --duration_sec $DURATION \
952
+ --minloglevel=0 \
953
+ --stderrthreshold=2 \
954
+ --req_timeout_ms 60000 \
955
+ --log_dir=/tmp/writer_fuzzer_repro/logs \
956
+ --presto_url=http://127.0.0.1:8080 \
957
+ && echo -e "\n\Writer fuzzer run finished successfully."
958
+
959
+ - name : Archive writer production artifacts
960
+ if : ${{ !cancelled() }}
961
+ uses : actions/upload-artifact@v4
962
+ with :
963
+ name : presto-sot-writer-fuzzer-failure-artifacts
964
+ path : |
965
+ /tmp/writer_fuzzer_repro
966
+ /tmp/server.log
967
+ /var/log
0 commit comments