{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":172104891,"defaultBranch":"main","name":"materialize","ownerLogin":"MaterializeInc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-02-22T17:15:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47674186?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717103830.0","currentOid":""},"activityList":{"items":[{"before":"5a4cb9696321b84bd9a10feda94d1f3c4abe0904","after":"192677f84db754a9026eb065dfbadc9f865c11da","ref":"refs/heads/main","pushedAt":"2024-05-30T20:09:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ParkMyCar","name":"Parker Timmerman","path":"/ParkMyCar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4438098?s=80&v=4"},"commit":{"message":"persist: Don't assert the `logical_nulls` are `None` for non-nullable columns (#27366)\n\nCurrently for a few non-nullable columnar types we assert that there are\r\nno nulls when reading from the column. This fails when roundtripping\r\nthrough Parquet with batch of `SourceData` that contains both `Ok` and\r\n`Err` values. When deserializing, Parquet appears to set the validity\r\nbitmap for child arrays to the validity bitmap of the top-level\r\n`StructArray`. For `SourceData` when there is an `Err` value we set the\r\ncorresponding entry in the `Ok` column to null. This then results in\r\nthose non-nullable columns, within `Ok`, having nulls.\r\n\r\n#### Why didn't we see this before?\r\n\r\nNothing in production, including our stats handling, roundtrips\r\nstructured data through Parquet. The existing\r\n`parquet::validate_roundtrip` helper creates batches of size 1, so we\r\nnever exercise the scenario of an `Err` and `Ok` in the same batch. I\r\nupdated this helper though so we do exercise the scenario.\r\n\r\n### Motivation\r\n\r\n* This PR fixes a previously unreported bug.\r\n* One of our nightly tests that toggles the existing dyncfg on and off\r\nhit this: https://buildkite.com/materialize/nightly/builds/7930\r\n\r\n### Tips for reviewer\r\n\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] This PR has adequate test coverage / QA involvement has been duly\r\nconsidered. ([trigger-ci for additional test/nightly\r\nruns](https://trigger-ci.dev.materialize.com/))\r\n- [ ] This PR has an associated up-to-date [design\r\ndoc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md),\r\nis a design doc\r\n([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)),\r\nor is sufficiently small to not require a design.\r\n \r\n- [ ] If this PR evolves [an existing `$T ⇔ Proto$T`\r\nmapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md)\r\n(possibly in a backwards-incompatible way), then it is tagged with a\r\n`T-proto` label.\r\n- [ ] If this PR will require changes to cloud orchestration or tests,\r\nthere is a companion cloud PR to account for those changes that is\r\ntagged with the release-blocker label\r\n([example](https://github.com/MaterializeInc/cloud/pull/5021)).\r\n\r\n- [x] This PR includes the following [user-facing behavior\r\nchanges](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note):\r\n - N/a","shortMessageHtmlLink":"persist: Don't assert the logical_nulls are None for non-nullable…"}},{"before":"d9284b046b883424ad8fc6602a15f4ca72998d38","after":"5a4cb9696321b84bd9a10feda94d1f3c4abe0904","ref":"refs/heads/main","pushedAt":"2024-05-30T19:57:11.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"petrosagg","name":"Petros Angelatos","path":"/petrosagg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/939420?s=80&v=4"},"commit":{"message":"Merge pull request #27364 from petrosagg/update-mysql-async\n\ndeps: update mysql_async","shortMessageHtmlLink":"Merge pull request #27364 from petrosagg/update-mysql-async"}},{"before":"a6e88108ac99df024332c70c2470e1c0686a79ab","after":"d9284b046b883424ad8fc6602a15f4ca72998d38","ref":"refs/heads/main","pushedAt":"2024-05-30T19:18:31.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rjobanp","name":"Roshan Jobanputra","path":"/rjobanp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818834?s=80&v=4"},"commit":{"message":"Merge pull request #27362 from rjobanp/copy-to-s3-errors\n\nstorage/copy-to-s3: Include error causes in error string returned to client","shortMessageHtmlLink":"Merge pull request #27362 from rjobanp/copy-to-s3-errors"}},{"before":"2ae306c5d81c040bd300cc12300d9ccef54ad859","after":"a6e88108ac99df024332c70c2470e1c0686a79ab","ref":"refs/heads/main","pushedAt":"2024-05-30T18:52:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ParkMyCar","name":"Parker Timmerman","path":"/ParkMyCar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4438098?s=80&v=4"},"commit":{"message":"persist: add `trait ColumnarCodec` and \"packed\" encodings for `AclType` and `MzAclType` (#27360)\n\nThis PR does a few things:\r\n\r\n1. Introduces a `ColumnarCodec` trait that is defines how to encode a\r\ntype `T` so it can be durably persisted in an\r\n`arrow::array::FixedSizeBinaryArray`.\r\n2. Refactors the impls of `PackedInterval` and `PackedNaiveTime`\r\n(introduced in https://github.com/MaterializeInc/materialize/pull/27336)\r\nto use `ColumnarCodec`.\r\n3. Add `PackedAclItem` and `PackedMzAclItem` which implement\r\n`ColumnarCodec`\r\n4. Refactor existing and add more benchmarks to measure the throughput\r\nof encoding and decoding for all of the \"packed\" types vs the existing\r\n`ProtoDatum` types.\r\n\r\n#### Benchmarks\r\n\r\nThe existing benchmarks have been reworked a bit to include encoding\r\ninto an existing buffer and reading from a slice. Also included are\r\nbenchmarks for the same workflow but using the existing protobuf types,\r\nsince the motivation for this work is to improve throughput compared to\r\nprotobuf.\r\n\r\n type | encode | decode\r\n-------------------|------------------------|--------\r\ninterval/packed | ~1,172 mil/second | ~1,000 mil/second\r\ninterval/proto | ~239.3 mil/second | ~120.4 mil/second\r\ntime/packed | ~722.1 mil/second | ~1,038 mil/second\r\ntime/proto | ~336.9 mil/second | ~187.3 mil/second\r\nacl_item/packed | ~1,050 mil/second | ~1,033 mil/second\r\nacl_item/proto | ~117.7 mil/second | ~56.5 mil/second\r\nmz_acl_item/packed | ~385.6 mil/second | ~590.0 mil/second\r\nmz_acl_item/proto | ~58.9 mil/second | ~28.5 mil/second\r\n\r\nIn general, the \"packed\" representations have a 5x - 20x higher\r\nthroughput than their protobuf alternatives. FWIW I believe the packed\r\nrepresentations are so much faster because protobuf encodes integers\r\nwith LEB128 and encodes fields one at a time. Whereas the packed\r\nrepresentations use a bit more memory but encode integers in their true\r\nsize and encodes and entire type \"all at once\".\r\n\r\n### Motivation\r\n\r\nProgress towards\r\nhttps://github.com/MaterializeInc/materialize/issues/24830\r\n\r\n### Checklist\r\n\r\n- [ ] This PR has adequate test coverage / QA involvement has been duly\r\nconsidered. ([trigger-ci for additional test/nightly\r\nruns](https://trigger-ci.dev.materialize.com/))\r\n- [ ] This PR has an associated up-to-date [design\r\ndoc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md),\r\nis a design doc\r\n([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)),\r\nor is sufficiently small to not require a design.\r\n \r\n- [ ] If this PR evolves [an existing `$T ⇔ Proto$T`\r\nmapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md)\r\n(possibly in a backwards-incompatible way), then it is tagged with a\r\n`T-proto` label.\r\n- [ ] If this PR will require changes to cloud orchestration or tests,\r\nthere is a companion cloud PR to account for those changes that is\r\ntagged with the release-blocker label\r\n([example](https://github.com/MaterializeInc/cloud/pull/5021)).\r\n\r\n- [x] This PR includes the following [user-facing behavior\r\nchanges](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note):\r\n - N/a","shortMessageHtmlLink":"persist: add trait ColumnarCodec and \"packed\" encodings for `AclTyp…"}},{"before":"bc456061f05340eefca12e67597acdb31af7ca70","after":"2ae306c5d81c040bd300cc12300d9ccef54ad859","ref":"refs/heads/main","pushedAt":"2024-05-30T16:43:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ParkMyCar","name":"Parker Timmerman","path":"/ParkMyCar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4438098?s=80&v=4"},"commit":{"message":"persist: Write structured columnar data to S3 (#26561)\n\nThis PR adds a V0 implementation of writing structured columnar data to\r\nS3.\r\n\r\nTo start it introduces two `dyncfg`s to control this:\r\n1. `persist_batch_columnar_format` - controls the format we'll use to\r\nwrite batches, either `Row` which is the same as the current behavior,\r\nor `Both` which writes row data and structured columnar format.\r\n2. `persist_part_decode_Format` - controls how we decode parts, current\r\noptions are `Row { validate_structured: bool }`. We will always decode\r\n`Row` data, but we will optionally decode and validate the structured\r\ndata.\r\n\r\nUsing these two `dyncfg`s we update the Arrow/Parquet handling to\r\noptionally encode and decode two new `k_s` and `v_s` columns which are\r\nstructured versions of the existing `k` and `v` columns.\r\n\r\nIf structured encoding is turned on, we use the columnar `Part` we\r\ncreate for collecting statistics and instead of throwing it away we\r\nwrite it to S3. So the write path shouldn't become any more expensive.\r\nIf structured decoding is enabled then we will optionally decode a `K`\r\nand `V` from our structured data, check that it matches what we decode\r\nfrom the Row data, and record the result of that check in a prometheus\r\nmetric for monitoring.\r\n\r\n#### Tests\r\n\r\nI extended some existing tests that validate round-tripping\r\n`ScalarType`s/`Datum`s to go through Parquet. Also updated the\r\n`testdrive` mzcompose framework to support setting dyncfgs and addded a\r\nnew nightly test slug that runs all of testdrive with structured data\r\nenabled.\r\n\r\n#### Metrics\r\n\r\nAdded a few new metrics to track the encoding speed and size of the\r\nstructured format.\r\n\r\nArrow related metrics\r\n\r\n(for `k_s` and `v_s` columns)\r\n* `decode_count`\r\n* `decode_seconds`\r\n* `correct_count`\r\n* `incorrect_count`\r\n\r\n(for a `Part`)\r\n* `part_build_count`\r\n* `part_build_seconds`\r\n\r\nParquet Related metrics\r\n\r\n(for `k`, `v`, `t`, `d`, `k_s`, `v_s` columns)\r\n* `uncompressed_size`\r\n* `compressed_size`\r\n\r\n(for a Parquet file)\r\n* `encoded_size`\r\n* `num_row_groups`\r\n\r\n### Motivation\r\n\r\nProgress towards\r\nhttps://github.com/MaterializeInc/materialize/issues/24830\r\n\r\n### Tips for reviewer\r\n\r\nThis PR is split up into logical commits that can be reviewed\r\nindependently:\r\n\r\n1. Changes to our existing Columnar code that is necessary to support\r\nround-tripping through Parquet.\r\n2. Add relevant Arrow and Parquet methods for encoding the new `k_s` and\r\n`v_s` structured columns.\r\n3. Changes to the `Batch` encoding path to optionally write structured\r\ndata\r\n4. Changes to the `Batch` decoding path to optionally read structured\r\ndata\r\n5. Test related changes.\r\n\r\n### Checklist\r\n\r\n- [ ] This PR has adequate test coverage / QA involvement has been duly\r\nconsidered.\r\n- [ ] This PR has an associated up-to-date [design\r\ndoc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md),\r\nis a design doc\r\n([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)),\r\nor is sufficiently small to not require a design.\r\n \r\n- [ ] If this PR evolves [an existing `$T ⇔ Proto$T`\r\nmapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md)\r\n(possibly in a backwards-incompatible way), then it is tagged with a\r\n`T-proto` label.\r\n- [ ] If this PR will require changes to cloud orchestration or tests,\r\nthere is a companion cloud PR to account for those changes that is\r\ntagged with the release-blocker label\r\n([example](https://github.com/MaterializeInc/cloud/pull/5021)).\r\n\r\n- [x] This PR includes the following [user-facing behavior\r\nchanges](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note):\r\n - Adds a feature gated ability to write structured columnar data.","shortMessageHtmlLink":"persist: Write structured columnar data to S3 (#26561)"}},{"before":"2c580dc593ae0b8bace2967fbddafe89c3a4e2d4","after":"bc456061f05340eefca12e67597acdb31af7ca70","ref":"refs/heads/main","pushedAt":"2024-05-30T15:34:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"maddyblue","name":"Maddy Blue","path":"/maddyblue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41181?s=80&v=4"},"commit":{"message":"Merge pull request #27350 from maddyblue/fix-schemas\n\ncatalog: advertise objects in the schemas they are created in","shortMessageHtmlLink":"Merge pull request #27350 from maddyblue/fix-schemas"}},{"before":"6203caf318d801023feaaf36babce9fcae6cb774","after":"2c580dc593ae0b8bace2967fbddafe89c3a4e2d4","ref":"refs/heads/main","pushedAt":"2024-05-30T15:01:45.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"teskje","name":"Jan Teske","path":"/teskje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4521314?s=80&v=4"},"commit":{"message":"Merge pull request #27344 from teskje/mz_system-exceptions\n\nadapter: let mz_system modify read-only clusters/schemas","shortMessageHtmlLink":"Merge pull request #27344 from teskje/mz_system-exceptions"}},{"before":"cc0210f77d2d690431a96b966175ed5d12c28a41","after":"6203caf318d801023feaaf36babce9fcae6cb774","ref":"refs/heads/main","pushedAt":"2024-05-30T14:27:21.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27356 from nrainer-materialize/buildkite-search/single-line-result\n\nbuildkite search: single line result","shortMessageHtmlLink":"Merge pull request #27356 from nrainer-materialize/buildkite-search/s…"}},{"before":"e6a411d50d206c2f7585e03e2f19c842df2f9af4","after":"cc0210f77d2d690431a96b966175ed5d12c28a41","ref":"refs/heads/main","pushedAt":"2024-05-30T14:19:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Guard access to analysis results (#27353)\n\nThe `Analysis` framework reveals the results of expression children as\r\npart of the ongoing derivation, but this means that information about\r\nnon-children may not be available, and in particular information about\r\nfuture bindings in a `LetRec` are not available. This means that\r\nimplementors must themselves guard against out-of-bounds access based on\r\nthese identifiers, using e.g. `results.get(id)` rather than\r\n`results[id]`.\r\n\r\nThere seemed to be only one instance of this, in our cardinality\r\ncomputation. It seems localized to `Get` expression handling.\r\n\r\n### Motivation\r\n\r\n\r\n\r\n### Tips for reviewer\r\n\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] This PR has adequate test coverage / QA involvement has been duly\r\nconsidered. ([trigger-ci for additional test/nightly\r\nruns](https://trigger-ci.dev.materialize.com/))\r\n- [ ] This PR has an associated up-to-date [design\r\ndoc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md),\r\nis a design doc\r\n([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)),\r\nor is sufficiently small to not require a design.\r\n \r\n- [ ] If this PR evolves [an existing `$T ⇔ Proto$T`\r\nmapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md)\r\n(possibly in a backwards-incompatible way), then it is tagged with a\r\n`T-proto` label.\r\n- [ ] If this PR will require changes to cloud orchestration or tests,\r\nthere is a companion cloud PR to account for those changes that is\r\ntagged with the release-blocker label\r\n([example](https://github.com/MaterializeInc/cloud/pull/5021)).\r\n\r\n- [ ] This PR includes the following [user-facing behavior\r\nchanges](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note):\r\n- ","shortMessageHtmlLink":"Guard access to analysis results (#27353)"}},{"before":"811daf96c073568743c6d7827853015d693e8f9c","after":"e6a411d50d206c2f7585e03e2f19c842df2f9af4","ref":"refs/heads/main","pushedAt":"2024-05-30T12:06:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"morsapaes","name":"Marta Paes","path":"/morsapaes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23521087?s=80&v=4"},"commit":{"message":"docs: update Redpanda cloud api version ref (#27352)\n\nUpdate references to the Redpanda API to effectively use the latest Redpanda\r\ncloud API version.\r\n\r\nSigned-off-by: Santiago Jimenez Giraldo ","shortMessageHtmlLink":"docs: update Redpanda cloud api version ref (#27352)"}},{"before":"1828c19264b28e5edcc4ba60a0ab36971a351983","after":"811daf96c073568743c6d7827853015d693e8f9c","ref":"refs/heads/main","pushedAt":"2024-05-30T09:15:08.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"Merge pull request #27307 from aljoscha/controller-fix-dropped-collections\n\nstorage: eagerly clear read holds when dropping collections","shortMessageHtmlLink":"Merge pull request #27307 from aljoscha/controller-fix-dropped-collec…"}},{"before":"ea8359d5dfebf3664cfe0672ccd982de7aa65dea","after":"1828c19264b28e5edcc4ba60a0ab36971a351983","ref":"refs/heads/main","pushedAt":"2024-05-30T08:52:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"bazel: fix failure (#27351)","shortMessageHtmlLink":"bazel: fix failure (#27351)"}},{"before":"526388632699f3a65da2c27c1dcb4c73b9f9474e","after":"ea8359d5dfebf3664cfe0672ccd982de7aa65dea","ref":"refs/heads/main","pushedAt":"2024-05-30T08:40:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"morsapaes","name":"Marta Paes","path":"/morsapaes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23521087?s=80&v=4"},"commit":{"message":"doc/user: polish v0.101 release notes (#27349)","shortMessageHtmlLink":"doc/user: polish v0.101 release notes (#27349)"}},{"before":"30aa94a050c2e58b27f763de919dcfeaa74f1f01","after":"526388632699f3a65da2c27c1dcb4c73b9f9474e","ref":"refs/heads/main","pushedAt":"2024-05-30T00:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"materialize-bot","name":"Materialize Bot","path":"/materialize-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49001892?s=80&v=4"},"commit":{"message":"LICENSE: update change date","shortMessageHtmlLink":"LICENSE: update change date"}},{"before":"eb640772576d6a598ed58e3a3ee66aaaaff086ea","after":"30aa94a050c2e58b27f763de919dcfeaa74f1f01","ref":"refs/heads/main","pushedAt":"2024-05-29T19:44:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ParkMyCar","name":"Parker Timmerman","path":"/ParkMyCar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4438098?s=80&v=4"},"commit":{"message":"persist: \"packed\" encodings for `Interval` and `Time` (#27336)\n\nThis PR implements \"packed\" encodings for `Interval` and `Time` that\r\nwill be used for writing structured data in Persist.\r\n\r\nThe packed encodings are designed to be as fast as possible and have the\r\nsame sort order as the original types. They're based on discussion from\r\nhttps://github.com/MaterializeInc/materialize/pull/26175. I added\r\nbenchmarks that measure throughput and locally I get the following\r\nresults:\r\n\r\n type | encode | decode\r\n---------|---------------------|--------\r\ninterval | ~1.5 billion/second | ~1.6 billion/second\r\ntime | ~2.5 billion/second | ~1.3 billion/second\r\n\r\nI believe the implementations can be optimized further with SIMD, but\r\nright now that requires `inline_asm!` or the `Nightly` compiler.\r\n\r\nNote: The code placement feels a bit weird since these impls should only\r\nbe used by Persist, so I was thinking of putting the impl behind a trait\r\nlike `mz_persist_types::ColumnarCodec`, but was curious what other folks\r\nthought.\r\n\r\n### Motivation\r\n\r\nProgress towards\r\nhttps://github.com/MaterializeInc/materialize/issues/24830\r\n\r\n### Checklist\r\n\r\n- [ ] This PR has adequate test coverage / QA involvement has been duly\r\nconsidered. ([trigger-ci for additional test/nightly\r\nruns](https://trigger-ci.dev.materialize.com/))\r\n- [ ] This PR has an associated up-to-date [design\r\ndoc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md),\r\nis a design doc\r\n([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)),\r\nor is sufficiently small to not require a design.\r\n \r\n- [ ] If this PR evolves [an existing `$T ⇔ Proto$T`\r\nmapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md)\r\n(possibly in a backwards-incompatible way), then it is tagged with a\r\n`T-proto` label.\r\n- [ ] If this PR will require changes to cloud orchestration or tests,\r\nthere is a companion cloud PR to account for those changes that is\r\ntagged with the release-blocker label\r\n([example](https://github.com/MaterializeInc/cloud/pull/5021)).\r\n\r\n- [ ] This PR includes the following [user-facing behavior\r\nchanges](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note):\r\n- ","shortMessageHtmlLink":"persist: \"packed\" encodings for Interval and Time (#27336)"}},{"before":"51a124b520cf6765656d9e2bd87fbbe0a23d877f","after":"eb640772576d6a598ed58e3a3ee66aaaaff086ea","ref":"refs/heads/main","pushedAt":"2024-05-29T19:32:18.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alex-hunt-materialize","name":null,"path":"/alex-hunt-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86254996?s=80&v=4"},"commit":{"message":"Merge pull request #27338 from jpepin/jp-6103-kubectl-test-apply\n\nkubectl util: add server-side apply","shortMessageHtmlLink":"Merge pull request #27338 from jpepin/jp-6103-kubectl-test-apply"}},{"before":"37ff6653634c70a8f61e082b0609f2b7e56de368","after":"51a124b520cf6765656d9e2bd87fbbe0a23d877f","ref":"refs/heads/main","pushedAt":"2024-05-29T16:08:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"teskje","name":"Jan Teske","path":"/teskje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4521314?s=80&v=4"},"commit":{"message":"Merge pull request #27341 from teskje/remove-correction-peak-metrics\n\npersist-client: remove sink_correction_peak metrics","shortMessageHtmlLink":"Merge pull request #27341 from teskje/remove-correction-peak-metrics"}},{"before":"4fd5df7b885ea48e33df8e246685d0659f401cbb","after":"37ff6653634c70a8f61e082b0609f2b7e56de368","ref":"refs/heads/main","pushedAt":"2024-05-29T15:46:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"tests: enable and adjust catalog.td (#27343)","shortMessageHtmlLink":"tests: enable and adjust catalog.td (#27343)"}},{"before":"218baf3a646ef259c8e992ffac3803391ad398b4","after":"4fd5df7b885ea48e33df8e246685d0659f401cbb","ref":"refs/heads/main","pushedAt":"2024-05-29T13:49:28.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27312 from nrainer-materialize/feature-benchmark/versioning\n\nfeature benchmark: versioning","shortMessageHtmlLink":"Merge pull request #27312 from nrainer-materialize/feature-benchmark/…"}},{"before":"a93952fbf0b948232290f18bea12c9e033be53c2","after":"218baf3a646ef259c8e992ffac3803391ad398b4","ref":"refs/heads/main","pushedAt":"2024-05-29T13:35:08.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27310 from nrainer-materialize/scalability/versioning\n\nscalability framework: versioning","shortMessageHtmlLink":"Merge pull request #27310 from nrainer-materialize/scalability/versio…"}},{"before":"3cb405efd88ed3c785fe9935090ac4d5d33dc222","after":"a93952fbf0b948232290f18bea12c9e033be53c2","ref":"refs/heads/main","pushedAt":"2024-05-29T13:07:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"bazel: fix build (#27339)","shortMessageHtmlLink":"bazel: fix build (#27339)"}},{"before":"599e09ff5a4c14c15463b60cf78e04fd44524f5d","after":"3cb405efd88ed3c785fe9935090ac4d5d33dc222","ref":"refs/heads/main","pushedAt":"2024-05-29T10:12:20.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"Merge pull request #27323 from aljoscha/storage-fix-sink-panic\n\nstorage,persist: allow callers of persist_source to handle \"cannot serve...\" errors","shortMessageHtmlLink":"Merge pull request #27323 from aljoscha/storage-fix-sink-panic"}},{"before":"04fa8b61181097f017f5033e4c736c4c3f3b72a3","after":"599e09ff5a4c14c15463b60cf78e04fd44524f5d","ref":"refs/heads/main","pushedAt":"2024-05-29T09:18:42.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27340 from nrainer-materialize/output-consistency/statistics\n\noutput consistency: print operation and function statistics","shortMessageHtmlLink":"Merge pull request #27340 from nrainer-materialize/output-consistency…"}},{"before":"6c176caab07d18d89de11ac2a7ed2dbb1e6ada64","after":"04fa8b61181097f017f5033e4c736c4c3f3b72a3","ref":"refs/heads/main","pushedAt":"2024-05-29T09:18:24.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27327 from nrainer-materialize/lint/check-hash-versions-2\n\nlint: check version skew (2)","shortMessageHtmlLink":"Merge pull request #27327 from nrainer-materialize/lint/check-hash-ve…"}},{"before":"fdfc33b785ba9924f3ab787b5b2b80251589539f","after":"6c176caab07d18d89de11ac2a7ed2dbb1e6ada64","ref":"refs/heads/main","pushedAt":"2024-05-29T09:18:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"tests: automatically retry data-ingest on network error (#27331)","shortMessageHtmlLink":"tests: automatically retry data-ingest on network error (#27331)"}},{"before":"4af217dace4d8012d8a92ccbb411da0324996a70","after":"fdfc33b785ba9924f3ab787b5b2b80251589539f","ref":"refs/heads/main","pushedAt":"2024-05-29T09:17:37.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"nrainer-materialize","name":"nrainer-materialize","path":"/nrainer-materialize","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/129728240?s=80&v=4"},"commit":{"message":"Merge pull request #27322 from nrainer-materialize/tests/rtr-resumption\n\ntests: add reworked RTR resumption tests","shortMessageHtmlLink":"Merge pull request #27322 from nrainer-materialize/tests/rtr-resumption"}},{"before":"329ca720f1bb3cd7086b6f47c7ed47dc279f070d","after":"4af217dace4d8012d8a92ccbb411da0324996a70","ref":"refs/heads/main","pushedAt":"2024-05-29T05:02:10.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"benesch","name":"Nikhil Benesch","path":"/benesch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/882976?s=80&v=4"},"commit":{"message":"Merge pull request #27317 from benesch/envd-connection-metric\n\nclusterd: add metric for receipt of last envd command","shortMessageHtmlLink":"Merge pull request #27317 from benesch/envd-connection-metric"}},{"before":"cca28390f8e8ee6f5e4257b10ef5bd0d6d63c829","after":"329ca720f1bb3cd7086b6f47c7ed47dc279f070d","ref":"refs/heads/main","pushedAt":"2024-05-29T04:15:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jubrad","name":"Justin Bradfield","path":"/jubrad","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4951073?s=80&v=4"},"commit":{"message":"Merge pull request #27337 from jubrad/remove-privatelink-public-preview-warnings\n\nremove public preview warnings for privatelink connections","shortMessageHtmlLink":"Merge pull request #27337 from jubrad/remove-privatelink-public-previ…"}},{"before":"6196c52215497efead64911d2d86ea226f7ef28d","after":"cca28390f8e8ee6f5e4257b10ef5bd0d6d63c829","ref":"refs/heads/main","pushedAt":"2024-05-29T00:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"materialize-bot","name":"Materialize Bot","path":"/materialize-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49001892?s=80&v=4"},"commit":{"message":"LICENSE: update change date","shortMessageHtmlLink":"LICENSE: update change date"}},{"before":"197b113a790f64e2d79ed6d3d175981d3a0220b5","after":"6196c52215497efead64911d2d86ea226f7ef28d","ref":"refs/heads/main","pushedAt":"2024-05-28T19:20:45.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"sploiselle","name":"Sean Loiselle","path":"/sploiselle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19260003?s=80&v=4"},"commit":{"message":"Merge pull request #27284 from sploiselle/rtr-docs\n\ndoc: rough draft of RTR docs","shortMessageHtmlLink":"Merge pull request #27284 from sploiselle/rtr-docs"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWGMNXAA","startCursor":null,"endCursor":null}},"title":"Activity · MaterializeInc/materialize"}