Skip to content

Commit

Permalink
feat: Table evolution fuzzer (#11872)
Browse files Browse the repository at this point in the history
Summary:
X-link: facebookincubator/nimble#116


Basic version of table evolution fuzzer.  Full design of the fuzzer can be found at https://docs.google.com/document/d/18jjNRknSxI99mgdL7eDMzkq65i-mi47Ukymi3JkXzUA/edit

Differential Revision: D67283632
  • Loading branch information
Yuhta authored and facebook-github-bot committed Dec 18, 2024
1 parent 01e755c commit 0e18012
Show file tree
Hide file tree
Showing 14 changed files with 726 additions and 35 deletions.
4 changes: 2 additions & 2 deletions velox/dwio/common/FileSink.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,8 @@ LocalFileSink::LocalFileSink(
}

void LocalFileSink::doClose() {
LOG(INFO) << "closing file: " << name()
<< ", total size: " << succinctBytes(size_);
VLOG(1) << "closing file: " << name()
<< ", total size: " << succinctBytes(size_);
if (writeFile_ != nullptr) {
writeFile_->close();
}
Expand Down
8 changes: 4 additions & 4 deletions velox/exec/Task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1244,10 +1244,10 @@ void Task::removeDriver(std::shared_ptr<Task> self, Driver* driver) {
}

if (self->numFinishedDrivers_ == self->numTotalDrivers_) {
LOG(INFO) << "All drivers (" << self->numFinishedDrivers_
<< ") finished for task " << self->taskId()
<< " after running for "
<< succinctMillis(self->timeSinceStartMsLocked());
VLOG(1) << "All drivers (" << self->numFinishedDrivers_
<< ") finished for task " << self->taskId()
<< " after running for "
<< succinctMillis(self->timeSinceStartMsLocked());
}
}
stateChangeNotifier.notify();
Expand Down
15 changes: 15 additions & 0 deletions velox/exec/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,21 @@ target_link_libraries(
GTest::gtest
GTest::gtest_main)

add_executable(velox_table_evolution_fuzzer_test TableEvolutionFuzzerTest.cpp)

target_link_libraries(
velox_table_evolution_fuzzer_test
velox_exec_test_lib
velox_temp_path
velox_vector_fuzzer
GTest::gtest
GTest::gtest_main)

add_test(
NAME velox_table_evolution_fuzzer_test
COMMAND velox_table_evolution_fuzzer_test
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_executable(velox_aggregation_runner_test AggregationRunnerTest.cpp)

target_link_libraries(
Expand Down
2 changes: 1 addition & 1 deletion velox/exec/tests/HashJoinTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ class HashJoinBuilder {
if (vectorSize != 0) {
fuzzerOpts_.vectorSize = vectorSize;
fuzzerOpts_.nullRatio = nullRatio;
VectorFuzzer fuzzer(fuzzerOpts_, &pool_);
VectorFuzzer fuzzer(fuzzerOpts_, &pool_, 42);
for (int32_t i = 0; i < numVectors; ++i) {
vectors.push_back(fuzzer.fuzzInputRow(rowType));
}
Expand Down
Loading

0 comments on commit 0e18012

Please sign in to comment.