{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1064563,"defaultBranch":"4.1","name":"netty","ownerLogin":"netty","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-11-09T09:22:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/473791?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715341700.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"fe9c45361787e2b1d42b7b08462a65116d813d99","ref":"refs/heads/main_event_loops_magazines","pushedAt":"2024-05-10T11:48:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"franz1981","name":"Francesco Nigro","path":"/franz1981","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13125299?s=80&v=4"},"commit":{"message":"Speedup max direct memory estimation via Unsafe\n\nMotivation:\n\nPlatformDependent::estimateMaxDirectMemory reflectevly allocates MX Beans to detect JVM's arg MaxDirectMemory (often failing to find any, because unconfigured).\n\nModifications:\n\nAllow unsafe to find Bits's max memory static field and use it as a fast path to detect the same direct memory limits used by the JVM runtime\n\nResult:\n\nFaster and less memory hungry (in term of mallocs) startup","shortMessageHtmlLink":"Speedup max direct memory estimation via Unsafe"}},{"before":"01ff935c0d5d75165f5f8682a0012648c519148f","after":"034552ee69398c9cd700ab5516c5f76e473c5b7f","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-10T10:40:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Integrate io_uring transport into 4.2\n\nMotivation:\n\nWe should include our io_uring transport as part of 4.2\n\nModifications:\n\nAdd io_uring transport based on our incubator version and main version\n\nResult:\n\nFixes https://github.com/netty/netty/issues/14010","shortMessageHtmlLink":"Integrate io_uring transport into 4.2"}},{"before":null,"after":"01de634392007ba9d2d8754eb013626bd02d7278","ref":"refs/heads/eventloop_construction","pushedAt":"2024-05-10T08:40:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Update *SocketTestPermutation to use new way of constructing EventLoopGroups\n\nMotivation:\n\nhttps://github.com/netty/netty/pull/14020 did miss to change EpollSocketTestPermution and KqueueSocketTestPermution\n\nModifications:\n\nUpdate missed files\n\nResult:\n\nCleanup","shortMessageHtmlLink":"Update *SocketTestPermutation to use new way of constructing EventLoo…"}},{"before":"264b3859f4899d688940aec2a43423b41f79dd1c","after":"1571f2961f883cba03d23c87c181579804540fc1","ref":"refs/heads/default_methods","pushedAt":"2024-05-10T08:34:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fix revapi","shortMessageHtmlLink":"Fix revapi"}},{"before":"306095ddf79961649c6084ccca7120ac5245feee","after":"4317cb88769982272e7ac5cc643a4b335a76c902","ref":"refs/heads/socketfamily","pushedAt":"2024-05-10T08:33:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Backport SocketProtocolFamily\n\nMotivation:\n\nIn main we introduced SocketProtocolFamily to replace our InternetProtocolFamily. We should backport this change to 4.2 for more flexibility in the future.\n\nModifications:\n\n- Backport SocketProtocolFamily\n- Deprecate usage of InternetProtocolFamily\n\nResult:\n\nMore flexibility in the future","shortMessageHtmlLink":"Backport SocketProtocolFamily"}},{"before":null,"after":"306095ddf79961649c6084ccca7120ac5245feee","ref":"refs/heads/socketfamily","pushedAt":"2024-05-10T08:32:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Backport SocketProtocolFamily\n\nMotivation:\n\nIn main we introduced SocketProtocolFamily to replace our InternetProtocolFamily. We should backport this change to 4.2 for more flexibility in the future.\n\nModifications:\n\n- Backport SocketProtocolFamily\n- Deprecate usage of InternetProtocolFamily\n\nResult:\n\nMore flexibility in the future","shortMessageHtmlLink":"Backport SocketProtocolFamily"}},{"before":"d5608b503c5265095cb9df6ed8442596289c84e0","after":"264b3859f4899d688940aec2a43423b41f79dd1c","ref":"refs/heads/default_methods","pushedAt":"2024-05-10T07:13:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fix revapi","shortMessageHtmlLink":"Fix revapi"}},{"before":"04fc812d342124e25f2257966ec58aa8f7332e6d","after":"01ff935c0d5d75165f5f8682a0012648c519148f","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-09T11:49:22.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fixes","shortMessageHtmlLink":"Fixes"}},{"before":"26b668c861a47f9df20a0484ada12de1da50c3d4","after":null,"ref":"refs/heads/assert_error","pushedAt":"2024-05-09T06:15:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"28fe6a9b9145716169dfeb622aa83702c3f9df32","after":"47f2a78057190525d38544360a049225ecbe9c53","ref":"refs/heads/4.2","pushedAt":"2024-05-09T06:15:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fix possible AssertionError in AbstractNioChannel (#14040)\n\nMotivation:\n\nWe need to use this.registration directly as otherwise we might cause an\nerror like\n\n```\n09:51:58.318 [testsuite-nio-worker-7-3] WARN io.netty.channel.AbstractChannel - Unexpected exception occurred while deregistering a channel.\njava.lang.AssertionError: null\n\tat io.netty.channel.nio.AbstractNioChannel.registration(AbstractNioChannel.java:156)\n\tat io.netty.channel.nio.AbstractNioChannel.doDeregister(AbstractNioChannel.java:474)\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:814)\n\tat io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)\n\tat io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)\n\tat io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:154)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n```\n\nModifications:\n\n- Use registration field directly\n\nResult:\n\nNo more AssertionError","shortMessageHtmlLink":"Fix possible AssertionError in AbstractNioChannel (#14040)"}},{"before":"cec32bddf79599a2b83b7a641778d0db7e2693eb","after":"04fc812d342124e25f2257966ec58aa8f7332e6d","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-08T15:49:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Integrate io_uring transport into 4.2\n\nMotivation:\n\nWe should include our io_uring transport as part of 4.2\n\nModifications:\n\nAdd io_uring transport based on our incubator version and main version\n\nResult:\n\nFixes https://github.com/netty/netty/issues/14010","shortMessageHtmlLink":"Integrate io_uring transport into 4.2"}},{"before":"b5d8f274a9ea03be49bd24c6d9f204f8e0767517","after":"cec32bddf79599a2b83b7a641778d0db7e2693eb","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-08T15:45:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"fixes","shortMessageHtmlLink":"fixes"}},{"before":null,"after":"26b668c861a47f9df20a0484ada12de1da50c3d4","ref":"refs/heads/assert_error","pushedAt":"2024-05-08T10:01:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fix possible AssertionError in AbstractNioChannel\n\nMotivation:\n\nWe need to use this.registration directly as otherwise we might cause an error like\n\n```\n09:51:58.318 [testsuite-nio-worker-7-3] WARN io.netty.channel.AbstractChannel - Unexpected exception occurred while deregistering a channel.\njava.lang.AssertionError: null\n\tat io.netty.channel.nio.AbstractNioChannel.registration(AbstractNioChannel.java:156)\n\tat io.netty.channel.nio.AbstractNioChannel.doDeregister(AbstractNioChannel.java:474)\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:814)\n\tat io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)\n\tat io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)\n\tat io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:154)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n```\n\nModifications:\n\n- Use registration field directly\n\nResult:\n\nNo more AssertionError","shortMessageHtmlLink":"Fix possible AssertionError in AbstractNioChannel"}},{"before":"859f6b68ee63a44875ea66ee83f6cb0a0630fa95","after":"b5d8f274a9ea03be49bd24c6d9f204f8e0767517","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-08T09:07:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Fix","shortMessageHtmlLink":"Fix"}},{"before":"3a89829ae710d9b367e4fdd142d3f2ab5f81d251","after":"859f6b68ee63a44875ea66ee83f6cb0a0630fa95","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-08T08:24:44.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":null,"after":"3a89829ae710d9b367e4fdd142d3f2ab5f81d251","ref":"refs/heads/io_uring_42_new","pushedAt":"2024-05-07T13:43:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"9daa15f29f50ab29cad3b5662cd147b1e11c732c","after":"28fe6a9b9145716169dfeb622aa83702c3f9df32","ref":"refs/heads/4.2","pushedAt":"2024-05-07T11:41:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"AdaptivePoolingAllocator EventLoop Magazine's affinity (#14017)\n\nMotivation:\r\n\r\nAdaptivePoolingAllocator uses some shared Magazines hoping thread's id\r\ndistribution to improve contended behaviour, but event loops threads can\r\njust uses their own Magazine(s) and save 2 atomic operations (write\r\nlock/unlock) in the hot path, further improving performance.\r\n\r\nModification:\r\n\r\nImplements dedicated event loop Magazines\r\n\r\nResult:\r\n\r\nBetter allocation performance for event loop threads","shortMessageHtmlLink":"AdaptivePoolingAllocator EventLoop Magazine's affinity (#14017)"}},{"before":"dacd5c0feca5a469b872e9d14f6270ba25c5a0d8","after":"9daa15f29f50ab29cad3b5662cd147b1e11c732c","ref":"refs/heads/4.2","pushedAt":"2024-05-07T09:15:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Remove some reflection usage (#14032)\n\nMotivation:\r\nWe've been using reflection as a way to abstract over Java API versions.\r\nNow that we're based on Java 8, some of this reflection usage is no\r\nlonger necessary. In some cases, the APIs we were reflecting on are now\r\ndirectly available. In other cases, we'd like a little more performance\r\nand can call through method handles instead.\r\n\r\nModification:\r\nRemove some reflection usage that was necessary when running on Java 6\r\nor 7, and replace it with direct calls if the code is still needed.\r\nReplace the more performance sensitive reflection usage with\r\nMethodHandles.\r\n\r\nAlso remove the animal sniffer maven plug-in, because animal sniffer\r\ndoes not support signature polymorphic method calls.\r\nSee https://github.com/mojohaus/animal-sniffer/issues/67\r\n\r\nResult:\r\nCleaner, and perhaps slightly faster, code.\r\n\r\nFixes https://github.com/netty/netty/issues/14009","shortMessageHtmlLink":"Remove some reflection usage (#14032)"}},{"before":"2e413d6c73aac00d4541bab119c7a2c330bf8235","after":"343879818495a6179e397f32034d6122980232ef","ref":"refs/heads/4.1","pushedAt":"2024-05-06T20:15:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisvest","name":"Chris Vest","path":"/chrisvest","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7993?s=80&v=4"},"commit":{"message":"AdaptivePoolingAllocator EventLoop Magazine's affinity (#14017)\n\nMotivation:\r\n\r\nAdaptivePoolingAllocator uses some shared Magazines hoping thread's id\r\ndistribution to improve contended behaviour, but event loops threads can\r\njust uses their own Magazine(s) and save 2 atomic operations (write\r\nlock/unlock) in the hot path, further improving performance.\r\n\r\nModification:\r\n\r\nImplements dedicated event loop Magazines\r\n\r\nResult:\r\n\r\nBetter allocation performance for event loop threads","shortMessageHtmlLink":"AdaptivePoolingAllocator EventLoop Magazine's affinity (#14017)"}},{"before":null,"after":"d5608b503c5265095cb9df6ed8442596289c84e0","ref":"refs/heads/default_methods","pushedAt":"2024-05-06T09:19:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"Add default methods to interfaces to reduce burden on implementations\n\nMotivation:\n\nNow that we use java8 we can have some default implementations.\n\nModifications:\n\nAdd default implementations to interfaces\n\nResult:\n\nEasier to implement interfaces","shortMessageHtmlLink":"Add default methods to interfaces to reduce burden on implementations"}},{"before":null,"after":"1d27a9e3dac1748527f76ab0faec34d77005feb1","ref":"refs/heads/io_uring_42","pushedAt":"2024-05-03T20:00:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"77b927f273517aa2fdbe68159de95ca88c1052d9","after":null,"ref":"refs/heads/compress_buffer","pushedAt":"2024-05-03T19:56:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"ded2bf28cd0b255e29d88ed1fcd25c9490a29bf9","after":null,"ref":"refs/heads/sink","pushedAt":"2024-05-03T19:55:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"fed04cdb770ae16fcbe66e02d0f5bca67065a739","after":null,"ref":"refs/heads/arena_malloc","pushedAt":"2024-05-03T19:55:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"fb1fdca30d79ec62bedbcde7866e35b7aaab32c4","after":null,"ref":"refs/heads/AlwaysIncrementStreamId-12065","pushedAt":"2024-05-03T19:55:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"e6f1e2e940351be3dcaaebddeb12513b491c73d9","after":null,"ref":"refs/heads/context_map_fix","pushedAt":"2024-05-03T19:54:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"fdfd71005de77d5c8ff5dd2ae50eec0eac2883b6","after":null,"ref":"refs/heads/http2-api-poc","pushedAt":"2024-05-03T19:54:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"eaf1a231631cdfef55a19888e4d787a924afc8d8","after":null,"ref":"refs/heads/scratch_alloc","pushedAt":"2024-05-03T19:54:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"b4c4f198bf7dc395a36542910bf620ddf6dc7ea9","after":null,"ref":"refs/heads/write_spin","pushedAt":"2024-05-03T19:53:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}},{"before":"f16de1503b80466b40a0bd907c044f82b953f323","after":null,"ref":"refs/heads/remove_edge","pushedAt":"2024-05-03T19:46:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"normanmaurer","name":"Norman Maurer","path":"/normanmaurer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/439362?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERoWdgwA","startCursor":null,"endCursor":null}},"title":"Activity · netty/netty"}