misc.python.materialize.version_ancestor_overrides
1# Copyright Materialize, Inc. and contributors. All rights reserved. 2# 3# Use of this software is governed by the Business Source License 4# included in the LICENSE file at the root of this repository. 5# 6# As of the Change Date specified in that file, in accordance with 7# the Business Source License, use of this software will be governed 8# by the Apache License, Version 2.0. 9 10 11from __future__ import annotations 12 13from typing import Any 14 15from materialize.mz_version import MzVersion 16 17 18def get_ancestor_overrides_for_performance_regressions( 19 scenario_class: type[Any], scale: str | None 20) -> dict[str, MzVersion]: 21 """ 22 Git revisions that are based on commits listed as keys require at least the version specified in the value. 23 Note that specified versions do not necessarily need to be already published. 24 Commits must be ordered descending by their date. 25 """ 26 27 scenario_class_name = scenario_class.__name__ 28 29 min_ancestor_mz_version_per_commit = dict() 30 31 if scenario_class_name in ("OrderBy", "FastPathFilterNoIndex"): 32 # PR#34930 (Bump differential, timely and related) increases latency 33 min_ancestor_mz_version_per_commit[ 34 "c20c82119261bab23c865bdfd1841348aa0acca3" 35 ] = MzVersion.parse_mz("v26.12.0") 36 37 if scenario_class_name == "SwapSchema": 38 # PR#29673 (adapter: derive implications from catalog changes) increases latency 39 min_ancestor_mz_version_per_commit[ 40 "9a4ee6174553d4f14402e90927a05aa8cba37112" 41 ] = MzVersion.parse_mz("v26.2.0") 42 43 if scenario_class_name in ("DifferentialJoin", "Retraction", "FinishOrderByLimit"): 44 # PR#33979 (Enable active dataflow cancellation) increases latency 45 min_ancestor_mz_version_per_commit[ 46 "e1944c939203eb29b84a18ce5153e2d99d157c1d" 47 ] = MzVersion.parse_mz("v0.164.0") 48 49 if scenario_class_name == "CreateIndex": 50 # PR#33938 (Update columnar, timely, differential) increases latency 51 min_ancestor_mz_version_per_commit[ 52 "c28d0061a6c9e63ee50a5f555c5d90373d006686" 53 ] = MzVersion.parse_mz("v0.164.0") 54 55 if scenario_class_name in ("CrossJoin", "AccumulateReductions"): 56 # PR#31501 (Remove ChunkedStack and related) increases latency for inserts 57 min_ancestor_mz_version_per_commit[ 58 "e91f9d5e47f5dddf1d5d1a3afa3c27907bdbb0a7" 59 ] = MzVersion.parse_mz("v0.134.0") 60 61 if scenario_class_name == "ManySmallInserts": 62 # PR#31309 ([adapter] don't block on builtin table write in Session creation) increases latency for inserts 63 min_ancestor_mz_version_per_commit[ 64 "e8c42c65afb7acd55eb7e530a92c89a9165f2e33" 65 ] = MzVersion.parse_mz("v0.133.0") 66 67 if scenario_class_name == "SwapSchema": 68 # PR#30883 (Columnar in logging dataflows) increases Mz memory usage 69 min_ancestor_mz_version_per_commit[ 70 "a077232ffcb76ef7498da7637fbc9e80aa88765c" 71 ] = MzVersion.parse_mz("v0.131.0") 72 73 if scenario_class_name == "FastPathOrderByLimit": 74 # PR#30872 (rust: Upgrade to 1.83.0) increases wallclock 75 min_ancestor_mz_version_per_commit[ 76 "74ebdd68dd2e9ec860837d52866ab9db61a0a49e" 77 ] = MzVersion.parse_mz("v0.129.0") 78 79 if scenario_class_name == "OptbenchTPCHQ01": 80 # PR#30806 ([optimizer] report per-transform metrics) increases wallclock 81 min_ancestor_mz_version_per_commit[ 82 "a5355b2e89fedef9f7a04a96b737f7434a8e3f62" 83 ] = MzVersion.parse_mz("v0.128.0") 84 85 if scenario_class_name in ("KafkaUpsert", "KafkaUpsertUnique", "ParallelIngestion"): 86 # PR#30617 (storage/kafka: use separate consumer for metadata probing) 87 # adds 1s of delay to Kafka source startup 88 min_ancestor_mz_version_per_commit[ 89 "9f7b634e6824f73d0effcdfa86c2b8b1642a4784" 90 ] = MzVersion.parse_mz("v0.127.0") 91 if scenario_class_name == "InsertMultiRow": 92 # PR#30622 (Refactor how we run FoldConstants) increases wallclock 93 min_ancestor_mz_version_per_commit[ 94 "a558d6bdc4b29abf79457eaba52914a0d6c805b7" 95 ] = MzVersion.parse_mz("v0.127.0") 96 if "OptbenchTPCH" in scenario_class_name: 97 # PR#30602 (Replace ColumnKnowledge with EquivalencePropagation) increases wallclock 98 min_ancestor_mz_version_per_commit[ 99 "1bd45336f8335b3487153beb7ce57f6391a7cf9c" 100 ] = MzVersion.parse_mz("v0.126.0") 101 102 if "OptbenchTPCH" in scenario_class_name: 103 # PR#30506 (Remove NonNullable transform) increases wallclock 104 min_ancestor_mz_version_per_commit[ 105 "6981cb35f6a64748293867beb67e74b804f9e723" 106 ] = MzVersion.parse_mz("v0.126.0") 107 108 if scenario_class_name == "KafkaUpsertUnique": 109 # PR#29718 (storage: continual feedback upsert operator) increases CPU and memory 110 min_ancestor_mz_version_per_commit[ 111 "b16b6a2c71f6e52adcbe37988cb262c15074a63f" 112 ] = MzVersion.parse_mz("v0.125.0") 113 114 if scenario_class_name in ( 115 "SmallClusters", 116 "AccumulateReductions", 117 "CreateIndex", 118 "ManySmallUpdates", 119 "FastPathOrderByLimit", 120 "FastPathFilterIndex", 121 "ParallelIngestion", 122 "SubscribeParallelTableWithIndex", 123 "DeltaJoinMaintained", 124 "Update", 125 "Retraction", 126 ): 127 # PR#28307 (Render regions for object build and let bindings) increases messages 128 min_ancestor_mz_version_per_commit[ 129 "ffcafa5b5c3e83845a868cf6103048c045b4f155" 130 ] = MzVersion.parse_mz("v0.113.0") 131 132 if "OptbenchTPCH" in scenario_class_name: 133 # PR#28664 (Introduce MirScalarExpr::reduce_safely) increases wallclock 134 min_ancestor_mz_version_per_commit[ 135 "0a570022e1b78a205d5d9d3ebcb640b714e738c2" 136 ] = MzVersion.parse_mz("v0.111.0") 137 138 if scenario_class_name in {"OptbenchTPCHQ02", "OptbenchTPCHQ18", "OptbenchTPCHQ21"}: 139 # PR#28566 (Incorporate non-null information, and prevent its deletion) increased wallclock 140 min_ancestor_mz_version_per_commit[ 141 "45d78090f8fea353dbdff9f1b2de463d475fabc3" 142 ] = MzVersion.parse_mz("v0.111.0") 143 144 if scenario_class_name == "ManyKafkaSourcesOnSameCluster": 145 # PR#28359 (Reapply "storage: wire up new reclock implementation") increased wallclock 146 min_ancestor_mz_version_per_commit[ 147 "1937ca8b444a919e3077843980c97d61fc072252" 148 ] = MzVersion.parse_mz("v0.110.0") 149 150 if scenario_class_name == "ManyKafkaSourcesOnSameCluster": 151 # PR#28228 (storage/kafka: round-robin partition/worker assignment) increased wallclock 152 min_ancestor_mz_version_per_commit[ 153 "256e1f839ba5243293e738bcd78d0f36c1be8f3e" 154 ] = MzVersion.parse_mz("v0.109.0") 155 156 if scenario_class_name == "MinMax": 157 # PR#27988 (adapter: always declare MV imports non-monotonic) increased wallclock and memory 158 min_ancestor_mz_version_per_commit[ 159 "c18aa43828a7d2e9527151a0251c1f75a06d1469" 160 ] = MzVersion.parse_mz("v0.108.0") 161 162 if scenario_class_name == "AccumulateReductions": 163 # PR#26807 (compute: hydration status based on output frontiers) increased messages 164 min_ancestor_mz_version_per_commit[ 165 "be0e50041169a5cac80c033b083c920b067d049f" 166 ] = MzVersion.parse_mz("v0.106.0") 167 168 if scenario_class_name == "SwapSchema": 169 # PR#27607 (catalog: Listen for updates in transactions) increased wallclock 170 min_ancestor_mz_version_per_commit[ 171 "eef900de75d25fe854524dff9feeed8057e4bf79" 172 ] = MzVersion.parse_mz("v0.105.0") 173 174 if scenario_class_name == "MySqlInitialLoad": 175 # PR#27058 (storage: wire up new reclock implementation) increased memory usage 176 min_ancestor_mz_version_per_commit[ 177 "10abb1cca257ffc3d605c99ed961e037bbf3fa51" 178 ] = MzVersion.parse_mz("v0.103.0") 179 180 if "OptbenchTPCH" in scenario_class_name: 181 # PR#26652 (explain: fix tracing fast path regression) significantly increased wallclock for OptbenchTPCH 182 min_ancestor_mz_version_per_commit[ 183 "96c22562745f59010860bd825de5b4007a172c70" 184 ] = MzVersion.parse_mz("v0.97.0") 185 # PR#24155 (equivalence propagation) significantly increased wallclock for OptbenchTPCH 186 min_ancestor_mz_version_per_commit[ 187 "3cfaa8207faa7df087942cd44311a3e7b4534c25" 188 ] = MzVersion.parse_mz("v0.92.0") 189 190 if scenario_class_name == "FastPathFilterNoIndex": 191 # PR#26084 (Optimize OffsetList) increased wallclock 192 min_ancestor_mz_version_per_commit[ 193 "2abcd90ac3201b0235ea41c5db81bdd931a0fda0" 194 ] = MzVersion.parse_mz("v0.96.0") 195 196 if scenario_class_name == "ParallelDataflows": 197 # PR#26020 (Stage flatmap execution to consolidate as it goes) significantly increased wallclock 198 min_ancestor_mz_version_per_commit[ 199 "da35946d636607a11fa27d5a8ea6e9939bf9525e" 200 ] = MzVersion.parse_mz("v0.93.0") 201 202 # add legacy entries 203 min_ancestor_mz_version_per_commit.update( 204 { 205 # insert newer commits at the top 206 # PR#25502 (JoinFusion across MFPs) increased number of messages 207 "62ea182963be5b956e13115b8ad39f7835fc4351": MzVersion.parse_mz("v0.91.0"), 208 # PR#24906 (Compute operator hydration status logging) increased number of messages against v0.88.1 209 "067ae870eef724f7eb5851b5745b9ff52b881481": MzVersion.parse_mz("v0.89.0"), 210 # PR#24918 (txn-wal: switch to a new operator protocol for lazy) increased number of messages against v0.86.1 (but got reverted in 0.87.1) 211 "b648576b52b8ba9bb3a4732f7022ab5c06ebed32": MzVersion.parse_mz("v0.87.0"), 212 # PR#23659 (txn-wal: enable in CI with "eager uppers") introduces regressions against v0.79.0 213 "c4f520a57a3046e5074939d2ea345d1c72be7079": MzVersion.parse_mz("v0.80.0"), 214 # PR#23421 (coord: smorgasbord of improvements for the crdb-backed timestamp oracle) introduces regressions against 0.78.13 215 "5179ebd39aea4867622357a832aaddcde951b411": MzVersion.parse_mz("v0.79.0"), 216 # insert newer commits at the top 217 } 218 ) 219 220 return min_ancestor_mz_version_per_commit 221 222 223_MIN_ANCESTOR_MZ_VERSION_PER_COMMIT_TO_ACCOUNT_FOR_SCALABILITY_REGRESSIONS: dict[ 224 str, MzVersion 225] = { 226 # insert newer commits at the top 227 # PR#31309 ([adapter] don't block on builtin table write in Session creation) increases latency for inserts 228 "e8c42c65afb7acd55eb7e530a92c89a9165f2e33": MzVersion.parse_mz("v0.133.0"), 229 # PR#30238 (adapter: Remove the global write lock) introduces regressions against v0.123.0 230 "98678454a334a470ceea46b126586c7e60a0d8a5": MzVersion.parse_mz("v0.124.0"), 231 # PR#28307 (Render regions for object build and let bindings) introduces regressions against v0.112.0 232 "ffcafa5b5c3e83845a868cf6103048c045b4f155": MzVersion.parse_mz("v0.113.0"), 233 # PR#23659 (txn-wal: enable in CI with "eager uppers") introduces regressions against v0.79.0 234 "c4f520a57a3046e5074939d2ea345d1c72be7079": MzVersion.parse_mz("v0.80.0"), 235 # PR#23421 (coord: smorgasbord of improvements for the crdb-backed timestamp oracle) introduces regressions against 0.78.13 236 "5179ebd39aea4867622357a832aaddcde951b411": MzVersion.parse_mz("v0.79.0"), 237 # insert newer commits at the top 238} 239""" 240Git revisions that are based on commits listed as keys require at least the version specified in the value. 241Note that specified versions do not necessarily need to be already published. 242Commits must be ordered descending by their date. 243""" 244 245_MIN_ANCESTOR_MZ_VERSION_PER_COMMIT_TO_ACCOUNT_FOR_CORRECTNESS_REGRESSIONS: dict[ 246 str, MzVersion 247] = { 248 # insert newer commits at the top 249 # PR#29179: Add client_address to session 250 "deb8beb77ddb69895aad899cf2eab90a0a78585d": MzVersion.parse_mz("v0.118.0"), 251 # PR#24497 (Make sure variance never returns a negative number) changes DFR or CTF handling compared to v0.84.0 252 "82a5130a8466525c5b3bdb3eff845c7c34585774": MzVersion.parse_mz("v0.85.0"), 253} 254""" 255See: #_MIN_ANCESTOR_MZ_VERSION_PER_COMMIT_TO_ACCOUNT_FOR_PERFORMANCE_REGRESSIONS 256""" 257 258ANCESTOR_OVERRIDES_FOR_SCALABILITY_REGRESSIONS = ( 259 _MIN_ANCESTOR_MZ_VERSION_PER_COMMIT_TO_ACCOUNT_FOR_SCALABILITY_REGRESSIONS 260) 261ANCESTOR_OVERRIDES_FOR_CORRECTNESS_REGRESSIONS = ( 262 _MIN_ANCESTOR_MZ_VERSION_PER_COMMIT_TO_ACCOUNT_FOR_CORRECTNESS_REGRESSIONS 263)
def
get_ancestor_overrides_for_performance_regressions( scenario_class: type[typing.Any], scale: str | None) -> dict[str, materialize.mz_version.MzVersion]:
19def get_ancestor_overrides_for_performance_regressions( 20 scenario_class: type[Any], scale: str | None 21) -> dict[str, MzVersion]: 22 """ 23 Git revisions that are based on commits listed as keys require at least the version specified in the value. 24 Note that specified versions do not necessarily need to be already published. 25 Commits must be ordered descending by their date. 26 """ 27 28 scenario_class_name = scenario_class.__name__ 29 30 min_ancestor_mz_version_per_commit = dict() 31 32 if scenario_class_name in ("OrderBy", "FastPathFilterNoIndex"): 33 # PR#34930 (Bump differential, timely and related) increases latency 34 min_ancestor_mz_version_per_commit[ 35 "c20c82119261bab23c865bdfd1841348aa0acca3" 36 ] = MzVersion.parse_mz("v26.12.0") 37 38 if scenario_class_name == "SwapSchema": 39 # PR#29673 (adapter: derive implications from catalog changes) increases latency 40 min_ancestor_mz_version_per_commit[ 41 "9a4ee6174553d4f14402e90927a05aa8cba37112" 42 ] = MzVersion.parse_mz("v26.2.0") 43 44 if scenario_class_name in ("DifferentialJoin", "Retraction", "FinishOrderByLimit"): 45 # PR#33979 (Enable active dataflow cancellation) increases latency 46 min_ancestor_mz_version_per_commit[ 47 "e1944c939203eb29b84a18ce5153e2d99d157c1d" 48 ] = MzVersion.parse_mz("v0.164.0") 49 50 if scenario_class_name == "CreateIndex": 51 # PR#33938 (Update columnar, timely, differential) increases latency 52 min_ancestor_mz_version_per_commit[ 53 "c28d0061a6c9e63ee50a5f555c5d90373d006686" 54 ] = MzVersion.parse_mz("v0.164.0") 55 56 if scenario_class_name in ("CrossJoin", "AccumulateReductions"): 57 # PR#31501 (Remove ChunkedStack and related) increases latency for inserts 58 min_ancestor_mz_version_per_commit[ 59 "e91f9d5e47f5dddf1d5d1a3afa3c27907bdbb0a7" 60 ] = MzVersion.parse_mz("v0.134.0") 61 62 if scenario_class_name == "ManySmallInserts": 63 # PR#31309 ([adapter] don't block on builtin table write in Session creation) increases latency for inserts 64 min_ancestor_mz_version_per_commit[ 65 "e8c42c65afb7acd55eb7e530a92c89a9165f2e33" 66 ] = MzVersion.parse_mz("v0.133.0") 67 68 if scenario_class_name == "SwapSchema": 69 # PR#30883 (Columnar in logging dataflows) increases Mz memory usage 70 min_ancestor_mz_version_per_commit[ 71 "a077232ffcb76ef7498da7637fbc9e80aa88765c" 72 ] = MzVersion.parse_mz("v0.131.0") 73 74 if scenario_class_name == "FastPathOrderByLimit": 75 # PR#30872 (rust: Upgrade to 1.83.0) increases wallclock 76 min_ancestor_mz_version_per_commit[ 77 "74ebdd68dd2e9ec860837d52866ab9db61a0a49e" 78 ] = MzVersion.parse_mz("v0.129.0") 79 80 if scenario_class_name == "OptbenchTPCHQ01": 81 # PR#30806 ([optimizer] report per-transform metrics) increases wallclock 82 min_ancestor_mz_version_per_commit[ 83 "a5355b2e89fedef9f7a04a96b737f7434a8e3f62" 84 ] = MzVersion.parse_mz("v0.128.0") 85 86 if scenario_class_name in ("KafkaUpsert", "KafkaUpsertUnique", "ParallelIngestion"): 87 # PR#30617 (storage/kafka: use separate consumer for metadata probing) 88 # adds 1s of delay to Kafka source startup 89 min_ancestor_mz_version_per_commit[ 90 "9f7b634e6824f73d0effcdfa86c2b8b1642a4784" 91 ] = MzVersion.parse_mz("v0.127.0") 92 if scenario_class_name == "InsertMultiRow": 93 # PR#30622 (Refactor how we run FoldConstants) increases wallclock 94 min_ancestor_mz_version_per_commit[ 95 "a558d6bdc4b29abf79457eaba52914a0d6c805b7" 96 ] = MzVersion.parse_mz("v0.127.0") 97 if "OptbenchTPCH" in scenario_class_name: 98 # PR#30602 (Replace ColumnKnowledge with EquivalencePropagation) increases wallclock 99 min_ancestor_mz_version_per_commit[ 100 "1bd45336f8335b3487153beb7ce57f6391a7cf9c" 101 ] = MzVersion.parse_mz("v0.126.0") 102 103 if "OptbenchTPCH" in scenario_class_name: 104 # PR#30506 (Remove NonNullable transform) increases wallclock 105 min_ancestor_mz_version_per_commit[ 106 "6981cb35f6a64748293867beb67e74b804f9e723" 107 ] = MzVersion.parse_mz("v0.126.0") 108 109 if scenario_class_name == "KafkaUpsertUnique": 110 # PR#29718 (storage: continual feedback upsert operator) increases CPU and memory 111 min_ancestor_mz_version_per_commit[ 112 "b16b6a2c71f6e52adcbe37988cb262c15074a63f" 113 ] = MzVersion.parse_mz("v0.125.0") 114 115 if scenario_class_name in ( 116 "SmallClusters", 117 "AccumulateReductions", 118 "CreateIndex", 119 "ManySmallUpdates", 120 "FastPathOrderByLimit", 121 "FastPathFilterIndex", 122 "ParallelIngestion", 123 "SubscribeParallelTableWithIndex", 124 "DeltaJoinMaintained", 125 "Update", 126 "Retraction", 127 ): 128 # PR#28307 (Render regions for object build and let bindings) increases messages 129 min_ancestor_mz_version_per_commit[ 130 "ffcafa5b5c3e83845a868cf6103048c045b4f155" 131 ] = MzVersion.parse_mz("v0.113.0") 132 133 if "OptbenchTPCH" in scenario_class_name: 134 # PR#28664 (Introduce MirScalarExpr::reduce_safely) increases wallclock 135 min_ancestor_mz_version_per_commit[ 136 "0a570022e1b78a205d5d9d3ebcb640b714e738c2" 137 ] = MzVersion.parse_mz("v0.111.0") 138 139 if scenario_class_name in {"OptbenchTPCHQ02", "OptbenchTPCHQ18", "OptbenchTPCHQ21"}: 140 # PR#28566 (Incorporate non-null information, and prevent its deletion) increased wallclock 141 min_ancestor_mz_version_per_commit[ 142 "45d78090f8fea353dbdff9f1b2de463d475fabc3" 143 ] = MzVersion.parse_mz("v0.111.0") 144 145 if scenario_class_name == "ManyKafkaSourcesOnSameCluster": 146 # PR#28359 (Reapply "storage: wire up new reclock implementation") increased wallclock 147 min_ancestor_mz_version_per_commit[ 148 "1937ca8b444a919e3077843980c97d61fc072252" 149 ] = MzVersion.parse_mz("v0.110.0") 150 151 if scenario_class_name == "ManyKafkaSourcesOnSameCluster": 152 # PR#28228 (storage/kafka: round-robin partition/worker assignment) increased wallclock 153 min_ancestor_mz_version_per_commit[ 154 "256e1f839ba5243293e738bcd78d0f36c1be8f3e" 155 ] = MzVersion.parse_mz("v0.109.0") 156 157 if scenario_class_name == "MinMax": 158 # PR#27988 (adapter: always declare MV imports non-monotonic) increased wallclock and memory 159 min_ancestor_mz_version_per_commit[ 160 "c18aa43828a7d2e9527151a0251c1f75a06d1469" 161 ] = MzVersion.parse_mz("v0.108.0") 162 163 if scenario_class_name == "AccumulateReductions": 164 # PR#26807 (compute: hydration status based on output frontiers) increased messages 165 min_ancestor_mz_version_per_commit[ 166 "be0e50041169a5cac80c033b083c920b067d049f" 167 ] = MzVersion.parse_mz("v0.106.0") 168 169 if scenario_class_name == "SwapSchema": 170 # PR#27607 (catalog: Listen for updates in transactions) increased wallclock 171 min_ancestor_mz_version_per_commit[ 172 "eef900de75d25fe854524dff9feeed8057e4bf79" 173 ] = MzVersion.parse_mz("v0.105.0") 174 175 if scenario_class_name == "MySqlInitialLoad": 176 # PR#27058 (storage: wire up new reclock implementation) increased memory usage 177 min_ancestor_mz_version_per_commit[ 178 "10abb1cca257ffc3d605c99ed961e037bbf3fa51" 179 ] = MzVersion.parse_mz("v0.103.0") 180 181 if "OptbenchTPCH" in scenario_class_name: 182 # PR#26652 (explain: fix tracing fast path regression) significantly increased wallclock for OptbenchTPCH 183 min_ancestor_mz_version_per_commit[ 184 "96c22562745f59010860bd825de5b4007a172c70" 185 ] = MzVersion.parse_mz("v0.97.0") 186 # PR#24155 (equivalence propagation) significantly increased wallclock for OptbenchTPCH 187 min_ancestor_mz_version_per_commit[ 188 "3cfaa8207faa7df087942cd44311a3e7b4534c25" 189 ] = MzVersion.parse_mz("v0.92.0") 190 191 if scenario_class_name == "FastPathFilterNoIndex": 192 # PR#26084 (Optimize OffsetList) increased wallclock 193 min_ancestor_mz_version_per_commit[ 194 "2abcd90ac3201b0235ea41c5db81bdd931a0fda0" 195 ] = MzVersion.parse_mz("v0.96.0") 196 197 if scenario_class_name == "ParallelDataflows": 198 # PR#26020 (Stage flatmap execution to consolidate as it goes) significantly increased wallclock 199 min_ancestor_mz_version_per_commit[ 200 "da35946d636607a11fa27d5a8ea6e9939bf9525e" 201 ] = MzVersion.parse_mz("v0.93.0") 202 203 # add legacy entries 204 min_ancestor_mz_version_per_commit.update( 205 { 206 # insert newer commits at the top 207 # PR#25502 (JoinFusion across MFPs) increased number of messages 208 "62ea182963be5b956e13115b8ad39f7835fc4351": MzVersion.parse_mz("v0.91.0"), 209 # PR#24906 (Compute operator hydration status logging) increased number of messages against v0.88.1 210 "067ae870eef724f7eb5851b5745b9ff52b881481": MzVersion.parse_mz("v0.89.0"), 211 # PR#24918 (txn-wal: switch to a new operator protocol for lazy) increased number of messages against v0.86.1 (but got reverted in 0.87.1) 212 "b648576b52b8ba9bb3a4732f7022ab5c06ebed32": MzVersion.parse_mz("v0.87.0"), 213 # PR#23659 (txn-wal: enable in CI with "eager uppers") introduces regressions against v0.79.0 214 "c4f520a57a3046e5074939d2ea345d1c72be7079": MzVersion.parse_mz("v0.80.0"), 215 # PR#23421 (coord: smorgasbord of improvements for the crdb-backed timestamp oracle) introduces regressions against 0.78.13 216 "5179ebd39aea4867622357a832aaddcde951b411": MzVersion.parse_mz("v0.79.0"), 217 # insert newer commits at the top 218 } 219 ) 220 221 return min_ancestor_mz_version_per_commit
Git revisions that are based on commits listed as keys require at least the version specified in the value. Note that specified versions do not necessarily need to be already published. Commits must be ordered descending by their date.
ANCESTOR_OVERRIDES_FOR_SCALABILITY_REGRESSIONS =
{'e8c42c65afb7acd55eb7e530a92c89a9165f2e33': MzVersion(major=0, minor=133, patch=0, prerelease=None, build=None), '98678454a334a470ceea46b126586c7e60a0d8a5': MzVersion(major=0, minor=124, patch=0, prerelease=None, build=None), 'ffcafa5b5c3e83845a868cf6103048c045b4f155': MzVersion(major=0, minor=113, patch=0, prerelease=None, build=None), 'c4f520a57a3046e5074939d2ea345d1c72be7079': MzVersion(major=0, minor=80, patch=0, prerelease=None, build=None), '5179ebd39aea4867622357a832aaddcde951b411': MzVersion(major=0, minor=79, patch=0, prerelease=None, build=None)}
ANCESTOR_OVERRIDES_FOR_CORRECTNESS_REGRESSIONS =
{'deb8beb77ddb69895aad899cf2eab90a0a78585d': MzVersion(major=0, minor=118, patch=0, prerelease=None, build=None), '82a5130a8466525c5b3bdb3eff845c7c34585774': MzVersion(major=0, minor=85, patch=0, prerelease=None, build=None)}