{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":351806852,"defaultBranch":"main","name":"neon","ownerLogin":"neondatabase","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-03-26T14:20:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/77690634?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726779183.0","currentOid":""},"activityList":{"items":[{"before":"2da7ead3c54ebf7e12deb594fdceddb295e7e20f","after":"2951ea60d985fcbef508511514ef9cccc2a99ec6","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T21:57:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"feat(compute): adds pg neon jwt extension to compute image","shortMessageHtmlLink":"feat(compute): adds pg neon jwt extension to compute image"}},{"before":"7284d5fde3458991b5310cfa33d73d0646afe44a","after":"2da7ead3c54ebf7e12deb594fdceddb295e7e20f","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T21:51:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"feat(compute): adds pg neon jwt extension to compute image","shortMessageHtmlLink":"feat(compute): adds pg neon jwt extension to compute image"}},{"before":"9d72d8397a6ba6e07dd7c20a5067c25cf652bdc4","after":"50268a70417ae1c9ba76a33bdf87c2afd7c66eec","ref":"refs/heads/problame/throttling-improve-observability","pushedAt":"2024-09-19T20:56:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"problame","name":"Christian Schwarz","path":"/problame","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/956573?s=80&v=4"},"commit":{"message":"pageserver: add counters for started smgr/getpage requests\n\nAfter this PR\n\n```\ncurl localhost:9898/metrics | grep smgr_ | grep start\n```\n\n```\npageserver_smgr_query_started_count{shard_id=\"0000\",smgr_query_type=\"get_page_at_lsn\",tenant_id=\"...\",timeline_id=\"...\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_db_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_page_at_lsn\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_exists\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_slru_segment\"} 0\n```","shortMessageHtmlLink":"pageserver: add counters for started smgr/getpage requests"}},{"before":"294f4fcee5f5b614beaebe009751f26b60992bc8","after":"9d72d8397a6ba6e07dd7c20a5067c25cf652bdc4","ref":"refs/heads/problame/throttling-improve-observability","pushedAt":"2024-09-19T20:55:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"problame","name":"Christian Schwarz","path":"/problame","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/956573?s=80&v=4"},"commit":{"message":"pageserver: add counters for started smgr/getpage requests\n\nAfter this PR\n\n```\ncurl localhost:9898/metrics | grep smgr_ | grep start\n```\n\n```\npageserver_smgr_query_started_count{shard_id=\"0000\",smgr_query_type=\"get_page_at_lsn\",tenant_id=\"...\",timeline_id=\"...\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_db_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_page_at_lsn\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_exists\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_slru_segment\"} 0\n```","shortMessageHtmlLink":"pageserver: add counters for started smgr/getpage requests"}},{"before":null,"after":"294f4fcee5f5b614beaebe009751f26b60992bc8","ref":"refs/heads/problame/throttling-improve-observability","pushedAt":"2024-09-19T20:53:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"problame","name":"Christian Schwarz","path":"/problame","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/956573?s=80&v=4"},"commit":{"message":"pageserver: add counters for started smgr/getpage requests\n\n```\ncurl localhost:9898/metrics | grep smgr_ | grep start\n```\n\n```\npageserver_smgr_query_started_count{shard_id=\"0000\",smgr_query_type=\"get_page_at_lsn\",tenant_id=\"45740ce4801da2b3c8524d41b1c3030f\",timeline_id=\"79823916f8a9fdcc47965f0e3d771039\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_db_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_page_at_lsn\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_exists\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_rel_size\"} 0\npageserver_smgr_query_started_global_count{smgr_query_type=\"get_slru_segment\"} 0\n```","shortMessageHtmlLink":"pageserver: add counters for started smgr/getpage requests"}},{"before":"a44ddb28fdb7cef27b84f5006a6fa4b7fcb7a1a5","after":"c70af7801dee42c89c5644ccf1969f54a0a8a99b","ref":"refs/heads/yuchen/fix-scrubber-list-timeline-blobs-race","pushedAt":"2024-09-19T20:48:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"fix clippy\n\nSigned-off-by: Yuchen Liang ","shortMessageHtmlLink":"fix clippy"}},{"before":"f8d8f5b90fa487a9e82c42da223f012f5d4fece7","after":null,"ref":"refs/heads/skyzh/refactor-layer-check","pushedAt":"2024-09-19T20:29:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"}},{"before":"1708743e786cde41eb1bba51d4e5267895d8227d","after":"d0cbfda15c916ee75066919940d0c3da714c5b95","ref":"refs/heads/main","pushedAt":"2024-09-19T20:29:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"refactor(pageserver): check layer map valid in one place (#9051)\n\nWe have 3 places where we implement layer map checks.\r\n\r\n## Summary of changes\r\n\r\nNow we have a single check function being called in all places.\r\n\r\n---------\r\n\r\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"refactor(pageserver): check layer map valid in one place (#9051)"}},{"before":"66c8dd84a137ec8d4c79e1a3113177cf4a1ed88a","after":"9880653e11535886655bc95bd3768182ae5ea853","ref":"refs/heads/skyzh/scrubber-error-handling","pushedAt":"2024-09-19T19:54:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"fix(storage-scrubber): handle race of index part download\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"fix(storage-scrubber): handle race of index part download"}},{"before":"8dfa4157899520549065a50455c61b023c13bbdd","after":"a44ddb28fdb7cef27b84f5006a6fa4b7fcb7a1a5","ref":"refs/heads/yuchen/fix-scrubber-list-timeline-blobs-race","pushedAt":"2024-09-19T19:54:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"return with exit code 1 on fatal error\n\nSigned-off-by: Yuchen Liang ","shortMessageHtmlLink":"return with exit code 1 on fatal error"}},{"before":null,"after":"66c8dd84a137ec8d4c79e1a3113177cf4a1ed88a","ref":"refs/heads/skyzh/scrubber-error-handling","pushedAt":"2024-09-19T19:54:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"fix(storage-scrubber): handle race of index part download\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"fix(storage-scrubber): handle race of index part download"}},{"before":"00bf8d4318ac4b8247f7bd8e3523d2612074aa80","after":"8dfa4157899520549065a50455c61b023c13bbdd","ref":"refs/heads/yuchen/fix-scrubber-list-timeline-blobs-race","pushedAt":"2024-09-19T19:30:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"make error message more accurate\n\nSigned-off-by: Yuchen Liang ","shortMessageHtmlLink":"make error message more accurate"}},{"before":"1f28ce65f30d8c03acf2ca60364d551b8a0fb819","after":"e7f34ef997daacb768a1e3cfb4bd6475b4264d3e","ref":"refs/heads/yuchen/lsn-lease-edge-cases","pushedAt":"2024-09-19T19:21:27.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"Merge branch 'main' into yuchen/lsn-lease-edge-cases","shortMessageHtmlLink":"Merge branch 'main' into yuchen/lsn-lease-edge-cases"}},{"before":"ad61b3cd482d4436173d13bc3c0571b77a350b4d","after":"1f28ce65f30d8c03acf2ca60364d551b8a0fb819","ref":"refs/heads/yuchen/lsn-lease-edge-cases","pushedAt":"2024-09-19T19:21:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"fix test_readonly_node log messages and asserts\n\nSigned-off-by: Yuchen Liang ","shortMessageHtmlLink":"fix test_readonly_node log messages and asserts"}},{"before":"e6f8985c0551ea7a6f4a469920fa9836110e7b05","after":"3b39f8615099c217e40c7377fcc5c370c0636414","ref":"refs/heads/skyzh/internal-server-error-better","pushedAt":"2024-09-19T19:08:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"only 500 for decoding errors\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"only 500 for decoding errors"}},{"before":"6045e9742f97b01dda0e38e38be074308dba94e2","after":"53ade34fc67765b6988a43dbe150009f1a9f71b5","ref":"refs/heads/skyzh/disable-scrubber-logging-test","pushedAt":"2024-09-19T19:02:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"fix(test): storage scrubber should only log to stdout with info\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"fix(test): storage scrubber should only log to stdout with info"}},{"before":null,"after":"6045e9742f97b01dda0e38e38be074308dba94e2","ref":"refs/heads/skyzh/disable-scrubber-logging-test","pushedAt":"2024-09-19T19:02:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"fix(test): storage scrubber only logs to stdout with info\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"fix(test): storage scrubber only logs to stdout with info"}},{"before":"8f6ecd8bc22e4aaee1b6c8e9427b14707c1d4019","after":"f8d8f5b90fa487a9e82c42da223f012f5d4fece7","ref":"refs/heads/skyzh/refactor-layer-check","pushedAt":"2024-09-19T19:00:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"skyzh","name":"Alex Chi Z.","path":"/skyzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4198311?s=80&v=4"},"commit":{"message":"fix indent\n\nSigned-off-by: Alex Chi Z ","shortMessageHtmlLink":"fix indent"}},{"before":"392cedb7e2e43bdba8cee013ebe484db237e0631","after":"677af550d115f92d3cd04d88a3f3d90a915adf3f","ref":"refs/heads/local-proxy-compute","pushedAt":"2024-09-19T18:35:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"conradludgate","name":"Conrad Ludgate","path":"/conradludgate","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6625462?s=80&v=4"},"commit":{"message":"add localproxy to docker merge","shortMessageHtmlLink":"add localproxy to docker merge"}},{"before":null,"after":"6ced1dd081913b54631226d822c9fe47a7a2ac84","ref":"refs/heads/bayandin/safekeeper-fix-openapi-spec","pushedAt":"2024-09-19T17:53:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bayandin","name":"Alexander Bayandin","path":"/bayandin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/864213?s=80&v=4"},"commit":{"message":"safekeeper: fix OpenAPI spec","shortMessageHtmlLink":"safekeeper: fix OpenAPI spec"}},{"before":"cc1cfd378fcf68516009599ed28907b88911fa7a","after":"7284d5fde3458991b5310cfa33d73d0646afe44a","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T17:20:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"Merge branch 'main' into pg-neon-jwt-extension","shortMessageHtmlLink":"Merge branch 'main' into pg-neon-jwt-extension"}},{"before":"63d0d1aaefc3b875a635bc8d54ef7dbdf89eb2d0","after":"cc1cfd378fcf68516009599ed28907b88911fa7a","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T17:16:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"feat(compute): adds pg neon jwt extension to compute image","shortMessageHtmlLink":"feat(compute): adds pg neon jwt extension to compute image"}},{"before":"47d7178d7a4c8e06ae3ff77ef73ba0c30d98a98b","after":"63d0d1aaefc3b875a635bc8d54ef7dbdf89eb2d0","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T17:15:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"feat(compute): adds pg neon jwt extension to compute image","shortMessageHtmlLink":"feat(compute): adds pg neon jwt extension to compute image"}},{"before":null,"after":"4323bdc4f378bf14a9a3f681534a98093ad508cc","ref":"refs/heads/jcsp/controller-better-proxying","pushedAt":"2024-09-19T16:54:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jcsp","name":"John Spray","path":"/jcsp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/944640?s=80&v=4"},"commit":{"message":"storcon: transform 404 to 503 on proxied GETs","shortMessageHtmlLink":"storcon: transform 404 to 503 on proxied GETs"}},{"before":"aee8943d9fbf81e91f1557c9814f54ac3751d696","after":"53437f7e869ac68c86c7d3e4c20964c0156f158c","ref":"refs/heads/jcsp/visible-log-spam","pushedAt":"2024-09-19T16:32:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jcsp","name":"John Spray","path":"/jcsp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/944640?s=80&v=4"},"commit":{"message":"pageserver: only update layer visibility in compaction when creating image layers","shortMessageHtmlLink":"pageserver: only update layer visibility in compaction when creating …"}},{"before":"d1b2bb168149bdf8296078ca8312051fcdca000e","after":null,"ref":"refs/heads/yuchen/lsn-lease-attached-multi-to-single-safety","pushedAt":"2024-09-19T16:27:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"}},{"before":"0a1ca7670cbaddb2e83b4e41142b8a7f5fcf0aef","after":"1708743e786cde41eb1bba51d4e5267895d8227d","ref":"refs/heads/main","pushedAt":"2024-09-19T16:27:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"pageserver: wait for lsn lease duration after transition into AttachedSingle (#9024)\n\nPart of #7497, closes https://github.com/neondatabase/neon/issues/8890.\r\n\r\n## Problem\r\n\r\nSince leases are in-memory objects, we need to take special care of them\r\nafter pageserver restarts and while doing a live migration. The approach\r\nwe took for pageserver restart is to wait for at least lease duration\r\nbefore doing first GC. We want to do the same for live migration. Since\r\nwe do not do any GC when a tenant is in `AttachedStale` or\r\n`AttachedMulti` mode, only the transition from `AttachedMulti` to\r\n`AttachedSingle` requires this treatment.\r\n\r\n## Summary of changes\r\n\r\n- Added `lsn_lease_deadline` field in `GcBlock::reasons`: the tenant is\r\ntemporarily blocked from GC until we reach the deadline. This\r\ninformation does not persist to S3.\r\n- In `GCBlock::start`, skip the GC iteration if we are blocked by the\r\nlsn lease deadline.\r\n- In `TenantManager::upsert_location`, set the lsn_lease_deadline to\r\n`Instant::now() + lsn_lease_length` so the granted leases have a chance\r\nto be renewed before we run GC for the first time after transitioned\r\nfrom AttachedMulti to AttachedSingle.\r\n\r\nSigned-off-by: Yuchen Liang \r\nCo-authored-by: Joonas Koivunen ","shortMessageHtmlLink":"pageserver: wait for lsn lease duration after transition into Attache…"}},{"before":"7450d5a7a6ac00eb975510902d0fb55a5c308dc3","after":"3dcc0519fa8cd48a2e3aefac06aedc8f8903b40b","ref":"refs/heads/proxy-auth-broker","pushedAt":"2024-09-19T16:25:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"conradludgate","name":"Conrad Ludgate","path":"/conradludgate","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6625462?s=80&v=4"},"commit":{"message":"add mock table for jwks","shortMessageHtmlLink":"add mock table for jwks"}},{"before":"0b4eded4921aae917d3eef49b448822f9d17dd3b","after":"ad61b3cd482d4436173d13bc3c0571b77a350b4d","ref":"refs/heads/yuchen/lsn-lease-edge-cases","pushedAt":"2024-09-19T16:01:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yliang412","name":"Yuchen Liang","path":"/yliang412","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70461588?s=80&v=4"},"commit":{"message":"neon_local: add and call timeline_init_lsn_lease mgmt_api at static endpoint start\n\nSigned-off-by: Yuchen Liang ","shortMessageHtmlLink":"neon_local: add and call timeline_init_lsn_lease mgmt_api at static e…"}},{"before":"e63101eca2617b91267e4534c8d9507875068be6","after":"47d7178d7a4c8e06ae3ff77ef73ba0c30d98a98b","ref":"refs/heads/pg-neon-jwt-extension","pushedAt":"2024-09-19T15:43:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidgomes","name":"David Gomes","path":"/davidgomes","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/741621?s=80&v=4"},"commit":{"message":"feat(compute): adds pg neon jwt extension to compute image","shortMessageHtmlLink":"feat(compute): adds pg neon jwt extension to compute image"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu1pNxQA","startCursor":null,"endCursor":null}},"title":"Activity · neondatabase/neon"}