{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":341316058,"defaultBranch":"master","name":"cockroach","ownerLogin":"fqazi","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-02-22T19:38:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1646327?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1727233295.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"802ccfaddf39aaa528c8437e32bc36ac9e193f6d","ref":"refs/heads/fixLeaseUpsertRace","pushedAt":"2024-09-25T03:01:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"catalog/lease: prevent panic inside upsertLeaseLocked\n\nPreviously, it was possible to panic inside upsertLeaseLocked, if the\nstored lease was nil. This could happen in tests which are designed to\ninstantly release dereferenced leases. For example this was seen inside:\nTestAsOfSystemTimeUsesCache. To address this, this patch will add\ndefensive code to check for a valid stored lease, before clearing\nthe session ID stored inside the lease.\n\nFixes: #131300\n\nRelease note: None","shortMessageHtmlLink":"catalog/lease: prevent panic inside upsertLeaseLocked"}},{"before":null,"after":"809d4fcf3d4c54c404dd8f15f2bc4c1d646bca18","ref":"refs/heads/preventTSMix","pushedAt":"2024-09-24T20:42:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: force PCR reader catalogs to use a fixed timestamp\n\nPreviously, the original logic for advancing the PCR reader catalog\ntimestamp ran into the risk of mixing different timestamps, since the\nlease manager relies on range feeds. So, it was possible for a single\ntxn to observe some newer and older descriptors. To address this, this\npatch does the following:\n\n1) It introduces an assertion in the leased descriptors to ensure that\n all external row data tables have the same timestamp.\n2) The connection executor is modified for PCR reader catalog to always\n use AOST queries, where the AOST timestamp is determine based on the\n range feeds check point. This ensures that all data up to the\n timestamp synced up.\n\nFixes: #130812\n\nRelease note: None","shortMessageHtmlLink":"sql: force PCR reader catalogs to use a fixed timestamp"}},{"before":"d08914370d24562bb00effdd8438320e82f128a0","after":"5ca9e9dc5d7056edf2c0af7bd6a5124dc0ab95bd","ref":"refs/heads/backport23.2-131018","pushedAt":"2024-09-19T19:01:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\n\nFixes: #128781\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":null,"after":"d08914370d24562bb00effdd8438320e82f128a0","ref":"refs/heads/backport23.2-131018","pushedAt":"2024-09-19T18:57:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\n\nFixes: #128781\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":"74013607b9b4ecdf5999af1d13fa8ef4c2a41858","after":"b4d0b62bf65a978121dd5238a50c2e62c6fb055b","ref":"refs/heads/backport24.1-131018","pushedAt":"2024-09-19T18:54:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\n\nFixes: #128781\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":null,"after":"74013607b9b4ecdf5999af1d13fa8ef4c2a41858","ref":"refs/heads/backport24.1-131018","pushedAt":"2024-09-19T18:45:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\n\nFixes: #128781\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":"8530db40e1423e7cc259343817ba9347c212dcb2","after":"8db4f0a2caf359a366fa1a3e01669ed67089bc05","ref":"refs/heads/leasingStartupFixed","pushedAt":"2024-09-19T18:10:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"catlog/lease: clean up orphaned session based leases\n\nPreviously, our logic for cleaning up orphaned leases relied on a node\nstarting up with the same SQL instance ID, which would trigger it to\ndelete its previously owned rows. This works fine on-premises where the\nSQL instance IDs are stable, but on serverless, these may change. If an\nexcessive buildup of expired leases occurs, schema change wait\noperations may start failing because our session cache can only track up\nto 1024 dead sessions. This will cause IsAlive checks for SQL sessions\nto incorrectly identify sessions as live due to cache eviction. To\naddress this, this patch updates the CRDB start-up logic to delete any\ndead sessions from the system.lease table. This job runs in the\nbackground and performs liveness checks synchronously to avoid cache\nissues.\n\nFixes: #130529\n\nRelease note (bug fix): serverless clusters may not be able to finalize\nto newer releases if more than 1024 sessions exist inside the\nsystem.lease table.","shortMessageHtmlLink":"catlog/lease: clean up orphaned session based leases"}},{"before":"9058b8117d6b1d2cc54bc578daf8be2d467d6d5a","after":"83b3d20193eb7eed36af83d9f1189a5f0ca91ef5","ref":"refs/heads/mrSystemTableFailure","pushedAt":"2024-09-19T14:29:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\n\nFixes: #128781\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":"5871a9f2ca346d675deeda039169454e78015b06","after":"9058b8117d6b1d2cc54bc578daf8be2d467d6d5a","ref":"refs/heads/mrSystemTableFailure","pushedAt":"2024-09-19T14:28:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table test.\nFixes: #128781\n\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":null,"after":"5871a9f2ca346d675deeda039169454e78015b06","ref":"refs/heads/mrSystemTableFailure","pushedAt":"2024-09-19T14:27:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"multiregionccl: deflake TestMrSystemDatabase\n\nPreviously, the test TestMrSystemDatabase could encounter \"unsupported\ncomparison\" errors from the optimizer on the sqlliveness table, which\nwould happen because the statistics in memory would not have the\ncrdb_internal_region type. When altering the system database to be\nmultiregion we delete the statistics for the sqlliveness table, which\nare only reflected in memory with range feed. If the range feed is\n*slow* then transient errors could occur. To address this, this patch\ntolerates transient errors on the system.sqlliveness table for the\nvalidation query.\n\nFixes: #128781\n\nRelease note: None","shortMessageHtmlLink":"multiregionccl: deflake TestMrSystemDatabase"}},{"before":"34ab48c8f2ac41198bba6a02b01d24fdc71d7f6e","after":"6da5850f64545e65d24f8fef6715604e91c64957","ref":"refs/heads/backport23.2-130928","pushedAt":"2024-09-18T18:50:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":null,"after":"34ab48c8f2ac41198bba6a02b01d24fdc71d7f6e","ref":"refs/heads/backport23.2-130928","pushedAt":"2024-09-18T17:56:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"338da5dabaab59e31bae97cfd51cadfd74e30d42","after":"488f1a2e977337f40d389da4c2c8c92a259b77bb","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-18T15:40:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"11b132ac2eb56dcbb0e5e622d030037c5befdc54","after":"338da5dabaab59e31bae97cfd51cadfd74e30d42","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-18T15:02:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"4c6a0e34993eaf5b648b43d1b503d8dec475cdec","after":"11b132ac2eb56dcbb0e5e622d030037c5befdc54","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-18T14:47:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"c47046919bc6b271a7ca882a3da47e9cc865ba4a","after":"4c6a0e34993eaf5b648b43d1b503d8dec475cdec","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-18T14:45:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nignore dropped / missing descriptor errors when waiting for schema\nchanges inside txnStateTransitionsApplyWrapper. Since the\nconcurrentSchemaChangeError error is retryable, the connection executor\nwill retry the statement and bubble the error back to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"47f9405cb9eb5469ac36ff680834e6e6c4ad1f42","after":"c47046919bc6b271a7ca882a3da47e9cc865ba4a","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-18T11:26:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: handle dropped descriptors when waiting for schema changes\n\nPreviously, when waiting for concurrent schema changes inside:\nwaitForDescriptorSchemaChanges, if the descriptor was dropped we would\nend up returning that error via the txnStateTransitionsApplyWrapper.\nThis would lead to the connection being dropped, which was causing\nflakes in TestConcurrentSchemaChanges. To address this, this patch\nforces schema changes with missing or dropped descriptors to retry,\nwhich should cause the correct error to bubble to the user.\n\nFixes: #130116\n\nRelease note (bug fix): If a connection was attempting a schema change\nwhile the same schema objects were being dropped, it was possible for\nthe connection to be incorrectly dropped.","shortMessageHtmlLink":"sql: handle dropped descriptors when waiting for schema changes"}},{"before":"b562e7518b59405e25e2d33de5aec669e0080408","after":"a4925cab1cb58c3a62b36d36ff87be298318182f","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-16T13:50:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"72caa152e8b1ff59210951dd854055c53243dc74","after":"b562e7518b59405e25e2d33de5aec669e0080408","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-16T13:38:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"a7da919b41386fad899a6c41f18c061c09b3e947","after":"72caa152e8b1ff59210951dd854055c53243dc74","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-16T02:59:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"e5aa8e07d2326e8cce95daeda80fbce423a77a29","after":"a7da919b41386fad899a6c41f18c061c09b3e947","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-16T02:39:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"dbe66cc93376cf3a4bf08cc0b612595c6d0bdfe6","after":"e5aa8e07d2326e8cce95daeda80fbce423a77a29","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-13T18:09:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"f90873aacce2e3b735770ecf3407f1fb33838f22","after":"dbe66cc93376cf3a4bf08cc0b612595c6d0bdfe6","ref":"refs/heads/pcrReaderInterface","pushedAt":"2024-09-13T15:59:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql: block schema changes on reader catalog for PCR\n\nPreviously, schema changes were allowed on the reader catalog created by\nphysical cluster replication. This could be problematic because users\ncould introuduce conflicts that could prevent this. To adress this, this\npatch forces the reader catalogs system database to have the versions\nfiled set, which can be used to disable schema change operations.\n\nRelease note: None","shortMessageHtmlLink":"sql: block schema changes on reader catalog for PCR"}},{"before":"7194173310651beb68039b231a002600fa58abbc","after":"47f9405cb9eb5469ac36ff680834e6e6c4ad1f42","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-12T19:44:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql/schemachanger: fix flake in TestConcurrentSchemaChanges\n\nPreviously, each worker thread in TestConcurrentSchemaChanges had its\nown SQL connection pool, but these pools were limited to a single\nconnection. When running this test in CI, we encounter an internal error\nthat causes the connection to fail on the client side (the exact\nlocation is unclear, but it's likely originating from the go PQ\nlibrary). On the server side, the connection simply drops. Due to the\nconnection pool limit, a new connection cannot be established, resulting\nin this workload encountering the \"driver: bad connection\" error. To\nresolve this, this patch removes the connection limit on the pool,\nallowing a new connection to replace a failed one in the event of a\ndriver error.\n\nFixes: #130116\n\nRelease note: None","shortMessageHtmlLink":"sql/schemachanger: fix flake in TestConcurrentSchemaChanges"}},{"before":null,"after":"7194173310651beb68039b231a002600fa58abbc","ref":"refs/heads/stabilizeTestConcurrentSchemaChanges","pushedAt":"2024-09-12T19:40:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"sql/schemachanger: fix bad connection errors in TestConcurrentSchemaChanges\n\nPreviously, each worker thread in TestConcurrentSchemaChanges had its\nown SQL connection pool, but these pools were limited to a single\nconnection. When running this test in CI, we encounter an internal error\nthat causes the connection to fail on the client side (the exact\nlocation is unclear, but it's likely originating from the go PQ\nlibrary). On the server side, the connection simply drops. Due to the\nconnection pool limit, a new connection cannot be established, resulting\nin this workload encountering the bad connection error. To resolve this,\nthis patch removes the connection limit on the pool, allowing a new\nconnection to replace a failed one in the event of a driver error.\n\nFixes: #130116\n\nRelease note: None","shortMessageHtmlLink":"sql/schemachanger: fix bad connection errors in TestConcurrentSchemaC…"}},{"before":"a1c88b354947d9adf75a8637cb77a665f5739b63","after":"8530db40e1423e7cc259343817ba9347c212dcb2","ref":"refs/heads/leasingStartupFixed","pushedAt":"2024-09-12T13:56:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"catlog/lease: clean up orphaned session based leases\n\nPreviously, our logic for cleaning up orphaned leases relied on a node\nstarting up with the same SQL instance ID, which would trigger it to\ndelete its previously owned rows. This works fine on-premises where the\nSQL instance IDs are stable, but on serverless, these may change. If an\nexcessive buildup of expired leases occurs, schema change wait\noperations may start failing because our session cache can only track up\nto 1024 dead sessions. This will cause IsAlive checks for SQL sessions\nto incorrectly identify sessions as live due to cache eviction. To\naddress this, this patch updates the CRDB start-up logic to delete any\ndead sessions from the system.lease table. This job runs in the\nbackground and performs liveness checks synchronously to avoid cache\nissues.\n\nFixes: #130529\n\nRelease note (bug fix): serverless clusters may not be able to finalize\nto newer releases if more than 1024 sessions exist inside the\nsystem.lease table.","shortMessageHtmlLink":"catlog/lease: clean up orphaned session based leases"}},{"before":"b4729e9a759dd1fcd768f603bd822bf0d5d7c8d7","after":"a1c88b354947d9adf75a8637cb77a665f5739b63","ref":"refs/heads/leasingStartupFixed","pushedAt":"2024-09-12T13:53:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"catlog/lease: clean up orphaned session based leases\n\nPreviously, our logic for cleaning up orphaned leases relied on a node\nstarting up with the same SQL instance ID, which would trigger it to\ndelete its previously owned rows. This works fine on-premises where the\nSQL instance IDs are stable, but on serverless, these may change. If an\nexcessive buildup of expired leases occurs, schema change wait\noperations may start failing because our session cache can only track up\nto 1024 dead sessions. This will cause IsAlive checks for SQL sessions\nto incorrectly identify sessions as live due to cache eviction. To\naddress this, this patch updates the CRDB start-up logic to delete any\ndead sessions from the system.lease table. This job runs in the\nbackground and performs liveness checks synchronously to avoid cache\nissues.\n\nFixes: #130529\n\nRelease note (bug fix): serverless clusters may not be able to finalize\nto newer releases if more than 1024 sessions exist inside the\nsystem.lease table.","shortMessageHtmlLink":"catlog/lease: clean up orphaned session based leases"}},{"before":null,"after":"b4729e9a759dd1fcd768f603bd822bf0d5d7c8d7","ref":"refs/heads/leasingStartupFixed","pushedAt":"2024-09-12T13:34:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"catlog/lease: clean up orphaned session based leases\n\nPreviously, our logic to clean up orphaned lease relied on a node\nstarting up wit the same sql_instance_id, which would cause it to delete\nits previously owned rows. This works fine on-premise where the session\nIDs are table, but on serverless these may shift. If an excessive build\nup of expired leases occurs then schema change wait operations may start\nfailing because our session cache can only track up to a 1024 dead\nsessions. This will cause IsAlive checks for SQL sessions to incorrectly\nsee sessions as live because of cache eviction. To address this, this\npatch updates the CRDB start up logic to delete any dead sessions from\nthe system.lease table. This job starts up in the background and will\nrun liveness checks in a synchronous manner to avoid any cache issues.\n\nFixes: #130529\n\nRelease note (bug fix): serverless clusters may not be able to finalize\nto newer releases if more than 1024 sessions exist inside the\nsystem.lease table.","shortMessageHtmlLink":"catlog/lease: clean up orphaned session based leases"}},{"before":null,"after":"dba7296ad2ba8af4506730ab01c034ec4fe7a0c0","ref":"refs/heads/backport23.2-130064","pushedAt":"2024-09-11T17:36:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"upgrade: dynamically adjust batch size for automatic descriptor repair\n\nPreviously, an upgrade was added to repair any descriptor corruptions\ndetected. The defaults for this upgrade attempted to fix 1,000\ndescriptors within a transaction. This could end up failing with retry\nerrors if the batch encountered any competing high-priority transactions\nlike leasing. To address this, this patch dynamically adjusts the batch\nsize either when excessive retries are observed or the batch of updates\ntakes too long. Once the batch is small enough, only high-priority\ntransactions are used.\n\nFixes: #129949\n\nRelease note (bug fix): Addressed a bug in the upgrade pre-condition for\nrepairing descriptor corruption, which could lead to finalization being\nstuck","shortMessageHtmlLink":"upgrade: dynamically adjust batch size for automatic descriptor repair"}},{"before":"ee754e6b1c40365ba3829a08704cadce1c49d183","after":"e38263f2ef7b61235385abb90f4a4e3b54439d80","ref":"refs/heads/backport24.2-130064","pushedAt":"2024-09-11T17:23:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fqazi","name":"Faizan Qazi","path":"/fqazi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1646327?s=80&v=4"},"commit":{"message":"upgrade: dynamically adjust batch size for automatic descriptor repair\n\nPreviously, an upgrade was added to repair any descriptor corruptions\ndetected. The defaults for this upgrade attempted to fix 1,000\ndescriptors within a transaction. This could end up failing with retry\nerrors if the batch encountered any competing high-priority transactions\nlike leasing. To address this, this patch dynamically adjusts the batch\nsize either when excessive retries are observed or the batch of updates\ntakes too long. Once the batch is small enough, only high-priority\ntransactions are used.\n\nFixes: #129949\n\nRelease note (bug fix): Addressed a bug in the upgrade pre-condition for\nrepairing descriptor corruption, which could lead to finalization being\nstuck","shortMessageHtmlLink":"upgrade: dynamically adjust batch size for automatic descriptor repair"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNVQwMzowMTozNS4wMDAwMDBazwAAAAS_0gXo","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNVQwMzowMTozNS4wMDAwMDBazwAAAAS_0gXo","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMVQxNzoyMzoxOS4wMDAwMDBazwAAAASzfF53"}},"title":"Activity · fqazi/cockroach"}