{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":49111463,"defaultBranch":"master","name":"cockroach","ownerLogin":"RaduBerinde","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2016-01-06T04:07:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16544120?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726008057.0","currentOid":""},"activityList":{"items":[{"before":"788851101a33661c8097b078e8cb4756d8ce2913","after":"be49eae8a661849f27e1af062d29da60c62de018","ref":"refs/heads/scan-statistics-keys-2","pushedAt":"2024-09-10T22:41:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"storage: fix test crash caused by invalid key passed to builtin\n\nThere are a few `crdb_internal` storage-related built-ins which take\nkeys as arguments: `compact_engine_span`, `sstable_metrics`,\n`scan_storage_internal_keys`. Their implementations allow passing\neither encoded keys or unencoded keys without a timestmap. If the\ngiven key looks like a valid encoded key, we use it as-is.\n\nThere is a case where the key looks valid but later it trips up the\n`EngineComparer`: when it has an encoded version which has zero length\n(i.e. `foo<00><01>`). This commit makes the decoding code more strict\nto error out for such keys.\n\nFixes #129952","shortMessageHtmlLink":"storage: fix test crash caused by invalid key passed to builtin"}},{"before":null,"after":"788851101a33661c8097b078e8cb4756d8ce2913","ref":"refs/heads/scan-statistics-keys-2","pushedAt":"2024-09-10T22:40:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"storage: fix test crash caused by invalid key passed to builtin\n\nThere are a few `crdb_internal` storage-related built-ins which take\nkeys as arguments: `compact_engine_span`, `sstable_metrics,\n`scan_storage_internal_keys`. Their implementations allow passing\neither encoded keys or unencoded keys without a timestmap. If the\ngiven key looks like a valid encoded key, we use it as-is.\n\nThere is a case where the key looks valid but later it trips up the\n`EngineComparer`: when it has an encoded version which has zero length\n(i.e. `foo<00><01>`). This commit makes the decoding code more strict\nto error out for such keys.\n\nFixes #129952","shortMessageHtmlLink":"storage: fix test crash caused by invalid key passed to builtin"}},{"before":"e42e1bd0a108110d017a02b31823e07f1e7dde23","after":"2ce1d771c6f8a6f0caa7d3011a0c5cc67f314154","ref":"refs/heads/mem-limit-warning","pushedAt":"2024-09-09T14:40:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"server: add more info to max-go-limit warning\n\nAdd the sql memory, cache size, and total memory to the warning issued\nwhen `--max-go-memory` is clamped.\n\nFixes #130195","shortMessageHtmlLink":"server: add more info to max-go-limit warning"}},{"before":"561c61c9ee191c4b477cb0afbbabd6cc83d4816a","after":null,"ref":"refs/heads/fix-krb-leak","pushedAt":"2024-09-09T14:36:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"}},{"before":null,"after":"c6ad94b996dc76bcb2b3bd3660315db7734e35f1","ref":"refs/heads/backport22.2-130273","pushedAt":"2024-09-09T14:26:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"gssapiccl: fix kerberos memory leak\n\nThis commit fixes a slow-building memory leak when kerberos is used.\n\nEpic: None\nRelease note (bug fix): fixed a slow-building memory leak when\nusing kerberos authentication.","shortMessageHtmlLink":"gssapiccl: fix kerberos memory leak"}},{"before":"087d563ab08ea966dfa20f8190dc56e7005a16a0","after":"719dd6dbefa9c4fe880113490ef7c4554c97b405","ref":"refs/heads/roachprod-args-description","pushedAt":"2024-09-08T19:46:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"roachprod: improve args flag description\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"roachprod: improve args flag description"}},{"before":null,"after":"087d563ab08ea966dfa20f8190dc56e7005a16a0","ref":"refs/heads/roachprod-args-description","pushedAt":"2024-09-08T19:46:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"roachprod: improve args flag description\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"roachprod: improve args flag description"}},{"before":null,"after":"561c61c9ee191c4b477cb0afbbabd6cc83d4816a","ref":"refs/heads/fix-krb-leak","pushedAt":"2024-09-06T22:37:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"gssapiccl: fix kerberos memory leak\n\nThis commit fixes a slow-building memory leak when kerberos is used.\n\nEpic: None\nRelease note (bug fix): fixed a slow-building memory leak when\nusing kerberos authentication.","shortMessageHtmlLink":"gssapiccl: fix kerberos memory leak"}},{"before":null,"after":"e42e1bd0a108110d017a02b31823e07f1e7dde23","ref":"refs/heads/mem-limit-warning","pushedAt":"2024-09-06T17:31:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"server: add more info to max-go-limit warning\n\nAdd the sql memory, cache size, and total memory to the warning issued\nwhen `--max-go-memory` is clamped.\n\nFixes #130195","shortMessageHtmlLink":"server: add more info to max-go-limit warning"}},{"before":"702d4e6e146d016f51c278141c121fccfd8fdc37","after":null,"ref":"refs/heads/backport23.1-129739","pushedAt":"2024-08-29T17:09:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"}},{"before":"6eba49c8047a2eed8a0ed09c2bd7cffe035a1c69","after":"702d4e6e146d016f51c278141c121fccfd8fdc37","ref":"refs/heads/backport23.1-129739","pushedAt":"2024-08-29T15:22:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-23.1: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-23.1: storage: fix comparison of suffixes"}},{"before":null,"after":"ed307595380be5d30709dda7889cc16b6cc86e4a","ref":"refs/heads/backport23.1-128818","pushedAt":"2024-08-29T15:18:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-24.2: storage: fix cases of unencoded key ranges\n\nThis is a backport of the fixes inside #128043. These are a few cases\nwhere we are passing unencoded key ranges to Pebble for various\noperations. This can result in an effective range that starts and/or\nends sooner than intended (part of the key will be treated as the\nsuffix).\n\nRelease justification: fix for for key range table metrics.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"release-24.2: storage: fix cases of unencoded key ranges"}},{"before":"5a94f044cd88d8465eec8423b3a6c049f2eb8d57","after":"6eba49c8047a2eed8a0ed09c2bd7cffe035a1c69","ref":"refs/heads/backport23.1-129739","pushedAt":"2024-08-29T14:36:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-23.1: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-23.1: storage: fix comparison of suffixes"}},{"before":"88a0e9739fdecda92b8dcec1b6de6057656dd2ed","after":"5a94f044cd88d8465eec8423b3a6c049f2eb8d57","ref":"refs/heads/backport23.1-129739","pushedAt":"2024-08-29T04:21:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-23.1: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-23.1: storage: fix comparison of suffixes"}},{"before":null,"after":"88a0e9739fdecda92b8dcec1b6de6057656dd2ed","ref":"refs/heads/backport23.1-129739","pushedAt":"2024-08-27T18:38:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-23.1: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-23.1: storage: fix comparison of suffixes"}},{"before":"5daa9f6f4983f78f409369071a92ce7775f93bf8","after":null,"ref":"refs/heads/fix-comparator-24.2","pushedAt":"2024-08-27T18:34:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"}},{"before":"9a95942b9fb12fc0085d1e43ed9a25cad1e50593","after":"2c4c888e7ac8b98da22f1eeb7e75bb0ef573e77e","ref":"refs/heads/radu/pebble-master-a70d5b3c41b8","pushedAt":"2024-08-26T22:31:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"go.mod: bump Pebble to a70d5b3c41b8 and update MemFS usage\n\nChanges:\n\n * [`a70d5b3c`](https://github.com/cockroachdb/pebble/commit/a70d5b3c) vfs: redesign MemFS strict mode\n\nRelease note: none.\nEpic: none.","shortMessageHtmlLink":"go.mod: bump Pebble to a70d5b3c41b8 and update MemFS usage"}},{"before":null,"after":"9a95942b9fb12fc0085d1e43ed9a25cad1e50593","ref":"refs/heads/radu/pebble-master-a70d5b3c41b8","pushedAt":"2024-08-26T22:12:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"go.mod: bump Pebble to a70d5b3c41b8 and update MemFS usage\n\nChanges:\n\n * [`a70d5b3c`](https://github.com/cockroachdb/pebble/commit/a70d5b3c) vfs: redesign MemFS strict mode\n\nRelease note: none.\nEpic: none.","shortMessageHtmlLink":"go.mod: bump Pebble to a70d5b3c41b8 and update MemFS usage"}},{"before":"b30849fb2f44038e7f33d88590bd1d6c7e76710d","after":"5daa9f6f4983f78f409369071a92ce7775f93bf8","ref":"refs/heads/fix-comparator-24.2","pushedAt":"2024-08-26T17:19:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-24.2: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-24.2: storage: fix comparison of suffixes"}},{"before":"cef7b54e395c6d2514567d3f7369dec779b59112","after":"e283a56c76c47d139203167dcb1d74898a847f0c","ref":"refs/heads/radu/pebble-master-de41143371aa","pushedAt":"2024-08-26T15:43:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"go.mod: bump Pebble to de41143371aa\n\nChanges:\n\n * [`de411433`](https://github.com/cockroachdb/pebble/commit/de411433) tool: fix up `wal dump`, add `wal dump-merged`\n * [`9b79e826`](https://github.com/cockroachdb/pebble/commit/9b79e826) vfs: make Unwrap part of FS, fix metamorphic restart op\n * [`f8a32c98`](https://github.com/cockroachdb/pebble/commit/f8a32c98) vfs: convert MemFS tests to datadriven\n * [`3d1f61aa`](https://github.com/cockroachdb/pebble/commit/3d1f61aa) sstable: convert RawWriter into an interface\n * [`583859f8`](https://github.com/cockroachdb/pebble/commit/583859f8) colblk: add index block writer, reader, iterator\n * [`de9087ca`](https://github.com/cockroachdb/pebble/commit/de9087ca) sstable: genericize iterators over index block iterator type\n * [`1b4021bc`](https://github.com/cockroachdb/pebble/commit/1b4021bc) colblk: store shared and bundle prefix length\n * [`99abcf76`](https://github.com/cockroachdb/pebble/commit/99abcf76) colblk: add UnsafeOffsets.At2 and improve UnsafeUints.At\n * [`55fcc6e9`](https://github.com/cockroachdb/pebble/commit/55fcc6e9) colblk: special case zero bitmaps\n * [`8ec212a4`](https://github.com/cockroachdb/pebble/commit/8ec212a4) colblk: use regular slice in PrefixBytesIter\n * [`94561af6`](https://github.com/cockroachdb/pebble/commit/94561af6) colblk: add some minor comments\n * [`d4348d08`](https://github.com/cockroachdb/pebble/commit/d4348d08) lint: remove golint\n * [`aa96305a`](https://github.com/cockroachdb/pebble/commit/aa96305a) sstable: fix nil pointer in twoLevelIterator.NextPrefix\n * [`9f97b7bf`](https://github.com/cockroachdb/pebble/commit/9f97b7bf) sstable: fix TestBlockProperties[BoundLimited] to use testkeys.Comparer\n * [`de53a981`](https://github.com/cockroachdb/pebble/commit/de53a981) rowblk: add IndexIter type\n * [`aa32f0b0`](https://github.com/cockroachdb/pebble/commit/aa32f0b0) db: fix WAL offset in replayWAL errors\n\nRelease note: none.\nEpic: none.","shortMessageHtmlLink":"go.mod: bump Pebble to de41143371aa"}},{"before":null,"after":"cef7b54e395c6d2514567d3f7369dec779b59112","ref":"refs/heads/radu/pebble-master-de41143371aa","pushedAt":"2024-08-26T15:27:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"go.mod: bump Pebble to de41143371aa\n\nChanges:\n\n * [`de411433`](https://github.com/cockroachdb/pebble/commit/de411433) tool: fix up `wal dump`, add `wal dump-merged`\n * [`9b79e826`](https://github.com/cockroachdb/pebble/commit/9b79e826) vfs: make Unwrap part of FS, fix metamorphic restart op\n * [`f8a32c98`](https://github.com/cockroachdb/pebble/commit/f8a32c98) vfs: convert MemFS tests to datadriven\n * [`3d1f61aa`](https://github.com/cockroachdb/pebble/commit/3d1f61aa) sstable: convert RawWriter into an interface\n * [`583859f8`](https://github.com/cockroachdb/pebble/commit/583859f8) colblk: add index block writer, reader, iterator\n * [`de9087ca`](https://github.com/cockroachdb/pebble/commit/de9087ca) sstable: genericize iterators over index block iterator type\n * [`1b4021bc`](https://github.com/cockroachdb/pebble/commit/1b4021bc) colblk: store shared and bundle prefix length\n * [`99abcf76`](https://github.com/cockroachdb/pebble/commit/99abcf76) colblk: add UnsafeOffsets.At2 and improve UnsafeUints.At\n * [`55fcc6e9`](https://github.com/cockroachdb/pebble/commit/55fcc6e9) colblk: special case zero bitmaps\n * [`8ec212a4`](https://github.com/cockroachdb/pebble/commit/8ec212a4) colblk: use regular slice in PrefixBytesIter\n * [`94561af6`](https://github.com/cockroachdb/pebble/commit/94561af6) colblk: add some minor comments\n * [`d4348d08`](https://github.com/cockroachdb/pebble/commit/d4348d08) lint: remove golint\n * [`aa96305a`](https://github.com/cockroachdb/pebble/commit/aa96305a) sstable: fix nil pointer in twoLevelIterator.NextPrefix\n * [`9f97b7bf`](https://github.com/cockroachdb/pebble/commit/9f97b7bf) sstable: fix TestBlockProperties[BoundLimited] to use testkeys.Comparer\n * [`de53a981`](https://github.com/cockroachdb/pebble/commit/de53a981) rowblk: add IndexIter type\n * [`aa32f0b0`](https://github.com/cockroachdb/pebble/commit/aa32f0b0) db: fix WAL offset in replayWAL errors\n\nRelease note: none.\nEpic: none.","shortMessageHtmlLink":"go.mod: bump Pebble to de41143371aa"}},{"before":"e5585ab1788f29b967a2ef6fd359a41ecb43d304","after":"b30849fb2f44038e7f33d88590bd1d6c7e76710d","ref":"refs/heads/fix-comparator-24.2","pushedAt":"2024-08-24T19:49:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-24.2: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case.\n\nWe fix the comparator to account for this case correctly and add a\nmore comprehensive test. On the old code, the updated test failed\nwith:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-24.2: storage: fix comparison of suffixes"}},{"before":null,"after":"e5585ab1788f29b967a2ef6fd359a41ecb43d304","ref":"refs/heads/fix-comparator-24.2","pushedAt":"2024-08-24T19:46:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"release-24.2: storage: fix comparison of suffixes\n\nThis is a partial backport of #128043.\n\nRelease justification: this fixes an issue hit in a real cluster where\na range key is never cleaned up.\n\nThe EngineComparer has a bug when comparing bare suffixes - we call\nthe normalization function on a slice without the sentinel byte; that\nfunction's logic is based on length so it will not function properly.\n\nWe recently observed that this can cause problems when a\nRangeKeySet has a suffix with the (now obsolete) synthetic bit set,\nand the corresponding `RangeKeyUnset` is issued by a newer version and\ndoesn't have the bit set. These suffixes are supposed to equal each\nother but this is not currently the case. The updated test failed with:\n```\nCompare(0000000000000002000000010d, 000000000000000200000001010e) = 1, expected 0\n```\n\nWe fix the comparator to account for this case correctly and add more\ntest-only assertions that would have signaled the problem if we had\nthem.\n\nFixes: None\nRelease note: None","shortMessageHtmlLink":"release-24.2: storage: fix comparison of suffixes"}},{"before":"aac2b3efadfa5502597564cf3aecc4740abf8150","after":null,"ref":"refs/heads/radu/pebble-master-1b22d0b78ae4","pushedAt":"2024-08-24T17:43:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"}},{"before":"15db309a564809b9e1de1b832ee13b2e0c80f237","after":null,"ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-23T03:24:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"}},{"before":"3471951627fc0d2204318b97ec2e2734ce47dd28","after":"15db309a564809b9e1de1b832ee13b2e0c80f237","ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-20T19:15:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"build: update golang.org/x/tools and fix some lint failures\n\nUpdate `golang.org/x/tools` and fix new `lintonbuild` failures\nwhere we were passing an arbitrary string as a format string.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"build: update golang.org/x/tools and fix some lint failures"}},{"before":"1e19edf4ff0eda46d374d2e20baf24bb8d97f257","after":"3471951627fc0d2204318b97ec2e2734ce47dd28","ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-20T18:33:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"build: update golang.org/x/tools and fix some lint failures\n\nUpdate `golang.org/x/tools` and fix new `lintonbuild` failures\nwhere we were passing an arbitrary string as a format string.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"build: update golang.org/x/tools and fix some lint failures"}},{"before":"45e4bbe03db033024901832aa269b396c1a6c1b8","after":"1e19edf4ff0eda46d374d2e20baf24bb8d97f257","ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-20T15:08:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"build: update golang.org/x/tools and fix some lint failures\n\nUpdate `golang.org/x/tools` and fix a few new `lintonbuild` failures\nwhere we were passing an arbitrary string as a format string.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"build: update golang.org/x/tools and fix some lint failures"}},{"before":"dfba5deb431f1858e43d6cc195c3c4589b932507","after":"45e4bbe03db033024901832aa269b396c1a6c1b8","ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-20T04:24:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"build: update golang.org/x/tools and fix some lint failures\n\nUpdate `golang.org/x/tools` and fix a few new `lintonbuild` failures\nwhere we were passing an arbitrary string as a format string.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"build: update golang.org/x/tools and fix some lint failures"}},{"before":"3bb7daa355b80de05a4d0eb600536aa4df896b8e","after":"dfba5deb431f1858e43d6cc195c3c4589b932507","ref":"refs/heads/update-go-x-tools","pushedAt":"2024-08-20T04:09:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduBerinde","name":null,"path":"/RaduBerinde","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16544120?s=80&v=4"},"commit":{"message":"build: update golang.org/x/tools and fix some lint failures\n\nUpdate `golang.org/x/tools` and fix a few new `lintonbuild` failures\nwhere we were passing an arbitrary string as a format string.\n\nEpic: none\nRelease note: None","shortMessageHtmlLink":"build: update golang.org/x/tools and fix some lint failures"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQyMjo0MTozMi4wMDAwMDBazwAAAASylU11","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQyMjo0MTozMi4wMDAwMDBazwAAAASylU11","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMFQwNDowOTo0Mi4wMDAwMDBazwAAAASeqfgL"}},"title":"Activity ยท RaduBerinde/cockroach"}