{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":16563587,"defaultBranch":"master","name":"cockroach","ownerLogin":"cockroachdb","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-02-06T00:18:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6748139?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719528792.0","currentOid":""},"activityList":{"items":[{"before":"fda516f8705bc5c63522fb8b019f937e015502e9","after":"9c91542eaa3948d218bb3fa1db15a5f3047d80c7","ref":"refs/heads/master","pushedAt":"2024-06-27T23:17:03.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #125648\n\n125648: roachtest: support custom workload node CPU sizes r=srosenberg a=DarrylWong\n\nA common roachtest pattern is to spin up an additional workload node alongside the CRDB cluster. This workload node is often not as stressed as the rest of the cluster, and potentially giving a workload node 32 CPUs can be a waste of money and quota. On the other end, a large scale 50 node cluster might find that a single 8 CPU workload node is not enough.\r\n\r\nThis change allows for roachtests to specify custom CPU sizes for the workload node through the `spec.WorkloadNode` and `spec.WorkloadNodeCPUs` cluster specs.\r\n\r\nThis change also adds a very simple approach for automatically assigning workload nodes less CPU if not explicitly specified in the cluster spec. It checks if a workload node is in use (specified by `spec.WorkloadNode`) and if the cluster is small enough that a smaller CPU should be okay (set very conservatively at 3 CRDB nodes), then sets the workload node to 4 CPUs if applicable.\r\n\r\nRelease note: none\r\nEpic: none\r\nFixes: none\r\nInforms: https://github.com/cockroachdb/cockroach/issues/62302\r\n\r\n------------------------------\r\n\r\nFollow up work would be to go through all the tests and switch them over to use `spec.Workload`, but I wanted to see if my approach was even reasonable first.\n\nCo-authored-by: DarrylWong ","shortMessageHtmlLink":"Merge #125648"}},{"before":"40b35366b5501a013acb4850e8b280655b7a313c","after":null,"ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T22:53:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"}},{"before":"fda516f8705bc5c63522fb8b019f937e015502e9","after":"9c91542eaa3948d218bb3fa1db15a5f3047d80c7","ref":"refs/heads/staging","pushedAt":"2024-06-27T22:53:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #125648\n\n125648: roachtest: support custom workload node CPU sizes r=srosenberg a=DarrylWong\n\nA common roachtest pattern is to spin up an additional workload node alongside the CRDB cluster. This workload node is often not as stressed as the rest of the cluster, and potentially giving a workload node 32 CPUs can be a waste of money and quota. On the other end, a large scale 50 node cluster might find that a single 8 CPU workload node is not enough.\r\n\r\nThis change allows for roachtests to specify custom CPU sizes for the workload node through the `spec.WorkloadNode` and `spec.WorkloadNodeCPUs` cluster specs.\r\n\r\nThis change also adds a very simple approach for automatically assigning workload nodes less CPU if not explicitly specified in the cluster spec. It checks if a workload node is in use (specified by `spec.WorkloadNode`) and if the cluster is small enough that a smaller CPU should be okay (set very conservatively at 3 CRDB nodes), then sets the workload node to 4 CPUs if applicable.\r\n\r\nRelease note: none\r\nEpic: none\r\nFixes: none\r\nInforms: https://github.com/cockroachdb/cockroach/issues/62302\r\n\r\n------------------------------\r\n\r\nFollow up work would be to go through all the tests and switch them over to use `spec.Workload`, but I wanted to see if my approach was even reasonable first.\n\nCo-authored-by: DarrylWong ","shortMessageHtmlLink":"Merge #125648"}},{"before":"b0c501f385b2d5575ea79db32c7f292a04708271","after":"40b35366b5501a013acb4850e8b280655b7a313c","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T22:53:13.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-125648","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-125648"}},{"before":null,"after":"b0c501f385b2d5575ea79db32c7f292a04708271","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T22:53:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify]","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify]"}},{"before":"abb4fd8a7619ff56e4ecc4936c1f0e67233e16d7","after":"fda516f8705bc5c63522fb8b019f937e015502e9","ref":"refs/heads/master","pushedAt":"2024-06-27T22:07:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126350\n\n126350: loqrecovery: skip TestReplicaCollection under deadlock r=arulajmani a=arulajmani\n\nCloses https://github.com/cockroachdb/cockroach/issues/123624 Closes https://github.com/cockroachdb/cockroach/issues/122773\r\n\r\nRelease note: None\n\nCo-authored-by: Arul Ajmani ","shortMessageHtmlLink":"Merge #126350"}},{"before":"629b3a2ab8d22b5314ba32e2c9cd965bfed62a23","after":null,"ref":"refs/heads/blathers/backport-release-24.1-126349","pushedAt":"2024-06-27T21:44:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"}},{"before":"868e2f084379ab1053f4209b97519fc3233e8d50","after":"629b3a2ab8d22b5314ba32e2c9cd965bfed62a23","ref":"refs/heads/blathers/backport-release-24.1-126349","pushedAt":"2024-06-27T21:44:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"tmp","shortMessageHtmlLink":"tmp"}},{"before":null,"after":"868e2f084379ab1053f4209b97519fc3233e8d50","ref":"refs/heads/blathers/backport-release-24.1-126349","pushedAt":"2024-06-27T21:44:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"Merge pull request #126305 from cockroachdb/blathers/backport-release-24.1-125971\n\nrelease-24.1: pkg/cli: only flush logs during startup when running under systemd","shortMessageHtmlLink":"Merge pull request #126305 from cockroachdb/blathers/backport-release…"}},{"before":"687e79386536c26b48ac9006f86128ed17675e7f","after":null,"ref":"refs/heads/blathers/backport-release-23.2-126349","pushedAt":"2024-06-27T21:44:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"}},{"before":"a3e6d01e46be4b18758e43417911ee91f13c1098","after":"687e79386536c26b48ac9006f86128ed17675e7f","ref":"refs/heads/blathers/backport-release-23.2-126349","pushedAt":"2024-06-27T21:44:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"tmp","shortMessageHtmlLink":"tmp"}},{"before":null,"after":"a3e6d01e46be4b18758e43417911ee91f13c1098","ref":"refs/heads/blathers/backport-release-23.2-126349","pushedAt":"2024-06-27T21:44:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"Merge pull request #126163 from cockroachdb/blathers/backport-release-23.2-126126\n\nrelease-23.2: roachtest: wait for job to pause before resuming","shortMessageHtmlLink":"Merge pull request #126163 from cockroachdb/blathers/backport-release…"}},{"before":"2c00eb80ac65f1076811e0974021c4a82efd6619","after":null,"ref":"refs/heads/blathers/backport-release-23.1-126349","pushedAt":"2024-06-27T21:44:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"}},{"before":"2463f8526ae03de764c36d19a001926780e0344b","after":"2c00eb80ac65f1076811e0974021c4a82efd6619","ref":"refs/heads/blathers/backport-release-23.1-126349","pushedAt":"2024-06-27T21:44:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"tmp","shortMessageHtmlLink":"tmp"}},{"before":null,"after":"2463f8526ae03de764c36d19a001926780e0344b","ref":"refs/heads/blathers/backport-release-23.1-126349","pushedAt":"2024-06-27T21:44:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"blathers-crl[bot]","name":null,"path":"/apps/blathers-crl","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/59700?s=80&v=4"},"commit":{"message":"Merge pull request #125077 from cockroachdb/blathers/backport-release-23.1-125015\n\nrelease-23.1: ui: add some vertical space on custom graph page","shortMessageHtmlLink":"Merge pull request #125077 from cockroachdb/blathers/backport-release…"}},{"before":"cbbb6f49beb2c3e92b0d2f53bedf2a15fa29005c","after":null,"ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:44:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"}},{"before":"abb4fd8a7619ff56e4ecc4936c1f0e67233e16d7","after":"fda516f8705bc5c63522fb8b019f937e015502e9","ref":"refs/heads/staging","pushedAt":"2024-06-27T21:44:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126350\n\n126350: loqrecovery: skip TestReplicaCollection under deadlock r=arulajmani a=arulajmani\n\nCloses https://github.com/cockroachdb/cockroach/issues/123624 Closes https://github.com/cockroachdb/cockroach/issues/122773\r\n\r\nRelease note: None\n\nCo-authored-by: Arul Ajmani ","shortMessageHtmlLink":"Merge #126350"}},{"before":"fee24f10a0f617798d580bd9e86d0dc1716a8e2f","after":"cbbb6f49beb2c3e92b0d2f53bedf2a15fa29005c","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:44:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126350","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126350"}},{"before":null,"after":"fee24f10a0f617798d580bd9e86d0dc1716a8e2f","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:44:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify]","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify]"}},{"before":"4fa534be8e68148eede0e7963f7234a71e6a834d","after":"abb4fd8a7619ff56e4ecc4936c1f0e67233e16d7","ref":"refs/heads/master","pushedAt":"2024-06-27T21:44:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126349\n\n126349: opt: check privileges after object resolution for staleness checks r=DrewKimball a=DrewKimball\n\nBefore a query plan can be reused from the query cache, it is necessary to check that all references still resolve to the same database objects, and that the current user has the required permissions on those objects. Since v22.2, we've checked data source permissions before checking object resolution for routines.\r\n\r\nThis could lead to the following bug in the query cache:\r\n1. There are two databases, each with their own user. Each user has permissions only for its own database.\r\n2. Both databases have a table with the same name.\r\n3. Both databases have a routine with the same signature, which references the table from (2).\r\n4. A SQL query that invokes the routine is executed against both databases.\r\n\r\nWith all the above conditions fulfilled, the plan for the query would be cached for one database. Then, when the query was executed against the other database, we would check that the table from the previous database still exists (it does), and then that the current user has the required permissions (it doesn't). This would cause a spurious permission error.\r\n\r\nThis patch fixes the bug by moving all privilege checks after the object resolution checks. This ensures that the query plan is invalidated in cases like the one above, with no spurious error returned to the user.\r\n\r\nFixes #126244\r\n\r\nRelease note (bug fix): Fixed a bug that could cause spurious user permission errors when multiple databases shared a common schema with a routine referencing a table. The bug has existed since UDFs were introduced in v22.2.\n\nCo-authored-by: Drew Kimball ","shortMessageHtmlLink":"Merge #126349"}},{"before":"dd0fa11acf55621a53b252dfa8729a88784fc778","after":null,"ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:12:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"}},{"before":"4fa534be8e68148eede0e7963f7234a71e6a834d","after":"abb4fd8a7619ff56e4ecc4936c1f0e67233e16d7","ref":"refs/heads/staging","pushedAt":"2024-06-27T21:12:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126349\n\n126349: opt: check privileges after object resolution for staleness checks r=DrewKimball a=DrewKimball\n\nBefore a query plan can be reused from the query cache, it is necessary to check that all references still resolve to the same database objects, and that the current user has the required permissions on those objects. Since v22.2, we've checked data source permissions before checking object resolution for routines.\r\n\r\nThis could lead to the following bug in the query cache:\r\n1. There are two databases, each with their own user. Each user has permissions only for its own database.\r\n2. Both databases have a table with the same name.\r\n3. Both databases have a routine with the same signature, which references the table from (2).\r\n4. A SQL query that invokes the routine is executed against both databases.\r\n\r\nWith all the above conditions fulfilled, the plan for the query would be cached for one database. Then, when the query was executed against the other database, we would check that the table from the previous database still exists (it does), and then that the current user has the required permissions (it doesn't). This would cause a spurious permission error.\r\n\r\nThis patch fixes the bug by moving all privilege checks after the object resolution checks. This ensures that the query plan is invalidated in cases like the one above, with no spurious error returned to the user.\r\n\r\nFixes #126244\r\n\r\nRelease note (bug fix): Fixed a bug that could cause spurious user permission errors when multiple databases shared a common schema with a routine referencing a table. The bug has existed since UDFs were introduced in v22.2.\n\nCo-authored-by: Drew Kimball ","shortMessageHtmlLink":"Merge #126349"}},{"before":"bf83f6213a02f42e4db7ac64608b205bc0244faa","after":"dd0fa11acf55621a53b252dfa8729a88784fc778","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:12:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126349","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126349"}},{"before":null,"after":"bf83f6213a02f42e4db7ac64608b205bc0244faa","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T21:11:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify]","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify]"}},{"before":"4b615691f1614e483975d3207626bdf7069d9c33","after":"4fa534be8e68148eede0e7963f7234a71e6a834d","ref":"refs/heads/master","pushedAt":"2024-06-27T20:37:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126231\n\n126231: kvserver: filter events with remote originID before rangefeed publishing r=msbutler a=msbutler\n\nThis patch plumbs the same logic that OmitFromRangefeeds has to kv events\r\noriginally written by a remote cluster using the OriginID field in the\r\nMVCCValueHeader. If a rangefeed registers with the new withOmitRemote flag,\r\nthe rangefeed processor will filter kvevents from a remote cluster.\r\n\r\nInforms https://github.com/cockroachdb/cockroach/issues/126253\r\n\r\nRelease note: none\n\nCo-authored-by: Michael Butler ","shortMessageHtmlLink":"Merge #126231"}},{"before":"e4b93969843bf7295297491b04d1500da6f189f9","after":null,"ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T20:03:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"}},{"before":"4b615691f1614e483975d3207626bdf7069d9c33","after":"4fa534be8e68148eede0e7963f7234a71e6a834d","ref":"refs/heads/staging","pushedAt":"2024-06-27T20:03:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126231\n\n126231: kvserver: filter events with remote originID before rangefeed publishing r=msbutler a=msbutler\n\nThis patch plumbs the same logic that OmitFromRangefeeds has to kv events\r\noriginally written by a remote cluster using the OriginID field in the\r\nMVCCValueHeader. If a rangefeed registers with the new withOmitRemote flag,\r\nthe rangefeed processor will filter kvevents from a remote cluster.\r\n\r\nInforms https://github.com/cockroachdb/cockroach/issues/126253\r\n\r\nRelease note: none\n\nCo-authored-by: Michael Butler ","shortMessageHtmlLink":"Merge #126231"}},{"before":"792c7ff6ecb6a8f8693abc8489820c63c9291714","after":"e4b93969843bf7295297491b04d1500da6f189f9","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T20:03:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126231","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify] -bors-staging-tmp-126231"}},{"before":null,"after":"792c7ff6ecb6a8f8693abc8489820c63c9291714","ref":"refs/heads/staging.tmp","pushedAt":"2024-06-27T20:03:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"[ci skip][skip ci][skip netlify]","shortMessageHtmlLink":"[ci skip][skip ci][skip netlify]"}},{"before":"3322e20772028ff11425d222d781f3814f759ea7","after":"4b615691f1614e483975d3207626bdf7069d9c33","ref":"refs/heads/master","pushedAt":"2024-06-27T20:03:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"craig[bot]","name":null,"path":"/apps/craig","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10419?s=80&v=4"},"commit":{"message":"Merge #126328\n\n126328: parser,tree: use string_or_placeholder for LDR options r=rafiss a=rafiss\n\nUsing a d_expr is too broad here, since it makes it possible to use an invalid type. Using string_or_placeholder matches what we do for other options lists in the grammar.\r\n\r\nfixes https://github.com/cockroachdb/cockroach/issues/126311\r\nRelease note: None\n\nCo-authored-by: Rafi Shamim ","shortMessageHtmlLink":"Merge #126328"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEcVXMfgA","startCursor":null,"endCursor":null}},"title":"Activity · cockroachdb/cockroach"}