{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":123494975,"defaultBranch":"master","name":"snuba","ownerLogin":"getsentry","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-03-01T21:34:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1396951?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726005200.0","currentOid":""},"activityList":{"items":[{"before":"a93ad19f329b6c880da4649dae12a7d532e9651f","after":"ec5078be029ce58d3c8896bf10bc99fd148cb84e","ref":"refs/heads/onkar/snuba-admin","pushedAt":"2024-09-11T01:47:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"onkar","name":"Onkar Deshpande","path":"/onkar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/163539?s=80&v=4"},"commit":{"message":"Fix","shortMessageHtmlLink":"Fix"}},{"before":"6c13da89f3bad7ef423cffbc4b0e8081ec762594","after":"b931c41c438b07061715cb21d4d9321df39ea171","ref":"refs/heads/gh-pages","pushedAt":"2024-09-10T21:53:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: d02cff457622faddd35f673dbaf6ccf375bbf3ad","shortMessageHtmlLink":"deploy: d02cff4"}},{"before":"10f09de5844d55cab7411e0716a8693341c84d0c","after":null,"ref":"refs/heads/mapcontains_eap","pushedAt":"2024-09-10T21:53:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"}},{"before":"2d14165cb5e67e31578c876c2ce6b8ece3278bfc","after":"d02cff457622faddd35f673dbaf6ccf375bbf3ad","ref":"refs/heads/master","pushedAt":"2024-09-10T21:53:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"feat(eap): make mapContains work with EAP dataset (#6284)\n\nThis hashes the key before it's sent over to clickhouse.","shortMessageHtmlLink":"feat(eap): make mapContains work with EAP dataset (#6284)"}},{"before":"e96398394ba282c6545d6d74d4720d209d081d03","after":"6c13da89f3bad7ef423cffbc4b0e8081ec762594","ref":"refs/heads/gh-pages","pushedAt":"2024-09-10T21:53:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 2d14165cb5e67e31578c876c2ce6b8ece3278bfc","shortMessageHtmlLink":"deploy: 2d14165"}},{"before":"f72b464357bdced5ca90ad5f30f4fa1c1efc1ac7","after":null,"ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T21:52:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"}},{"before":"7d2504781859707265c34faef8a358e9a5131920","after":"2d14165cb5e67e31578c876c2ce6b8ece3278bfc","ref":"refs/heads/master","pushedAt":"2024-09-10T21:52:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"feat(job-runner): create a new `snuba jobs` command (#6281)\n\nhttps://getsentry.atlassian.net/browse/SNS-2868\r\n\r\nSnuba runs migrations automatically on deploy. Clickhouse migrations are\r\noperating on a large distributed system and things can go wrong which\r\nrequire manual intervention. Migration repair efforts have the goal of\r\nallowing SnS to run DDL operations on Clickhouse without SRE\r\nintervention\r\n\r\nThe `Snuba Jobs` command is the first step towards allowing us to\r\ntrigger jobs from Snuba Admin.\r\n\r\nExecuting dry run queries:\r\n![Screenshot 2024-09-10 at 2 11\r\n23 PM](https://github.com/user-attachments/assets/e485aeff-d852-422f-a560-26ea62340ffd)\r\n\r\nExecuting non dry run queries:\r\n![Screenshot 2024-09-10 at 2 11\r\n59 PM](https://github.com/user-attachments/assets/57c54624-295c-4396-b520-d01b2d2add1c)\r\n\r\n---------\r\n\r\nCo-authored-by: Rachel Chen ","shortMessageHtmlLink":"feat(job-runner): create a new snuba jobs command (#6281)"}},{"before":"e5775e6ffd0a2a0908f4052fe4bbbbb62fda5cd2","after":"f72b464357bdced5ca90ad5f30f4fa1c1efc1ac7","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T21:25:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":"7b5de1e628aae89f01a07d2deaf10d963b51bf76","after":"e5775e6ffd0a2a0908f4052fe4bbbbb62fda5cd2","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T21:22:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":"5e4c94b9602a60d0db7eea106f5096b1f2ecca6d","after":"7b5de1e628aae89f01a07d2deaf10d963b51bf76","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T21:16:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":null,"after":"14b21b3af29ee7f944362a98dde411e63fe08782","ref":"refs/heads/sampling_weight","pushedAt":"2024-09-10T21:14:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"Switch to sampling_weight_2 in entity","shortMessageHtmlLink":"Switch to sampling_weight_2 in entity"}},{"before":"e7a66f80ab562649e2c909a04e4d2e9f40e07efb","after":"5e4c94b9602a60d0db7eea106f5096b1f2ecca6d","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T20:18:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":"79e2f708512cdc5b95b94cbf2be7dfe156a32d83","after":"e96398394ba282c6545d6d74d4720d209d081d03","ref":"refs/heads/gh-pages","pushedAt":"2024-09-10T20:04:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 7d2504781859707265c34faef8a358e9a5131920","shortMessageHtmlLink":"deploy: 7d25047"}},{"before":"4f3ecc9e6610c6e5e3064354b9e1a1ef052d13fc","after":null,"ref":"refs/heads/attr_shard","pushedAt":"2024-09-10T20:03:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"}},{"before":"067fbd8365cdc6e50a70a88f39a492671a68aebc","after":"7d2504781859707265c34faef8a358e9a5131920","ref":"refs/heads/master","pushedAt":"2024-09-10T20:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"feat(eap): Shard meta tables by trace ID (#6286)\n\nWe'd like to be able to write queries like this one:\r\n\r\n```\r\nSELECT\r\n quantileTDigest(0.75)(duration_ms)\r\nFROM eap_spans_dist\r\n PREWHERE name = '/npv' and is_segment = true\r\nWHERE\r\n organization_id = 22381\r\n AND project_id = 1506863\r\n AND attr_str_0['transaction.op'] = 'navigation'\r\n AND attr_str_14['platform'] != 'roku'\r\n AND attr_str_14['environment'] = 'prod'\r\n AND _sort_timestamp > toDateTime(1725576602)\r\n AND (_sort_timestamp, trace_id) IN (\r\n SELECT any(timestamp) AS ts, trace_id FROM spans_str_attrs_local WHERE (organization_id, attr_key, attr_value) IN ((22381, 'transaction.op', 'navigation'), (22381, 'environment', 'prod'))\r\n AND timestamp > toDateTime(1725576602)\r\n GROUP BY trace_id\r\n HAVING groupBitOr(attr_key = 'transaction.op' AND attr_value = 'navigation')\r\n AND groupBitOr(attr_key = 'environment' AND attr_value = 'prod')\r\n ORDER BY ts\r\n )\r\nLIMIT 0, 51\r\nSETTINGS max_threads=10, max_memory_usage=0, min_bytes_to_use_direct_io=1,\r\ndistributed_product_mode = 'allow'\r\n```\r\n\r\nThe eap_spans_dist table is sharded by this same shard key\r\n`cityHash64(reinterpretAsUInt128(trace_id))`\r\n\r\nIf you don't shard both with the same shard key, you either have to do a\r\ntwo step process (GLOBAL):\r\n- select all trace IDs from all shards\r\n- send that list of all trace IDs to all shards\r\nthis is slow.\r\n\r\nOr, you can do\r\n- select trace IDs on each shard\r\n\r\nThis is incorrect, since you might skip spans which match the\r\nconditions, but just happen not to have the meta table rows stored on\r\nthe same shard.\r\n\r\nIf you shard both tables by trace_id, you can join on trace_id in a\r\ndistributed manner, which appears to be ~5x faster.","shortMessageHtmlLink":"feat(eap): Shard meta tables by trace ID (#6286)"}},{"before":"b1b52f057ddde6711ba20e3a1ec07a14a09b41c1","after":"11a1a240be634013a91152950d542ef34bd101b9","ref":"refs/heads/entity-validation-for-composite-queries","pushedAt":"2024-09-10T20:00:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"enochtangg","name":"Enoch Tang","path":"/enochtangg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23560545?s=80&v=4"},"commit":{"message":"fix typing","shortMessageHtmlLink":"fix typing"}},{"before":"bb847d7fd54344294648506f28403085114670f4","after":"e7a66f80ab562649e2c909a04e4d2e9f40e07efb","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T19:58:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":"d99eaaefb9680c7bd6677b82845f8fc69318981c","after":"4f3ecc9e6610c6e5e3064354b9e1a1ef052d13fc","ref":"refs/heads/attr_shard","pushedAt":"2024-09-10T19:36:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"empty","shortMessageHtmlLink":"empty"}},{"before":"cd0cb21bccfdc6ecc7cfa39e1a21fed8561cc526","after":"d99eaaefb9680c7bd6677b82845f8fc69318981c","ref":"refs/heads/attr_shard","pushedAt":"2024-09-10T19:33:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"dist","shortMessageHtmlLink":"dist"}},{"before":null,"after":"cd0cb21bccfdc6ecc7cfa39e1a21fed8561cc526","ref":"refs/heads/attr_shard","pushedAt":"2024-09-10T19:02:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"feat: Shard meta tables by trace ID","shortMessageHtmlLink":"feat: Shard meta tables by trace ID"}},{"before":"9c4a55e4deadd68a0fc13e263d301563dc4e198c","after":"bb847d7fd54344294648506f28403085114670f4","ref":"refs/heads/rachel/snubajobs","pushedAt":"2024-09-10T18:50:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xurui-c","name":null,"path":"/xurui-c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/159840875?s=80&v=4"},"commit":{"message":"arb args","shortMessageHtmlLink":"arb args"}},{"before":"148410e087e18e5db69741e30f482a60f61000b0","after":"79e2f708512cdc5b95b94cbf2be7dfe156a32d83","ref":"refs/heads/gh-pages","pushedAt":"2024-09-10T18:34:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 067fbd8365cdc6e50a70a88f39a492671a68aebc","shortMessageHtmlLink":"deploy: 067fbd8"}},{"before":"7a326d47dafa6c8272f94bf209ae2f09b6881ffd","after":null,"ref":"refs/heads/fix_span_id_conversion","pushedAt":"2024-09-10T18:34:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"}},{"before":"0e3918be5f0eb547c39b4a2d5fea0a40062bc4ae","after":"067fbd8365cdc6e50a70a88f39a492671a68aebc","ref":"refs/heads/master","pushedAt":"2024-09-10T18:34:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"fix(eap): Make span_id be returned as a string correctly (#6283)\n\nAdds some tests for span_samples, and solves some issues with span_id","shortMessageHtmlLink":"fix(eap): Make span_id be returned as a string correctly (#6283)"}},{"before":"497bd53faf4bf1b3064d02ca7c798d6ec092508f","after":"7a326d47dafa6c8272f94bf209ae2f09b6881ffd","ref":"refs/heads/fix_span_id_conversion","pushedAt":"2024-09-10T18:06:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"fix tests","shortMessageHtmlLink":"fix tests"}},{"before":"bf66dc383e5d57ec4af5261195eff6c3c7bc5c40","after":"497bd53faf4bf1b3064d02ca7c798d6ec092508f","ref":"refs/heads/fix_span_id_conversion","pushedAt":"2024-09-10T17:35:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"fix tests","shortMessageHtmlLink":"fix tests"}},{"before":"75399d59e0a1374b7fa713ef1f8d3e0aeb1e4e3d","after":"10f09de5844d55cab7411e0716a8693341c84d0c","ref":"refs/heads/mapcontains_eap","pushedAt":"2024-09-10T17:29:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"mypy","shortMessageHtmlLink":"mypy"}},{"before":null,"after":"75399d59e0a1374b7fa713ef1f8d3e0aeb1e4e3d","ref":"refs/heads/mapcontains_eap","pushedAt":"2024-09-10T17:20:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"colin-sentry","name":null,"path":"/colin-sentry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161344340?s=80&v=4"},"commit":{"message":"feat(eap): make mapContains work with EAP dataset","shortMessageHtmlLink":"feat(eap): make mapContains work with EAP dataset"}},{"before":"eee48bec5bd6d6c433e87f01d9cbd2bb6f2683e6","after":"148410e087e18e5db69741e30f482a60f61000b0","ref":"refs/heads/gh-pages","pushedAt":"2024-09-10T17:19:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 0e3918be5f0eb547c39b4a2d5fea0a40062bc4ae","shortMessageHtmlLink":"deploy: 0e3918b"}},{"before":"a89f2877eb2c7596fba2db61df3b8d9baf7aee1e","after":null,"ref":"refs/heads/job-runner/add-manifest-file","pushedAt":"2024-09-10T17:19:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"onewland","name":"Oliver Newland","path":"/onewland","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/130124?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEsqyX_wA","startCursor":null,"endCursor":null}},"title":"Activity · getsentry/snuba"}