Skip to content

Commit 962e5a0

Browse files
authored
Merge pull request ClickHouse#79967 from Avogar/disable-substream-marks-by-default
Disable write_marks_for_substreams_in_compact_parts by default
2 parents c81bec3 + 3786375 commit 962e5a0

File tree

15 files changed

+23
-18
lines changed

15 files changed

+23
-18
lines changed

src/Core/SettingsChangesHistory.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ const VersionToSettingsChangesMap & getMergeTreeSettingsChangesHistory()
777777
{"shared_merge_tree_merge_worker_regular_timeout_ms", 10000, 10000, "New setting"},
778778
{"apply_patches_on_merge", true, true, "New setting"},
779779
{"remove_unused_patch_parts", true, true, "New setting"},
780-
{"write_marks_for_substreams_in_compact_parts", false, true, "New setting"},
780+
{"write_marks_for_substreams_in_compact_parts", false, false, "New setting"},
781781
/// Release closed. Please use 25.6
782782
});
783783
addSettingsChanges(merge_tree_settings_changes_history, "25.4",

src/Storages/MergeTree/MergeTreeSettings.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ namespace ErrorCodes
252252
This mode allows to use significantly less memory for storing discriminators
253253
in parts when there is mostly one variant or a lot of NULL values.
254254
)", 0) \
255-
DECLARE(Bool, write_marks_for_substreams_in_compact_parts, true, R"(
255+
DECLARE(Bool, write_marks_for_substreams_in_compact_parts, false, R"(
256256
Enables writing marks per each substream instead of per each column in Compact parts.
257257
It allows to read individual subcolumns from the data part efficiently.
258258
)", 0) \

tests/integration/test_merge_tree_s3/test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def create_table(node, table_name, **additional_settings):
8888
"old_parts_lifetime": 0,
8989
"index_granularity": 512,
9090
"temporary_directories_lifetime": 1,
91+
"write_marks_for_substreams_in_compact_parts": 1,
9192
}
9293
settings.update(additional_settings)
9394

tests/integration/test_merge_tree_s3_failover/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def test_write_failover(
123123
) ENGINE=MergeTree()
124124
ORDER BY id
125125
PARTITION BY dt
126-
SETTINGS storage_policy='s3', min_bytes_for_wide_part={}
126+
SETTINGS storage_policy='s3', min_bytes_for_wide_part={}, write_marks_for_substreams_in_compact_parts=1
127127
""".format(
128128
min_bytes_for_wide_part
129129
)

tests/integration/test_replicated_merge_tree_s3/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def drop_table(cluster):
135135
def test_insert_select_replicated(cluster, min_rows_for_wide_part, files_per_part):
136136
create_table(
137137
cluster,
138-
additional_settings={"min_rows_for_wide_part": min_rows_for_wide_part},
138+
additional_settings={"min_rows_for_wide_part": min_rows_for_wide_part, "write_marks_for_substreams_in_compact_parts": 1},
139139
)
140140

141141
insert(cluster, node_idxs=[1, 2, 3], verify=True)

tests/integration/test_replicated_merge_tree_s3_zero_copy/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def drop_table(cluster):
116116
def test_insert_select_replicated(cluster, min_rows_for_wide_part, files_per_part):
117117
create_table(
118118
cluster,
119-
additional_settings="min_rows_for_wide_part={}".format(min_rows_for_wide_part),
119+
additional_settings="min_rows_for_wide_part={}, write_marks_for_substreams_in_compact_parts={}".format(min_rows_for_wide_part, 1),
120120
)
121121

122122
all_values = ""

tests/integration/test_s3_zero_copy_ttl/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_ttl_move_and_s3(started_cluster):
3636
ORDER BY id
3737
PARTITION BY id
3838
TTL date TO DISK 's3_disk'
39-
SETTINGS storage_policy='s3_and_default', temporary_directories_lifetime=1
39+
SETTINGS storage_policy='s3_and_default', temporary_directories_lifetime=1, write_marks_for_substreams_in_compact_parts=1
4040
""".format(
4141
i
4242
)

tests/performance/compact_part_subcolumns.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<allow_experimental_json_type>1</allow_experimental_json_type>
44
</settings>
55

6-
<create_query>CREATE TABLE t_json_1 (data JSON) ENGINE = MergeTree ORDER BY tuple() SETTINGS min_rows_for_wide_part=1000000000, min_bytes_for_wide_part=100000000000</create_query>
7-
<create_query>CREATE TABLE t_json_2 (data JSON) ENGINE = MergeTree ORDER BY tuple() SETTINGS min_rows_for_wide_part=1000000000, min_bytes_for_wide_part=100000000000</create_query>
6+
<create_query>CREATE TABLE t_json_1 (data JSON) ENGINE = MergeTree ORDER BY tuple() SETTINGS min_rows_for_wide_part=1000000000, min_bytes_for_wide_part=100000000000, write_marks_for_substreams_in_compact_parts=1</create_query>
7+
<create_query>CREATE TABLE t_json_2 (data JSON) ENGINE = MergeTree ORDER BY tuple() SETTINGS min_rows_for_wide_part=1000000000, min_bytes_for_wide_part=100000000000, write_marks_for_substreams_in_compact_parts=1</create_query>
88

99
<fill_query>INSERT INTO t_json_1 SELECT toJSONString(map(number % 10, repeat('a', number % 100))) FROM numbers(10000000)</fill_query>
1010
<fill_query>INSERT INTO t_json_2 SELECT toJSONString(arrayMap(x -> tuple('a' || x, x > 0 ? repeat('a', 100) : 'a'), range(1000))::Map(String, String)) FROM numbers(200000)</fill_query>

tests/queries/0_stateless/02241_filesystem_cache_on_write_operations.reference

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Using storage policy: s3_cache
22
DROP TABLE IF EXISTS test_02241
3-
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='s3_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1
3+
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='s3_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1, write_marks_for_substreams_in_compact_parts=1
44
SYSTEM STOP MERGES test_02241
55
SYSTEM DROP FILESYSTEM CACHE
66
SELECT file_segment_range_begin, file_segment_range_end, size, state
@@ -110,7 +110,7 @@ SELECT count() FROM test_02241 WHERE value LIKE '%010%'
110110
18816
111111
Using storage policy: local_cache
112112
DROP TABLE IF EXISTS test_02241
113-
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='local_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1
113+
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='local_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1, write_marks_for_substreams_in_compact_parts=1
114114
SYSTEM STOP MERGES test_02241
115115
SYSTEM DROP FILESYSTEM CACHE
116116
SELECT file_segment_range_begin, file_segment_range_end, size, state
@@ -220,7 +220,7 @@ SELECT count() FROM test_02241 WHERE value LIKE '%010%'
220220
18816
221221
Using storage policy: azure_cache
222222
DROP TABLE IF EXISTS test_02241
223-
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='azure_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1
223+
CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='azure_cache', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1, write_marks_for_substreams_in_compact_parts=1
224224
SYSTEM STOP MERGES test_02241
225225
SYSTEM DROP FILESYSTEM CACHE
226226
SELECT file_segment_range_begin, file_segment_range_end, size, state

tests/queries/0_stateless/02241_filesystem_cache_on_write_operations.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ for STORAGE_POLICY in 's3_cache' 'local_cache' 'azure_cache'; do
1414
echo "Using storage policy: $STORAGE_POLICY"
1515

1616
$CLICKHOUSE_CLIENT --echo --query "DROP TABLE IF EXISTS test_02241"
17-
$CLICKHOUSE_CLIENT --echo --query "CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='$STORAGE_POLICY', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1"
17+
$CLICKHOUSE_CLIENT --echo --query "CREATE TABLE test_02241 (key UInt32, value String) Engine=MergeTree() ORDER BY key SETTINGS storage_policy='$STORAGE_POLICY', min_bytes_for_wide_part = 10485760, compress_marks=false, compress_primary_key=false, min_bytes_for_full_part_storage=0, ratio_of_defaults_for_sparse_serialization = 1, write_marks_for_substreams_in_compact_parts=1"
1818
$CLICKHOUSE_CLIENT --echo --query "SYSTEM STOP MERGES test_02241"
1919

2020
echo "SYSTEM DROP FILESYSTEM CACHE"

0 commit comments

Comments
 (0)