furquan39 commented on issue #66298:
URL: https://github.com/apache/doris/issues/66298#issuecomment-5130413629
Answers to the requested items below.
## Corrections to our report
We withdraw the claim in "How to Reproduce" that long plain STRING columns
reproduce the same segment-wide failure. Our reproduction is VARIANT-only, and
we have no E-3113 stack trace from a plain STRING column. We accept the
analysis that `ScalarColumnWriter` writes strings incrementally into pages, so
the segment-wide accumulation mechanism we described does not apply to that
path. If we ever hit a STRING-path overflow we will report it separately with
its own DDL and stack.
## New finding since filing: failures persist after lowering the segment cap
8x
The triage analysis states that fixing the estimator is a sizing guard, not
a proof of safety. Our data now supports that directly. After the original
failures at the default `vertical_compaction_max_segment_size = 268435456`, we
lowered it to `33554432` (32 MiB, an 8x reduction). E-3113 failures continue
with the same signature: every failure quoted below is from 2026-07-30 under
the 32 MiB cap, still tripping just past 2^32 uncompressed bytes (total_length
approximately 4.295 to 4.306 GB) at roughly 860k to 911k rows.
Our interpretation, offered for what it is worth: recompacted data
compresses better than freshly loaded data, so a row estimator denominated in
compressed bytes admits more rows per segment as compaction proceeds. Any
static compressed-size cap is therefore chasing a moving target. This matches
your conclusion that the writer needs an independent enforcement of the
uncompressed in-memory invariant (streaming/chunked writing) rather than a
sizing-side fix alone.
## 1. Full symbolized stack trace
A fully symbolized stack for the E-3113 throw is logged into be.WARNING by
the exception machinery (the release build logs the numeric code E-3113, not
the enum name; `grep STRING_OVERFLOW` returns 0 matches on all three BEs). The
BE does not crash on E-3113, so be.out contains only startup output and no
stack.
Identical stacks (same 26 frames) accompany every E-3113 occurrence on all
three BEs; only the total_length / element_number / rows values differ.
<details>
<summary>26-frame symbolized stack, verbatim from be.WARNING (BE-0)</summary>
```
RuntimeLogger W20260730 06:26:57.844934 1309 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989947 : [E-3113][E-3113] string column
length is too large: total_length=4295027788, element_number=870034, rows=869477
0# doris::Exception::Exception(int, std::basic_string_view<char,
std::char_traits<char> > const&, bool) at
/home/zcp/repo_center/doris_release/doris/be/src/common/exception.cpp:0
1# doris::Exception::Exception(int, std::basic_string_view<char,
std::char_traits<char> > const&) at
/usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/basic_string.h:239
2# doris::Exception::Exception<unsigned long&, unsigned long&,
unsigned long&>(int, std::basic_string_view<char, std::char_traits<char> >
const&, unsigned long&, unsigned long&, unsigned long&) at
/usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/basic_string.h:239
3# auto doris::ColumnStr<unsigned
int>::insert_range_from(doris::IColumn const&, unsigned long, unsigned
long)::{lambda(auto:1 const&)#1}::operator()<doris::ColumnStr<unsigned int>
>(doris::ColumnStr<unsigned int> const&) const at
/home/zcp/repo_center/doris_release/doris/be/src/core/column/column_string.cpp:0
4# doris::ColumnStr<unsigned int>::insert_range_from(doris::IColumn
const&, unsigned long, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/core/column/column_string.cpp:213
5#
doris::ColumnVariant::Subcolumn::insert_range_from(doris::ColumnVariant::Subcolumn
const&, unsigned long, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/core/column/column_variant.cpp:457
6# doris::ColumnVariant::insert_range_from(doris::IColumn const&,
unsigned long, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/core/column/column_variant.cpp:1193
7# doris::segment_v2::VariantColumnWriterImpl::append_data(unsigned
char const**, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:370
8#
doris::segment_v2::VariantColumnWriterImpl::append_nullable(unsigned char
const*, unsigned char const**, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:526
9# doris::segment_v2::VariantColumnWriter::append_nullable(unsigned
char const*, unsigned char const**, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/segment/column_writer.cpp:1396
10# doris::segment_v2::ColumnWriter::append(unsigned char const*, void
const*, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/segment/column_writer.cpp:466
11# doris::segment_v2::SegmentWriter::append_block(doris::Block const*,
unsigned long, unsigned long) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/segment/segment_writer.cpp:0
12#
doris::VerticalBetaRowsetWriter<doris::BetaRowsetWriter>::add_columns(doris::Block
const*, std::vector<unsigned int, std::allocator<unsigned int> > const&, bool,
unsigned int, bool) at
/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:526
13#
doris::Merger::vertical_compact_one_group(std::shared_ptr<doris::BaseTablet>,
doris::ReaderType, doris::TabletSchema const&, bool, std::vector<unsigned int,
std::allocator<unsigned int> > const&, doris::RowSourcesBuffer*,
std::vector<std::shared_ptr<doris::RowsetReader>,
std::allocator<std::shared_ptr<doris::RowsetReader> > > const&,
doris::RowsetWriter*, unsigned int, doris::Merger::Statistics*,
std::vector<unsigned int, std::allocator<unsigned int> >, long,
doris::CompactionSampleInfo*, bool) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/merger.cpp:0
14#
doris::Merger::vertical_merge_rowsets(std::shared_ptr<doris::BaseTablet>,
doris::ReaderType, doris::TabletSchema const&,
std::vector<std::shared_ptr<doris::RowsetReader>,
std::allocator<std::shared_ptr<doris::RowsetReader> > > const&,
doris::RowsetWriter*, unsigned int, long, doris::Merger::Statistics*) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/merger.cpp:557
15# doris::Compaction::merge_input_rowsets() at
/home/zcp/repo_center/doris_release/doris/be/src/storage/compaction/compaction.cpp:0
16# doris::CompactionMixin::execute_compact_impl(long) at
/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:526
17# doris::CompactionMixin::execute_compact() at
/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:526
18# doris::CumulativeCompaction::execute_compact() at
/home/zcp/repo_center/doris_release/doris/be/src/storage/compaction/cumulative_compaction.cpp:0
19# doris::Tablet::execute_compaction(doris::CompactionMixin&) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/tablet/tablet.cpp:1885
20#
doris::StorageEngine::_handle_compaction(std::shared_ptr<doris::Tablet>,
std::shared_ptr<doris::CompactionMixin>, doris::CompactionType, long, bool) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/olap_server.cpp:0
21# std::_Function_handler<void (),
doris::StorageEngine::_submit_compaction_task(std::shared_ptr<doris::Tablet>,
doris::CompactionType, bool)::$_0>::_M_invoke(std::_Any_data const&) at
/home/zcp/repo_center/doris_release/doris/be/src/storage/olap_server.cpp:0
22# doris::ThreadPool::dispatch_thread() at
/usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1097
23# doris::Thread::supervise_thread(void*) at
/usr/local/ldb-toolchain-v0.26/bin/../usr/include/pthread.h:562
24# ?
25# clone
```
</details>
The frames between `ColumnStr::insert_range_from` and the compaction entry
point are therefore:
```
Merger::vertical_compact_one_group -> VerticalBetaRowsetWriter::add_columns
-> SegmentWriter::append_block -> ColumnWriter::append
-> VariantColumnWriter::append_nullable ->
VariantColumnWriterImpl::append_nullable
-> VariantColumnWriterImpl::append_data -> ColumnVariant::insert_range_from
-> ColumnVariant::Subcolumn::insert_range_from ->
ColumnStr<uint32>::insert_range_from (column_string.cpp:213)
```
This is the non-streaming `VariantColumnWriterImpl::append_data`
accumulation path you identified as the trigger candidate.
## 2. SHOW CREATE TABLE (VARIANT properties)
Three VARIANT columns, each with `variant_max_subcolumns_count = 2048`,
`variant_enable_typed_paths_to_sparse = false`,
`variant_max_sparse_column_statistics_size = 10000`,
`variant_sparse_hash_shard_count = 0`. No doc-mode or nested-group properties
beyond what is shown. DUPLICATE KEY, replication 1.
<details>
<summary>SHOW CREATE TABLE, verbatim</summary>
```sql
CREATE TABLE `evaluated_docs_scale` (
`created_at_short` date NOT NULL,
`document_id` varchar(64) NULL,
`customer` varchar(128) NULL,
`product` varchar(128) NULL,
`market` varchar(32) NULL,
`created_at` datetime(3) NULL,
`last_updated_at` datetime(3) NULL,
`category` array<varchar(128)> NULL,
`doc_lang` varchar(16) NULL,
`document` variant<PROPERTIES ("variant_max_subcolumns_count" =
"2048","variant_enable_typed_paths_to_sparse" =
"false","variant_max_sparse_column_statistics_size" =
"10000","variant_sparse_hash_shard_count" = "0")> NULL,
`evaluation_summary` variant<PROPERTIES ("variant_max_subcolumns_count" =
"2048","variant_enable_typed_paths_to_sparse" =
"false","variant_max_sparse_column_statistics_size" =
"10000","variant_sparse_hash_shard_count" = "0")> NULL,
`label_details` variant<PROPERTIES ("variant_max_subcolumns_count" =
"2048","variant_enable_typed_paths_to_sparse" =
"false","variant_max_sparse_column_statistics_size" =
"10000","variant_sparse_hash_shard_count" = "0")> NULL,
`kafka_topic` varchar(255) NULL,
`kafka_partition` int NULL,
`kafka_offset` bigint NULL,
`ingested_at` datetime(3) NULL DEFAULT CURRENT_TIMESTAMP,
`usage_status` array<varchar(64)> NULL,
`amounts_are_consistent` boolean NULL
) ENGINE=OLAP
DUPLICATE KEY(`created_at_short`, `document_id`)
AUTO PARTITION BY RANGE (date_trunc(`created_at_short`, 'month'))
(PARTITION p20260501000000 VALUES [('2026-05-01'), ('2026-06-01')),
PARTITION p20260601000000 VALUES [('2026-06-01'), ('2026-07-01')),
PARTITION p20260701000000 VALUES [('2026-07-01'), ('2026-08-01')))
DISTRIBUTED BY HASH(`document_id`) BUCKETS 16
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"min_load_replica_num" = "-1",
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
"inverted_index_storage_format" = "V3",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false",
"group_commit_interval_ms" = "10000",
"group_commit_data_bytes" = "134217728"
);
```
</details>
## 3. BE settings
Via `/api/show_config`, identical on all three BEs:
```
[["enable_vertical_compaction","bool","true","true"]]
[["enable_vertical_compact_variant_subcolumns","bool","true","true"]]
[["vertical_compaction_num_columns_per_group","int32_t","5","true"]]
[["compaction_batch_size","int64_t","-1","true"]]
[["vertical_compaction_max_segment_size","int64_t","33554432","true"]]
```
Timeline for `vertical_compaction_max_segment_size`: the first E-3113
failures occurred at the default `268435456`; the current `33554432` is a
mitigation we applied ourselves, and the failures documented below occurred
under this lowered value (see the "New finding" section above).
## 4. Failing compaction input statistics and max_rows_per_segment
Traced end to end for tablet 1785247989988 (BE-2). The failing run merged 99
input rowsets (`permits: 99` matching `way cnt: 99`), started 08:26:04, threw
E-3113 35 seconds later, and two retries reproduced byte-identical numbers, so
the failure is deterministic per tablet:
```
RuntimeLogger I20260730 08:26:04.372887 1311 compaction.cpp:589] start
cumulative compaction. tablet=1785247989988, output_version=[149-699], permits:
99
RuntimeLogger I20260730 08:26:04.373230 1311 merger.cpp:478] Start to do
vertical compaction, tablet_id: 1785247989988
RuntimeLogger W20260730 08:26:39.689736 1311 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989988 : [E-3113][E-3113] string column
length is too large: total_length=4305822753, element_number=881085, rows=878820
RuntimeLogger I20260730 08:30:34.625535 1314 compaction.cpp:589] start
cumulative compaction. tablet=1785247989988, output_version=[149-699], permits:
99
RuntimeLogger I20260730 08:35:32.389564 1311 compaction.cpp:589] start
cumulative compaction. tablet=1785247989988, output_version=[149-699], permits:
99
RuntimeLogger W20260730 08:36:01.855674 1311 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989988 : [E-3113][E-3113] string column
length is too large: total_length=4305822753, element_number=881085, rows=878820
```
Immediately preceding successful compactions of the same tablet, for input
scale context (per-input-segment row counts are not individually logged by this
build; these are the logged aggregates):
```
RuntimeLogger I20260730 08:15:43.729545 1314 compaction.cpp:601] succeed to
do cumulative compaction is_vertical=1. tablet=1785247989988,
output_version=[2-148], current_max_version=1690,
disk=/opt/apache-doris/be/storage, input_segments=105,
input_rowsets_data_size=180.13 MB, input_rowsets_index_size=0,
input_rowsets_total_size=180.13 MB, output_rowset_data_size=139.83 MB,
output_rowset_index_size=0, output_rowset_total_size=139.83 MB,
input_row_num=3176496, output_row_num=3176496, filtered_row_num=0,
merged_row_num=0. elapsed time=33.6225s.
cumulative_compaction_policy=size_based, compact_row_per_second=94475.2
RuntimeLogger I20260730 08:22:25.033587 1314 compaction.cpp:601] succeed to
do cumulative compaction is_vertical=1. tablet=1785247989988,
output_version=[149-650], current_max_version=1690,
disk=/opt/apache-doris/be/storage, input_segments=999,
input_rowsets_data_size=910.46 MB, input_rowsets_index_size=0,
input_rowsets_total_size=910.46 MB, output_rowset_data_size=18.85 MB,
output_rowset_index_size=0, output_rowset_total_size=18.85 MB,
input_row_num=10335472, output_row_num=10335472, filtered_row_num=0,
merged_row_num=0. elapsed time=100.446s.
cumulative_compaction_policy=size_based, compact_row_per_second=102896
```
`max_rows_per_segment`: `grep max_rows_per_segment be.INFO be.WARNING`
returns 0 matches on all three BEs; nothing is logged under that name in this
build. The closest observable sizing signal is the `merger.cpp:460` "estimate
batch size" lines, quoted in full for the failing run:
<details>
<summary>Complete estimate-batch-size sequence for the failing run (08:26:04
to 08:26:39)</summary>
```
RuntimeLogger I20260730 08:26:04.373250 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 146940435 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:07.448575 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 107756319 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:07.717113 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 218153954 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:08.933276 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 190677387 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:09.545127 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 106451362 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:10.001435 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 94694947 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:10.490581 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 101117135 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:10.976086 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 220407766 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:11.629590 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 207379839 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:12.194929 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 146940435 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:12.430644 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 107756319 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:12.806689 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 1055943 consume bytes: 1071192143 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:21.952812 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 83400983 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:22.098752 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 199163780 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:22.817622 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 102918201 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:23.037478 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 134173631 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:23.270869 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 103887809 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:23.795578 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 118738460 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:24.537241 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 212871507 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:25.422828 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 296487543 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:26.256064 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 146940435 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:26.573335 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 133879063 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:26.927311 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 3265343 consume bytes: 185078226 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:27.805542 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 2662557 consume bytes: 955077800 way cnt: 99 batch size: 4064
RuntimeLogger I20260730 08:26:33.426851 1311 merger.cpp:460] estimate batch
size for vertical compaction, tablet id: 1785247989988 group data size: 0 row
num: 220779 consume bytes: 1057232779 way cnt: 99 batch size: 2265
```
</details>
Reading of the sequence: most column groups are cheap (roughly 100 to 300 MB
consumed for 3.27M rows, batch size capped at 4064). The VARIANT groups are the
heavy ones (`consume bytes: 955077800` and `1057232779`, about 1 GB per batch),
and on the last group the estimator cuts the batch to 2265 rows. About six
seconds after that final line the writer throws E-3113 at
`total_length=4305822753` (just past 2^32) after 878,820 rows: the per-segment
row cap derived from the estimator/segment-size logic still allows a single
VARIANT subcolumn's `ColumnStr<uint32>` offsets to exceed 4 GiB inside one
output segment build.
Corpus statistics behind the compression ratio (from `SHOW DATA` and `SHOW
TABLETS`):
```
Size: 135.037 GB RowCount: 2150260716 (48 tablets, replication 1)
```
That is about 67 bytes/row compressed on disk. A previously sampled
`AVG(LENGTH(CAST(document AS STRING)))` measured about 7280 bytes/row for the
`document` VARIANT column alone, an effective compression ratio on the order of
100x. That ratio is why compressed-byte sizing admits roughly 4.7 to 5.0 KB of
decompressed string data per row times about 900k rows into one segment.
<details>
<summary>All 23 E-3113 failure lines from 2026-07-30 across the three BEs
(verbatim)</summary>
```
BE-0:
RuntimeLogger W20260730 06:24:04.065166 1303 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989955 : [E-3113][E-3113] string column
length is too large: total_length=4298331471, element_number=875139, rows=874540
RuntimeLogger W20260730 06:24:29.481729 1306 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989982 : [E-3113][E-3113] string column
length is too large: total_length=4295454002, element_number=910938, rows=910364
RuntimeLogger W20260730 06:24:32.919359 1303 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989980 : [E-3113][E-3113] string column
length is too large: total_length=4296959620, element_number=893018, rows=892456
RuntimeLogger W20260730 06:25:08.129467 1306 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989992 : [E-3113][E-3113] string column
length is too large: total_length=4295980692, element_number=908820, rows=908259
RuntimeLogger W20260730 06:25:30.369625 1309 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989943 : [E-3113][E-3113] string column
length is too large: total_length=4295803300, element_number=868118, rows=867564
RuntimeLogger W20260730 06:26:10.158970 1305 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989941 : [E-3113][E-3113] string column
length is too large: total_length=4295476064, element_number=859360, rows=858836
RuntimeLogger W20260730 06:26:57.844934 1309 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989947 : [E-3113][E-3113] string column
length is too large: total_length=4295027788, element_number=870034, rows=869477
BE-1:
RuntimeLogger W20260730 06:23:02.893852 1312 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989984 : [E-3113][E-3113] string column
length is too large: total_length=4297246108, element_number=895980, rows=895435
RuntimeLogger W20260730 06:23:29.057267 1314 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989971 : [E-3113][E-3113] string column
length is too large: total_length=4295895212, element_number=863993, rows=863460
RuntimeLogger W20260730 06:23:50.456548 1312 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989957 : [E-3113][E-3113] string column
length is too large: total_length=4295421282, element_number=869375, rows=868840
RuntimeLogger W20260730 06:24:03.853626 1314 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989994 : [E-3113][E-3113] string column
length is too large: total_length=4295666480, element_number=911200, rows=910656
RuntimeLogger W20260730 06:24:47.159302 1313 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990011 : [E-3113][E-3113] string column
length is too large: total_length=4296424418, element_number=902266, rows=899999
BE-2:
RuntimeLogger W20260730 06:25:29.299242 1313 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989998 : [E-3113][E-3113] string column
length is too large: total_length=4296799270, element_number=906399, rows=905850
RuntimeLogger W20260730 06:25:38.449867 1311 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989949 : [E-3113][E-3113] string column
length is too large: total_length=4297775108, element_number=884906, rows=884355
RuntimeLogger W20260730 06:26:03.206351 1317 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990009 : [E-3113][E-3113] string column
length is too large: total_length=4297841904, element_number=898064, rows=897472
RuntimeLogger W20260730 06:26:03.209679 1313 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990015 : [E-3113][E-3113] string column
length is too large: total_length=4295142356, element_number=887932, rows=887376
RuntimeLogger W20260730 06:26:21.955569 1309 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990004 : [E-3113][E-3113] string column
length is too large: total_length=4296834998, element_number=895950, rows=895400
RuntimeLogger W20260730 06:26:30.077806 1317 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989951 : [E-3113][E-3113] string column
length is too large: total_length=4297725673, element_number=858663, rows=858126
RuntimeLogger W20260730 06:26:48.198082 1308 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990021 : [E-3113][E-3113] string column
length is too large: total_length=4296363367, element_number=897195, rows=896660
RuntimeLogger W20260730 06:26:57.292194 1313 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990023 : [E-3113][E-3113] string column
length is too large: total_length=4295638636, element_number=901460, rows=900912
RuntimeLogger W20260730 06:27:24.741868 1313 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247990013 : [E-3113][E-3113] string column
length is too large: total_length=4297936225, element_number=905261, rows=904708
RuntimeLogger W20260730 08:26:39.689736 1311 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989988 : [E-3113][E-3113] string column
length is too large: total_length=4305822753, element_number=881085, rows=878820
RuntimeLogger W20260730 08:36:01.855674 1311 tablet.cpp:1889] failed to do
cumulative compaction, tablet=1785247989988 : [E-3113][E-3113] string column
length is too large: total_length=4305822753, element_number=881085, rows=878820
```
</details>
## 5. Plain STRING reproduction
Withdrawn; see the corrections section. We have no plain-STRING DDL, error
line, or stack trace to offer, and we will not claim that scope again without
one.
## Gaps and follow-ups
- The failure lines from the original 256 MiB era rotated out of be.WARNING
when the BEs were restarted on 2026-07-28. Every line quoted above is from
2026-07-30 under the lowered 32 MiB cap, which itself demonstrates that
lowering the compressed-size cap does not close the defect.
- We are preparing a hardened, controlled rerun environment. From it we can
provide anything the retained logs cannot, on request: failure lines at the
default cap, per-input rowset breakdowns, or additional traces at other cap
values.
- Patch validation offer: the reproduction corpus is 145 GB / 2.15 billion
rows of high-duplication VARIANT data on which the failure is deterministic per
tablet. We are happy to run candidate patches (streaming/chunked VARIANT writer
paths, estimator changes, or both) against it and report success/failure, row
counts, and checksums for the affected tablets.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]