{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":309512982,"defaultBranch":"dev","name":"redpanda","ownerLogin":"redpanda-data","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-11-02T22:43:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/49406389?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717021405.0","currentOid":""},"activityList":{"items":[{"before":"52a68fcb0e3a1004c9a63334067344b1b20a47a7","after":"ee86d73a861a3f07c274357625efc07939dfe47a","ref":"refs/heads/dev","pushedAt":"2024-05-30T02:34:13.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"abhijat","name":"Abhijat Malviya","path":"/abhijat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/462313?s=80&v=4"},"commit":{"message":"Merge pull request #18278 from abhijat/core-2794-decouple-dl-from-clients\n\n[CORE-2794]: cst: decouple chunk download from consumers","shortMessageHtmlLink":"Merge pull request #18278 from abhijat/core-2794-decouple-dl-from-cli…"}},{"before":null,"after":"6e2b878dd183aca839f305b1c363120bea323b68","ref":"refs/heads/jackie-rm-cache-dir-24-1-4-fwd-port","pushedAt":"2024-05-29T22:23:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"[rpk connect / CDT] CDT - remove /var/lib/redpanda/.cache before proceeding to clean regular entrie","shortMessageHtmlLink":"[rpk connect / CDT] CDT - remove /var/lib/redpanda/.cache before proc…"}},{"before":null,"after":"4d269ff5cb5671f2bcad5c6c62b20fa60d50c058","ref":"refs/heads/jackie-gitignore-24-1-4-fwd-port","pushedAt":"2024-05-29T22:19:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"[rpk connect] add /benthos to .gitignore","shortMessageHtmlLink":"[rpk connect] add /benthos to .gitignore"}},{"before":"39b8c58770e32521405993bc5285f93ba1893cbb","after":"4f21e2634accf33dc721dc927838d734e84a96ed","ref":"refs/heads/v23.3.x","pushedAt":"2024-05-29T20:05:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"graphcareful","name":"Rob Blafford","path":"/graphcareful","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53920668?s=80&v=4"},"commit":{"message":"Merge pull request #18696 from graphcareful/backport-18304\n\n[v23.3.x] http: Fix double call to stop() in http::client","shortMessageHtmlLink":"Merge pull request #18696 from graphcareful/backport-18304"}},{"before":"9e4bddc697480ea669c32e36c114fe5ee5c5a3aa","after":"43f2899dfa02ad7226023d1b75dfb59d2e6b1844","ref":"refs/heads/v23.2.x","pushedAt":"2024-05-29T20:05:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"graphcareful","name":"Rob Blafford","path":"/graphcareful","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53920668?s=80&v=4"},"commit":{"message":"Merge pull request #18697 from graphcareful/backport-18304-2\n\n[v23.2.x] http: Fix double call to stop() in http::client","shortMessageHtmlLink":"Merge pull request #18697 from graphcareful/backport-18304-2"}},{"before":"3be9900d3d2d5316a54ee5b9a827891f9fc9b366","after":"52a68fcb0e3a1004c9a63334067344b1b20a47a7","ref":"refs/heads/dev","pushedAt":"2024-05-29T17:07:33.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"travisdowns","name":"Travis Downs","path":"/travisdowns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2403521?s=80&v=4"},"commit":{"message":"Merge pull request #18686 from travisdowns/td-more-typing\n\nMore typing 4","shortMessageHtmlLink":"Merge pull request #18686 from travisdowns/td-more-typing"}},{"before":"86ce597abfd411c96a34dadf381c6853f3df1304","after":"1a0b1acf740fb651b494075c7b45f6c898c8b2d8","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-29T13:05:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"Merge pull request #18687 from redpanda-data/jackie-try-cdt-fix\n\n[v24.1.x] CDT- remove /var/lib/redpanda/.cache before proceeding to clean regular entries","shortMessageHtmlLink":"Merge pull request #18687 from redpanda-data/jackie-try-cdt-fix"}},{"before":"f0dbe24e92d47eaa238872ef0f6ee1a46a1b0a57","after":null,"ref":"refs/heads/jackie-try-cdt-fix","pushedAt":"2024-05-29T13:05:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"}},{"before":"616ecfe91e5af6ffaa19224718fa3d5dd3571225","after":"86ce597abfd411c96a34dadf381c6853f3df1304","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-29T12:17:23.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mmaslankaprv","name":"Michał Maślanka","path":"/mmaslankaprv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25060167?s=80&v=4"},"commit":{"message":"Merge pull request #18690 from vbotbuildovich/backport-pr-18680-v24.1.x-382\n\n[v24.1.x] r/recovery_stm: log taking on demand snapshot at info level","shortMessageHtmlLink":"Merge pull request #18690 from vbotbuildovich/backport-pr-18680-v24.1…"}},{"before":"959975522a3425bd2f2d0960805123f30e265d61","after":"39b8c58770e32521405993bc5285f93ba1893cbb","ref":"refs/heads/v23.3.x","pushedAt":"2024-05-29T12:17:11.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mmaslankaprv","name":"Michał Maślanka","path":"/mmaslankaprv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25060167?s=80&v=4"},"commit":{"message":"Merge pull request #18689 from vbotbuildovich/backport-pr-18680-v23.3.x-205\n\n[v23.3.x] r/recovery_stm: log taking on demand snapshot at info level","shortMessageHtmlLink":"Merge pull request #18689 from vbotbuildovich/backport-pr-18680-v23.3…"}},{"before":"6cf7d3f80702910cdca95e8cfc168d513b97b6c7","after":"3be9900d3d2d5316a54ee5b9a827891f9fc9b366","ref":"refs/heads/dev","pushedAt":"2024-05-29T11:49:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"michael-redpanda","name":"Mike Boquard","path":"/michael-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122312462?s=80&v=4"},"commit":{"message":"Merge pull request #18685 from michael-redpanda/CORE-2812-Replace-bespoke-b64-url\n\nCORE-2812: utils/b64: Replaced implementation with abseil","shortMessageHtmlLink":"Merge pull request #18685 from michael-redpanda/CORE-2812-Replace-bes…"}},{"before":"690bec17413751dd8ba387c1e4931d4c9d114876","after":"6cf7d3f80702910cdca95e8cfc168d513b97b6c7","ref":"refs/heads/dev","pushedAt":"2024-05-29T09:59:30.000Z","pushType":"pr_merge","commitsCount":18,"pusher":{"login":"pgellert","name":"Gellért Peresztegi-Nagy","path":"/pgellert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12272313?s=80&v=4"},"commit":{"message":"Merge pull request #18098 from pgellert/quotas/node-wide-throttling\n\nCORE-376 kafka/quota_mgr: fix client quota throttling to be node-wide","shortMessageHtmlLink":"Merge pull request #18098 from pgellert/quotas/node-wide-throttling"}},{"before":"89c48ac2583e1fc48d5e870d2fbd4cfc82d70530","after":"096004bf5025a516d868bc6b01013d75584b8ff3","ref":"refs/heads/stephan/truncate-plus-allocate","pushedAt":"2024-05-29T09:47:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StephanDollberg","name":"Stephan Dollberg","path":"/StephanDollberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2904723?s=80&v=4"},"commit":{"message":"segment_appender: truncate in addition to allocate\n\nIn the segment_appender we adaptively increase the file size of log\nsegments using `ss::file::allocate`.\n\nThis however doesn't immediately do what's intended. Internally it calls\n`fallocate` with the `FALLOC_FL_KEEP_SIZE|FALLOC_FL_ZERO_RANGE` flags.\nThe former leads to the logical file size not being extended.\n\nExtending the logical file size however seems to have been the intention\nof 7d7706778918772336dda3a5cc7f63b665f106bf. We do already handle zero\nbytes at the end fine either way as we are writing zero appended 4k\nchunks anyway.\n\nBesides this side effect there is other reasons why we want to update\nthe logical file size immediately.\n\nFirst, this means that on every write we will need to update the file\nsize which makes fsync more expensive.\n\nSecond, seastar considers XFS an append-challenged file system. This\nmeans that seastar will avoid having size changing and non-size changing\noperations outstanding at the same time. They will be queued internally\nin the ioqueue. Because of how `allocate` works above all our writes\nwill always be considered as \"appending\" as we never updated the logical\nfile size.\n\nTo optimize the queued operations seastar employs certain\n\"optimizations\" in `append_challenged_posix_file_impl::optimize_queue`.\nBecause all our operations are appending this causes a continuous stream\nof implicit `ftruncate` syscalls of about 100/s per shard.\n\n```\nroot:/tmp# perf trace -t 11990 -s -e ftruncate -- sleep 5\n\n Summary of events:\n\n redpanda (11990), 1122 events, 100.0%\n\n syscall calls errors total min avg max stddev\n (msec) (msec) (msec) (msec) (%)\n --------------- -------- ------ -------- --------- --------- --------- ------\n ftruncate 561 0 32.056 0.013 0.057 0.265 1.85%\n```\n\nTo avoid the two aforementioned issues this patch adds an explicit\n`truncate` after our `allocate` call. Note that we still need both as\n`ftruncate` alone doesn't preallocate blocks so it's a lot less\nperformant on its own.\n\nIn a medium IOPS OMB workload we see a drop in p99 producer latency from\n~14ms to ~10ms. Threaded fallbacks and hence steal time are down by\nabout 5 and 10% respectively.\n\nFurther we can also see the `fsync` times distribution slightly\nimproved:\n\nBefore:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n14:07:37:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 55 | |\n 4 -> 7 : 11872 |***** |\n 8 -> 15 : 38206 |***************** |\n 16 -> 31 : 18405 |******** |\n 32 -> 63 : 11474 |***** |\n 64 -> 127 : 29074 |************* |\n 128 -> 255 : 88607 |****************************************|\n 256 -> 511 : 27403 |************ |\n 512 -> 1023 : 557 | |\n 1024 -> 2047 : 28 | |\n 2048 -> 4095 : 23 |\n```\n\nAfter:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n13:57:45:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 56 | |\n 4 -> 7 : 15472 |******* |\n 8 -> 15 : 45440 |*********************** |\n 16 -> 31 : 22825 |*********** |\n 32 -> 63 : 13378 |****** |\n 64 -> 127 : 31979 |**************** |\n 128 -> 255 : 77529 |****************************************|\n 256 -> 511 : 18116 |********* |\n 512 -> 1023 : 250 | |\n 1024 -> 2047 : 1 |\n```\n\nFurther we can also observe the logial file size adapting during a run:\n\nBefore:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-zUv2_Hs-0000/0_32/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 37502976 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 39337984 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 41267200 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 43479040 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 45416448 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 47005696 May 21 10:10 0-1-v1.log\n```\n\nAfter:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-Yk-n3mY-0000/0_35/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n```\n\nNote that longterm we will want to improve/change seastar to allow doing\na \"full\" fallocate but just adding the truncate is the easier change for\nnow.","shortMessageHtmlLink":"segment_appender: truncate in addition to allocate"}},{"before":"5299f5fbdb2f215a97082605f40981acfb3bf8f6","after":"89c48ac2583e1fc48d5e870d2fbd4cfc82d70530","ref":"refs/heads/stephan/truncate-plus-allocate","pushedAt":"2024-05-29T09:19:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StephanDollberg","name":"Stephan Dollberg","path":"/StephanDollberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2904723?s=80&v=4"},"commit":{"message":"segment_appender: truncate in addition to allocate\n\nIn the segment_appender we adaptively increase the file size of log\nsegments using `ss::file::allocate`.\n\nThis however doesn't immediately do what's intended. Internally it calls\n`fallocate` with the `FALLOC_FL_KEEP_SIZE|FALLOC_FL_ZERO_RANGE` flags.\nThe former leads to the logical file size not being extended.\n\nExtending the logical file size however seems to have been the intention\nof 7d7706778918772336dda3a5cc7f63b665f106bf. We do already handle zero\nbytes at the end fine either way as we are writing zero appended 4k\nchunks anyway.\n\nBesides this side effect there is other reasons why we want to update\nthe logical file size immediately.\n\nFirst, this means that on every write we will need to update the file\nsize which makes fsync more expensive.\n\nSecond, seastar considers XFS an append-challenged file system. This\nmeans that seastar will avoid having size changing and non-size changing\noperations outstanding at the same time. They will be queued internally\nin the ioqueue. Because of how `allocate` works above all our writes\nwill always be considered as \"appending\" as we never updated the logical\nfile size.\n\nTo optimize the queued operations seastar employs certain\n\"optimizations\" in `append_challenged_posix_file_impl::optimize_queue`.\nBecause all our operations are appending this causes a continuous stream\nof implicit `ftruncate` syscalls of about 100/s per shard.\n\n```\nroot:/tmp# perf trace -t 11990 -s -e ftruncate -- sleep 5\n\n Summary of events:\n\n redpanda (11990), 1122 events, 100.0%\n\n syscall calls errors total min avg max stddev\n (msec) (msec) (msec) (msec) (%)\n --------------- -------- ------ -------- --------- --------- --------- ------\n ftruncate 561 0 32.056 0.013 0.057 0.265 1.85%\n```\n\nTo avoid the two aforementioned issues this patch adds an explicit\n`truncate` after our `allocate` call. Note that we still need both as\n`ftruncate` alone doesn't preallocate blocks so it's a lot less\nperformant on its own.\n\nIn a medium IOPS OMB workload we see a drop in p99 producer latency from\n~14ms to ~10ms. Threaded fallbacks and hence steal time are down by\nabout 5 and 10% respectively.\n\nFurther we can also see the `fsync` times distribution slightly\nimproved:\n\nBefore:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n14:07:37:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 55 | |\n 4 -> 7 : 11872 |***** |\n 8 -> 15 : 38206 |***************** |\n 16 -> 31 : 18405 |******** |\n 32 -> 63 : 11474 |***** |\n 64 -> 127 : 29074 |************* |\n 128 -> 255 : 88607 |****************************************|\n 256 -> 511 : 27403 |************ |\n 512 -> 1023 : 557 | |\n 1024 -> 2047 : 28 | |\n 2048 -> 4095 : 23 |\n```\n\nAfter:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n13:57:45:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 56 | |\n 4 -> 7 : 15472 |******* |\n 8 -> 15 : 45440 |*********************** |\n 16 -> 31 : 22825 |*********** |\n 32 -> 63 : 13378 |****** |\n 64 -> 127 : 31979 |**************** |\n 128 -> 255 : 77529 |****************************************|\n 256 -> 511 : 18116 |********* |\n 512 -> 1023 : 250 | |\n 1024 -> 2047 : 1 |\n```\n\nFurther we can also observe the logial file size adapting during a run:\n\nBefore:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-zUv2_Hs-0000/0_32/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 37502976 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 39337984 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 41267200 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 43479040 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 45416448 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 47005696 May 21 10:10 0-1-v1.log\n```\n\nAfter:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-Yk-n3mY-0000/0_35/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n```\n\nNote that longterm we will want to improve/change seastar to allow doing\na \"full\" fallocate but just adding the truncate is the easier change for\nnow.","shortMessageHtmlLink":"segment_appender: truncate in addition to allocate"}},{"before":"0719380844c49d19fbe50f55a2b061434bfaf2e9","after":"5299f5fbdb2f215a97082605f40981acfb3bf8f6","ref":"refs/heads/stephan/truncate-plus-allocate","pushedAt":"2024-05-29T09:04:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StephanDollberg","name":"Stephan Dollberg","path":"/StephanDollberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2904723?s=80&v=4"},"commit":{"message":"segment_appender: truncate in addition to allocate\n\nIn the segment_appender we adaptively increase the file size of log\nsegments using `ss::file::allocate`.\n\nThis however doesn't immediately do what's intended. Internally it calls\n`fallocate` with the `FALLOC_FL_KEEP_SIZE|FALLOC_FL_ZERO_RANGE` flags.\nThe former leads to the logical file size not being extended.\n\nExtending the logical file size however seems to have been the intention\nof 7d7706778918772336dda3a5cc7f63b665f106bf. We do already handle zero\nbytes at the end fine either way as we are writing zero appended 4k\nchunks anyway.\n\nBesides this side effect there is other reasons why we want to update\nthe logical file size immediately.\n\nFirst, this means that on every write we will need to update the file\nsize which makes fsync more expensive.\n\nSecond, seastar considers XFS an append-challenged file system. This\nmeans that seastar will avoid having size changing and non-size changing\noperations outstanding at the same time. They will be queued internally\nin the ioqueue. Because of how `allocate` works above all our writes\nwill always be considered as \"appending\" as we never updated the logical\nfile size.\n\nTo optimize the queued operations seastar employs certain\n\"optimizations\" in `append_challenged_posix_file_impl::optimize_queue`.\nBecause all our operations are appending this causes a continuous stream\nof implicit `ftruncate` syscalls of about 100/s per shard.\n\n```\nroot:/tmp# perf trace -t 11990 -s -e ftruncate -- sleep 5\n\n Summary of events:\n\n redpanda (11990), 1122 events, 100.0%\n\n syscall calls errors total min avg max stddev\n (msec) (msec) (msec) (msec) (%)\n --------------- -------- ------ -------- --------- --------- --------- ------\n ftruncate 561 0 32.056 0.013 0.057 0.265 1.85%\n```\n\nTo avoid the two aforementioned issues this patch adds an explicit\n`truncate` after our `allocate` call. Note that we still need both as\n`ftruncate` alone doesn't preallocate blocks so it's a lot less\nperformant on its own.\n\nIn a medium IOPS OMB workload we see a drop in p99 producer latency from\n~14ms to ~10ms. Threaded fallbacks and hence steal time are down by\nabout 5 and 10% respectively.\n\nFurther we can also see the `fsync` times distribution slightly\nimproved:\n\nBefore:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n14:07:37:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 55 | |\n 4 -> 7 : 11872 |***** |\n 8 -> 15 : 38206 |***************** |\n 16 -> 31 : 18405 |******** |\n 32 -> 63 : 11474 |***** |\n 64 -> 127 : 29074 |************* |\n 128 -> 255 : 88607 |****************************************|\n 256 -> 511 : 27403 |************ |\n 512 -> 1023 : 557 | |\n 1024 -> 2047 : 28 | |\n 2048 -> 4095 : 23 |\n```\n\nAfter:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n13:57:45:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 56 | |\n 4 -> 7 : 15472 |******* |\n 8 -> 15 : 45440 |*********************** |\n 16 -> 31 : 22825 |*********** |\n 32 -> 63 : 13378 |****** |\n 64 -> 127 : 31979 |**************** |\n 128 -> 255 : 77529 |****************************************|\n 256 -> 511 : 18116 |********* |\n 512 -> 1023 : 250 | |\n 1024 -> 2047 : 1 |\n```\n\nFurther we can also observe the logial file size adapting during a run:\n\nBefore:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-zUv2_Hs-0000/0_32/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 37502976 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 39337984 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 41267200 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 43479040 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 45416448 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 47005696 May 21 10:10 0-1-v1.log\n```\n\nAfter:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-Yk-n3mY-0000/0_35/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n```\n\nNote that longterm we will want to improve/change seastar to allow doing\na \"full\" fallocate but just adding the truncate is the easier change for\nnow.","shortMessageHtmlLink":"segment_appender: truncate in addition to allocate"}},{"before":"d8f01f323cbdcd6a5f68bc9258a7c2bbd77bfefe","after":"690bec17413751dd8ba387c1e4931d4c9d114876","ref":"refs/heads/dev","pushedAt":"2024-05-29T05:51:23.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mmaslankaprv","name":"Michał Maślanka","path":"/mmaslankaprv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25060167?s=80&v=4"},"commit":{"message":"Merge pull request #18680 from mmaslankaprv/more-verbose-fast-reconf-logging\n\nr/recovery_stm: log taking on demand snapshot at info level","shortMessageHtmlLink":"Merge pull request #18680 from mmaslankaprv/more-verbose-fast-reconf-…"}},{"before":null,"after":"f0dbe24e92d47eaa238872ef0f6ee1a46a1b0a57","ref":"refs/heads/jackie-try-cdt-fix","pushedAt":"2024-05-29T05:08:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"Hotfix attempt - remove /var/lib/redpanda/.cache","shortMessageHtmlLink":"Hotfix attempt - remove /var/lib/redpanda/.cache"}},{"before":null,"after":"35d4cc1353f6c828b326cddeda8d55c9f88cb98f","ref":"refs/heads/td-double-connect-count","pushedAt":"2024-05-29T01:59:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"travisdowns","name":"Travis Downs","path":"/travisdowns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2403521?s=80&v=4"},"commit":{"message":"DELETEME: 6x connection count\n\nIncrease the advertised connection by 6x in lieu of doing it in the\nproduct, to test it. This should not be checked int.","shortMessageHtmlLink":"DELETEME: 6x connection count"}},{"before":"b1be5843fb6f427dc9beb48c07c6c5020fec4894","after":"35d4cc1353f6c828b326cddeda8d55c9f88cb98f","ref":"refs/heads/td-swarm-hang","pushedAt":"2024-05-28T22:19:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"travisdowns","name":"Travis Downs","path":"/travisdowns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2403521?s=80&v=4"},"commit":{"message":"DELETEME: 6x connection count\n\nIncrease the advertised connection by 6x in lieu of doing it in the\nproduct, to test it. This should not be checked int.","shortMessageHtmlLink":"DELETEME: 6x connection count"}},{"before":"e248840863bae3a32f8cfda3d78577c39a9df810","after":null,"ref":"refs/heads/jackie-bethos-gitignore-2","pushedAt":"2024-05-28T18:44:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"}},{"before":"3e764ea843b8a458c74386fcb1991ccedcb3401d","after":"616ecfe91e5af6ffaa19224718fa3d5dd3571225","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-28T18:44:41.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"Merge pull request #18663 from redpanda-data/jackie-bethos-gitignore-2\n\n[v24.1.x] ignore benthos local repo dir","shortMessageHtmlLink":"Merge pull request #18663 from redpanda-data/jackie-bethos-gitignore-2"}},{"before":"498174cc9e824a98738ddac055ace50af15604d7","after":"0719380844c49d19fbe50f55a2b061434bfaf2e9","ref":"refs/heads/stephan/truncate-plus-allocate","pushedAt":"2024-05-28T10:57:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StephanDollberg","name":"Stephan Dollberg","path":"/StephanDollberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2904723?s=80&v=4"},"commit":{"message":"segment_appender: truncate in addition to allocate\n\nIn the segment_appender we adaptively increase the file size of log\nsegments using `ss::file::allocate`.\n\nThis however doesn't immediately do what's intended. Internally it calls\n`fallocate` with the `FALLOC_FL_KEEP_SIZE|FALLOC_FL_ZERO_RANGE` flags.\nThe former leads to the logical file size not being extended.\n\nExtending the logical file size however seems to have been the intention\nof 7d7706778918772336dda3a5cc7f63b665f106bf. We do already handle zero\nbytes at the end fine either way as we are writing zero appended 4k\nchunks anyway.\n\nBesides this side effect there is other reasons why we want to update\nthe logical file size immediately.\n\nFirst, this means that on every write we will need to update the file\nsize which makes fsync more expensive.\n\nSecond, seastar considers XFS an append-challenged file system. This\nmeans that seastar will avoid having size changing and non-size changing\noperations outstanding at the same time. They will be queued internally\nin the ioqueue. Because of how `allocate` works above all our writes\nwill always be considered as \"appending\" as we never updated the logical\nfile size.\n\nTo optimize the queued operations seastar employs certain\n\"optimizations\" in `append_challenged_posix_file_impl::optimize_queue`.\nBecause all our operations are appending this causes a continuous stream\nof implicit `ftruncate` syscalls of about 100/s per shard.\n\n```\nroot:/tmp# perf trace -t 11990 -s -e ftruncate -- sleep 5\n\n Summary of events:\n\n redpanda (11990), 1122 events, 100.0%\n\n syscall calls errors total min avg max stddev\n (msec) (msec) (msec) (msec) (%)\n --------------- -------- ------ -------- --------- --------- --------- ------\n ftruncate 561 0 32.056 0.013 0.057 0.265 1.85%\n```\n\nTo avoid the two aforementioned issues this patch adds an explicit\n`truncate` after our `allocate` call. Note that we still need both as\n`ftruncate` alone doesn't preallocate blocks so it's a lot less\nperformant on its own.\n\nIn a medium IOPS OMB workload we see a drop in p99 producer latency from\n~14ms to ~10ms. Threaded fallbacks and hence steal time are down by\nabout 5 and 10% respectively.\n\nFurther we can also see the `fsync` times distribution slightly\nimproved:\n\nBefore:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n14:07:37:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 55 | |\n 4 -> 7 : 11872 |***** |\n 8 -> 15 : 38206 |***************** |\n 16 -> 31 : 18405 |******** |\n 32 -> 63 : 11474 |***** |\n 64 -> 127 : 29074 |************* |\n 128 -> 255 : 88607 |****************************************|\n 256 -> 511 : 27403 |************ |\n 512 -> 1023 : 557 | |\n 1024 -> 2047 : 28 | |\n 2048 -> 4095 : 23 |\n```\n\nAfter:\n\n```\nroot:/tmp# xfsdist-bpfcc 5 1\nTracing XFS operation latency... Hit Ctrl-C to end.\n\n13:57:45:\n\noperation = b'fsync'\n usecs : count distribution\n 0 -> 1 : 0 | |\n 2 -> 3 : 56 | |\n 4 -> 7 : 15472 |******* |\n 8 -> 15 : 45440 |*********************** |\n 16 -> 31 : 22825 |*********** |\n 32 -> 63 : 13378 |****** |\n 64 -> 127 : 31979 |**************** |\n 128 -> 255 : 77529 |****************************************|\n 256 -> 511 : 18116 |********* |\n 512 -> 1023 : 250 | |\n 1024 -> 2047 : 1 |\n```\n\nFurther we can also observe the logial file size adapting during a run:\n\nBefore:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-zUv2_Hs-0000/0_32/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 37502976 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 39337984 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 41267200 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 43479040 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 45416448 May 21 10:10 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 47005696 May 21 10:10 0-1-v1.log\n```\n\nAfter:\n\n```\nroot:/tmp# for i in {0..5} ; do ll /var/lib/redpanda/data/kafka/test-topic-Yk-n3mY-0000/0_35/ | grep log ; sleep 1 ; done\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n-rw-r--r-- 1 redpanda redpanda 67108864 May 21 10:22 0-1-v1.log\n```\n\nNote that longterm we will want to improve/change seastar to allow doing\na \"full\" fallocate but just adding the truncate is the easier change for\nnow.","shortMessageHtmlLink":"segment_appender: truncate in addition to allocate"}},{"before":"598e6cf2d013fadabb4a36947743b4cb72aadce7","after":"3e764ea843b8a458c74386fcb1991ccedcb3401d","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-27T17:15:19.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"r-vasquez","name":"Rogger Vasquez","path":"/r-vasquez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59714880?s=80&v=4"},"commit":{"message":"Merge pull request #18676 from vbotbuildovich/backport-pr-18650-v24.1.x-541\n\n[v24.1.x] rpk: add error for unknown command execution","shortMessageHtmlLink":"Merge pull request #18676 from vbotbuildovich/backport-pr-18650-v24.1…"}},{"before":"2062ccbfba0cb9e2ea67ffb1023a128d5bda9746","after":"d8f01f323cbdcd6a5f68bc9258a7c2bbd77bfefe","ref":"refs/heads/dev","pushedAt":"2024-05-27T13:57:07.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"r-vasquez","name":"Rogger Vasquez","path":"/r-vasquez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59714880?s=80&v=4"},"commit":{"message":"Merge pull request #18650 from r-vasquez/err-for-unknown\n\nrpk: add error for unknown command execution","shortMessageHtmlLink":"Merge pull request #18650 from r-vasquez/err-for-unknown"}},{"before":"17423e81f7c8ef40b6309c5615a5b7fe26013659","after":"2062ccbfba0cb9e2ea67ffb1023a128d5bda9746","ref":"refs/heads/dev","pushedAt":"2024-05-27T13:14:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"r-vasquez","name":"Rogger Vasquez","path":"/r-vasquez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59714880?s=80&v=4"},"commit":{"message":"Merge pull request #18668 from twmb/franz-sr\n\nrpk: bump franz-go && pkg/sr","shortMessageHtmlLink":"Merge pull request #18668 from twmb/franz-sr"}},{"before":"636a19ee052f8c9f5662c8b5f306de4dcb5a7b9a","after":"17423e81f7c8ef40b6309c5615a5b7fe26013659","ref":"refs/heads/dev","pushedAt":"2024-05-27T13:13:55.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"r-vasquez","name":"Rogger Vasquez","path":"/r-vasquez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59714880?s=80&v=4"},"commit":{"message":"Merge pull request #18667 from twmb/allow-seek-new-group\n\nrpk: allow seeking a non-existent group","shortMessageHtmlLink":"Merge pull request #18667 from twmb/allow-seek-new-group"}},{"before":"bd8602b08078c96a30487efa79089b4b096520ff","after":"636a19ee052f8c9f5662c8b5f306de4dcb5a7b9a","ref":"refs/heads/dev","pushedAt":"2024-05-26T00:03:26.000Z","pushType":"pr_merge","commitsCount":19,"pusher":{"login":"dotnwat","name":"Noah Watkins","path":"/dotnwat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/242417?s=80&v=4"},"commit":{"message":"Merge pull request #18660 from dotnwat/x2\n\nchore: remove various build dependencies","shortMessageHtmlLink":"Merge pull request #18660 from dotnwat/x2"}},{"before":"6debfb17253f7136cb872f4ea8e3a68eb0ca3f84","after":"598e6cf2d013fadabb4a36947743b4cb72aadce7","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-25T15:22:35.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"piyushredpanda","name":null,"path":"/piyushredpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/102703159?s=80&v=4"},"commit":{"message":"Merge pull request #18655 from vbotbuildovich/backport-pr-18491-v24.1.x-101\n\n[v24.1.x] PESDLC-876 Add Filehandlers to boto3 loggers","shortMessageHtmlLink":"Merge pull request #18655 from vbotbuildovich/backport-pr-18491-v24.1…"}},{"before":"721cd6ea05a257ffae7d3fc0be6fd59329e51da1","after":"6debfb17253f7136cb872f4ea8e3a68eb0ca3f84","ref":"refs/heads/v24.1.x","pushedAt":"2024-05-25T15:21:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"piyushredpanda","name":null,"path":"/piyushredpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/102703159?s=80&v=4"},"commit":{"message":"Merge pull request #18644 from vbotbuildovich/backport-pr-18221-v24.1.x-352\n\n[v24.1.x] rpk: topic describe supports --regex flag","shortMessageHtmlLink":"Merge pull request #18644 from vbotbuildovich/backport-pr-18221-v24.1…"}},{"before":null,"after":"e248840863bae3a32f8cfda3d78577c39a9df810","ref":"refs/heads/jackie-bethos-gitignore-2","pushedAt":"2024-05-25T00:41:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jackietung-redpanda","name":null,"path":"/jackietung-redpanda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/166445566?s=80&v=4"},"commit":{"message":"[v24.1.x] ignore benthos local repo dir","shortMessageHtmlLink":"[v24.1.x] ignore benthos local repo dir"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEV40ZxwA","startCursor":null,"endCursor":null}},"title":"Activity · redpanda-data/redpanda"}