Skip to content

Commit 34036b8

Browse files
committed
fix TestPkTableWriteWithIOException
1 parent 4acaa8a commit 34036b8

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

test/inte/write_inte_test.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1809,11 +1809,6 @@ TEST_P(WriteInteTest, TestPkTableEnableDeletionVector) {
18091809

18101810
TEST_P(WriteInteTest, TestPkTableWriteWithIOException) {
18111811
auto file_format = GetParam();
1812-
// Skip parquet format: even with prebuffer disabled, parquet's IO patterns differ
1813-
// from orc, making it impossible to find "safe" IO positions for error recovery testing.
1814-
if (file_format == "parquet") {
1815-
GTEST_SKIP() << "Skipping parquet IOException test - IO patterns differ from orc";
1816-
}
18171812
::testing::GTEST_FLAG(throw_on_failure) = true;
18181813
// create table
18191814
arrow::FieldVector fields = {
@@ -1830,7 +1825,11 @@ TEST_P(WriteInteTest, TestPkTableWriteWithIOException) {
18301825
bool run_complete = false;
18311826
auto io_hook = IOHook::GetInstance();
18321827

1833-
for (size_t i = 0; i < 500; i++) {
1828+
// Loop bound must exceed the workflow's total IO operations so the loop can
1829+
// naturally terminate at the iteration where injection position falls past
1830+
// the last IO. Measured IO counts: orc=310, parquet=506, avro=195, lance=69.
1831+
// 1000 leaves headroom for future format/workflow changes.
1832+
for (size_t i = 0; i < 1000; i++) {
18341833
auto dir = UniqueTestDirectory::Create();
18351834
ASSERT_TRUE(dir);
18361835
ScopeGuard guard([&io_hook]() { io_hook->Clear(); });

0 commit comments

Comments
 (0)