Changed-lines coverage: PR changed C/C++ lines covered by tests: 75.00% (30/40) Uncovered changed code (with context): ================================================================================ src/Processors/Formats/Impl/Parquet/Prefetcher.cpp ================================================================================ --- uncovered block 218-218 --- 216 | /// underflow and let a subrange past the end of the range through. 217 | if (start < range.start || start > range.end || length > range.end - start) >> 218 | throw Exception(ErrorCodes::INCORRECT_DATA, "Subrange out of bounds: [{}, {}) not in [{}, {})", start, start + length, range.start, range.end); 219 | subrange_start = std::min(subrange_start, start); 220 | subrange_end = std::max(subrange_end, start + length); --- uncovered block 271-271 --- 269 | for (const auto & [start, length] : subranges) 270 | if (start < task->offset || start > task_end || length > task_end - start) >> 271 | throw Exception(ErrorCodes::INCORRECT_DATA, "Subrange out of bounds: [{}, {}) not in read task [{}, {})", start, start + length, task->offset, task_end); 272 | 273 | task->refcount.fetch_add(subranges.size()); --- uncovered block 464-464 --- 462 | } 463 | if (s == Task::State::Exception) >> 464 | rethrowException(task); 465 | chassert(s == Task::State::Done); 466 | --- uncovered block 471-471 --- 469 | if (req->task_offset > task->length || req->length > task->length - req->task_offset) 470 | throw Exception(ErrorCodes::LOGICAL_ERROR, "Prefetched range [{}, {}) is outside its read task [{}, {})", >> 471 | task->offset + req->task_offset, task->offset + req->task_offset + req->length, task->offset, task->offset + task->length); 472 | 473 | if (task->cached_region.has_value()) ================================================================================ src/Processors/Formats/Impl/Parquet/Reader.cpp ================================================================================ --- uncovered block 684-689 --- 682 | chassert(column.meta->meta_data.__isset.bloom_filter_offset); 683 | size_t offset = size_t(column.meta->meta_data.bloom_filter_offset); >> 684 | auto it = std::upper_bound(all_offsets.begin(), all_offsets.end(), offset); >> 685 | size_t end = it == all_offsets.end() ? prefetcher.getFileSize() : *it; 686 | >> 687 | column.bloom_filter_data_bytes = end - offset; >> 688 | column.bloom_filter_data_prefetch = prefetcher.registerRange( >> 689 | offset, end - offset, /*likely_to_be_used=*/ false); 690 | } 691 | } --- uncovered block 864-864 --- 862 | const size_t bytes_per_block = 32; 863 | if (column.bloom_filter_header.numBytes <= 0 || column.bloom_filter_header.numBytes % bytes_per_block != 0) >> 864 | throw Exception(ErrorCodes::INCORRECT_DATA, "Invalid bloom filter size."); 865 | /// The bitset must fit in the bloom filter byte range the file declared, otherwise the block 866 | /// subranges below would point outside the data we fetched. WARNING: Failed to get start time for [Print Uncovered Code] - start time and duration won't be set --- Coverage counts --- Lines : baseline 925,922/1,071,759 -> current 926,595/1,071,773 (delta +673 / +14) Functions : baseline 802,739/874,365 -> current 803,427/874,374 (delta +688 / +9) Branches : baseline 301,328/383,916 -> current 301,827/383,934 (delta +499 / +18)