{"push_id":1227330038,"size":20,"distinct_size":20,"ref":"refs/heads/4.1","head":"34abf001f8640a9fdfa92915e23f80ace444ac71","before":"94d7557dead5e7780769d44bbb4aa7530149ca34","commits":[{"sha":"7db3e01498ded8de43ed18b9fe2f14c11ac2d846","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Ensure uncompressed ByteBuf is released when an exception happens during decoding.\n\nMotivation:\n\nWe need to ensure the uncompressed ByteBuf is released if an exception happens while calling decode(...). If we miss to do so we leak buffers.\n\nModifications:\n\nCorrectly release buffer on exception.\n\nResult:\n\nNo more memory leak.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/7db3e01498ded8de43ed18b9fe2f14c11ac2d846"},{"sha":"9c0d1a99bce9dd9507387fdf4354af297dc0b4e9","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Ensure attributes and contained object can be collected as fast as possible.\n\nMotivation:\n\nDue an implementation flaw in DefaultAttributeMap it was possible that an attribute and its stored value/key could not be collected until the DefaultAttributeMap could be collected. This can lead to unexpected memory usage and strong reachability of objects that should be collected.\n\nModifications:\n\nUse an special empty DefaultAttribute as head of the each bucket which will not store any key / value. With this change everything can be collected as expected as we not use any DefaultAttribute created by the user as head of a bucket.\n\nResult:\n\nDefaultAttributeMap does not store user data and thus the lifetime of this user data is not tied to the lifetime of the DefaultAttributeMap.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/9c0d1a99bce9dd9507387fdf4354af297dc0b4e9"},{"sha":"f25f1f255d1ab49d21d27c6d44f5c24763fd5979","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"No need to do a memory copy to verify snappy identifier\n\nMotivation:\n\nWe are currently doing a memory copy to verify the snapy version. This is not needed.\n\nModifications:\n\nRemove memory copy and just compare byte per byte.\n\nResult:\n\nLess memory copies and allocations","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/f25f1f255d1ab49d21d27c6d44f5c24763fd5979"},{"sha":"8d4cfd90025cb54cdba4037f21e9b723e1e098ac","author":{"name":"Julien Viet","email":"ea640de0300173e34ce46fbcef4e2956bf37acec@julienviet.com"},"message":"Allow ndots=0 in DnsNameResolver and search domains - fixes #5570\n\nMotivation:\n\nThe ndots = 0 is a valid value for ndots, it means that when using a non dotted name, the resolution should first try using a search and if it fails then use subdomains. Currently it is not allowed. Docker compose uses this when wiring up containers as names have usually no dots inside.\n\nModification:\n\nModify DnsNameResolver to accept ndots = 0 and handle the case in the resolution procedure. In this case a direct search is done and then a fallback on the search path is performed.\n\nResult:\n\nThe ndots = 0 case is implemented.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/8d4cfd90025cb54cdba4037f21e9b723e1e098ac"},{"sha":"fe4af7e32c2b49665bf4f0534872135501929bd6","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Ensure shared capacity is updated correctly when WeakOrderQueue is collected.\n\nMotivation:\n\nWe use a shared capacity per Stack for all its WeakOrderQueue elements. These relations are stored in a WeakHashMap to allow dropping these if memory pressure arise. The problem is that we not \"reclaim\" previous reserved space when this happens. This can lead to a Stack which has not shared capacity left which then will lead to an AssertError when we try to allocate a new WeakOderQueue.\n\nModifications:\n\n- Ensure we never throw an AssertError if we not have enough space left for a new WeakOrderQueue\n- Ensure we reclaim space when WeakOrderQueue is collected.\n\nResult:\n\nNo more AssertError possible when new WeakOrderQueue is created and also correctly reclaim space that was reserved from the shared capacity.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/fe4af7e32c2b49665bf4f0534872135501929bd6"},{"sha":"d315f1b3ba844f510423aeac30afb1e647a9949e","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[#5551] Fix sporadic GlobalEventExecutorTest.testAutomaticStartStop test failure\n\nMotivation:\n\nWe saw some sporadic test failures for GlobalEventExecutorTest.testAutomaticStartStop test. This is caused parallel execution of tests in combination with assert checks that will be affected.\n\nModifications:\n\nRemove fragile assert checks.\n\nResult:\n\nNo more sporadic test failures","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/d315f1b3ba844f510423aeac30afb1e647a9949e"},{"sha":"01523e78358830d4c22ca7c866df4691c8331bd8","author":{"name":"Scott Mitchell","email":"376e7fb274235a95251d04d8b0a11832d8c1ba7e@apple.com"},"message":"Reduce conditionals in AbstractReferenceCounted\n\nMotivation:\nAbstractReferenceCounted as independent conditional statements to check the bounds of the retain IllegalReferenceCountException condition. One of the exceptions also uses the incorrect increment.\n\nModifications:\n- Combined independent conditional checks into 1 where possible\n- Correct IllegalReferenceCountException with incorrect increment\n- Remove the subtract to check for overflow and re-use the addition and check for overflow to remove 1 arithmetic operation (see http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.18.2)\n\nResult:\nAbstractReferenceCounted has less independent branch statements and more correct IllegalReferenceCountException. Compilation size of AbstractReferenceCounted.retain() is reduced from 58 bytes to 47 bytes.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/01523e78358830d4c22ca7c866df4691c8331bd8"},{"sha":"cebf255951a257068bbcab4781d4c6085e3289bd","author":{"name":"Scott Mitchell","email":"376e7fb274235a95251d04d8b0a11832d8c1ba7e@apple.com"},"message":"FlushConsolidationHandler remove conditional\n\nMotivation:\nFlushConsolidationHandler#flushIfNeeded has a conditional which is fixed based upon code path. This conditional can be removed and instead just manually set in each fixed code path.\n\nModifications:\n- Remove boolean parameter on FlushConsolidationHandler#flushIfNeeded and set readInprogess to false manually when necessary\n\nResult:\nLess conditionals in FlushConsolidationHandler","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/cebf255951a257068bbcab4781d4c6085e3289bd"},{"sha":"dc6c6d956a9409e4ca13ed0586af80b3e2753e14","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[#5541] Ensure failing a Promise in SimpleChannelPool will not result in stack overflow.\n\nMotivation:\n\nWe used Promise.setFailure(...) when fail a Promise in SimpleChannelPool. As this happens in multiple levels this can result in stackoverflow as setFailure(...) may throw an IllegalStateException which then again is propergated.\n\nModifications:\n\nUse tryFailure(...)\n\nResult:\n\nNo more possibility to cause a stack overflow when failing the promise.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/dc6c6d956a9409e4ca13ed0586af80b3e2753e14"},{"sha":"445a5472651cd6257af43adccdc1b002cb5f8a94","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Set Recycler DEFAULT_INITIAL_MAX_CAPACITY to a more sane value\n\nMotivation:\n\nWe used a very high number for DEFAULT_INITIAL_MAX_CAPACITY (over 200k) which is not very relastic and my lead to very surprising memory usage if allocations happen in bursts.\n\nModifications:\n\nUse a more sane default value of 32k\n\nResult:\n\nLess possible memory usage by default","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/445a5472651cd6257af43adccdc1b002cb5f8a94"},{"sha":"4638df20628a8987c8709f0f8e5f3679a914ce1a","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[#5566] Ensure using a ChannelInitializer via ServerBootstrap.handler(...) produce correct ordering.\n\nMotivation:\n\nWhen a ChannelInitializer is used via ServerBootstrap.handler(...) the users handlers may be added after the internal ServerBootstrapAcceptor. This should not happen.\n\nModifications:\n\nDelay the adding of the ServerBootstrapAcceptor until the initChannel(....) method returns.\n\nResult:\n\nCorrect order of handlers in the ServerChannels ChannelPipeline.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/4638df20628a8987c8709f0f8e5f3679a914ce1a"},{"sha":"b97a36a10f738d946cb8ff920c8e1177db40c74b","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Add test to verify that its possible to add another ChannelInitializer in the initChannel(...) method.\n\nMotivation:\n\nI received a report the its not possible to add another ChannelInitialiter in the initChannel(...) method, so we should add a test case for it.\n\nModifications:\n\nAdded testcase.\n\nResult:\n\nValidate that all works as expected.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/b97a36a10f738d946cb8ff920c8e1177db40c74b"},{"sha":"835f901d5f30fb125672cfd8ae32061e55c5b58f","author":{"name":"Ngoc Dao","email":"8fd53f1187b152b76a46e203f42d75fb450a6f0a@atlassian.com"},"message":"Fix #5590 QueryStringDecoder#path should decode the path info\n\nMotivation:\n\nCurrently, QueryStringDecoder#path simply returns the path info as is, without decoding it as the Javadoc states.\n\nModifications:\n\n* Make QueryStringDecoder#path decode the path info.\n* Add tests to QueryStringDecoderTest.\n\nResult:\n\nQueryStringDecoder#path now decodes the path info as expected.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/835f901d5f30fb125672cfd8ae32061e55c5b58f"},{"sha":"5f4f295600e49071fb8da53cfd161935bbb5a609","author":{"name":"Scott Mitchell","email":"376e7fb274235a95251d04d8b0a11832d8c1ba7e@apple.com"},"message":"Correctly return a retained slice if called SwappedByteBuf.retainedSlice(...)\n\nMotivation:\n\nSwappedByteBuf.retainedSlice(...) did not return a retained buffer.\n\nModifications:\n\nCorrectly delegate to retainedSlice(..) calls.\n\nResult:\n\nCorrectly return retained slice.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/5f4f295600e49071fb8da53cfd161935bbb5a609"},{"sha":"9466b32d05ecf63b7e3a16e8e432ca5def21dc1e","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[maven-release-plugin] prepare release netty-4.1.4.Final","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/9466b32d05ecf63b7e3a16e8e432ca5def21dc1e"},{"sha":"cb7cf4491c59c4e3b44a54c18aadb2dcbad1d69c","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[maven-release-plugin] prepare for next development iteration","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/cb7cf4491c59c4e3b44a54c18aadb2dcbad1d69c"},{"sha":"7f8b5f8efd1b49665b89485eb49e11e6ad50c139","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"[#4351] Add warnings for Attribute.remove() and Attribute.getAndRemove()\n\nMotivation:\n\nUsing Attribute.remove() and Attribute.getAndRemove() in a multi-threaded enviroment has its drawbacks. Make sure we document these.\n\nModifications:\n\nAdd javadocs and mark Attribute.remove() and Attribute.getAndRemove() as @Deprecated.\n\nResult:\n\nHopefully less suprising behaviour.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/7f8b5f8efd1b49665b89485eb49e11e6ad50c139"},{"sha":"d92c5f5f5b93570c4f80b7ec9e6510e261f71b25","author":{"name":"Norman Maurer","email":"aea02ec796b8c3b5db26f08a9fb9d35935be1996@apple.com"},"message":"Introduce allocation / pooling ratio in Recycler\n\nMotivation:\n\nAt the moment the Recyler is very sensitive to allocation bursts which means that if there is a need for X objects for only one time these will most likely end up in the Recycler and sit there forever as the normal workload only need a subset of this number.\n\nModifications:\n\nAdd a ratio which sets how many objects should be pooled for each new allocation. This allows to slowly increase the number of objects in the Recycler while not be to sensitive for bursts.\n\nResult:\n\nLess unused objects in the Recycler if allocation rate sometimes bursts.","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/d92c5f5f5b93570c4f80b7ec9e6510e261f71b25"},{"sha":"82b617dfe9d28b6361006e6e9943fc83248aa7dd","author":{"name":"Scott Mitchell","email":"376e7fb274235a95251d04d8b0a11832d8c1ba7e@apple.com"},"message":"retainSlice() unwrap ByteBuf\n\nMotivation:\nretainSlice() currently does not unwrap the ByteBuf when creating the ByteBuf wrapper. This effectivley forms a linked list of ByteBuf when it is only necessary to maintain a reference to the unwrapped ByteBuf.\n\nModifications:\n- retainSlice() and retainDuplicate() variants should only maintain a reference to the unwrapped ByteBuf\n- create new unit tests which generally verify the retainSlice() behavior\n- Remove unecessary generic arguments from AbstractPooledDerivedByteBuf\n- Remove unecessary int length member variable from the unpooled sliced ByteBuf implementation\n- Rename the unpooled sliced/derived ByteBuf to include Unpooled in their name to be more consistent with the Pooled variants\n\nResult:\nFixes https://github.com/netty/netty/issues/5582","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/82b617dfe9d28b6361006e6e9943fc83248aa7dd"},{"sha":"34abf001f8640a9fdfa92915e23f80ace444ac71","author":{"name":"maldou","email":"e2dd7d350111fb566f6d1d251837fa8d29fd950b@gmail.com"},"message":"Merge pull request #1 from netty/4.1\n\n更新","distinct":true,"url":"https://api.github.com/repos/maldou/netty/commits/34abf001f8640a9fdfa92915e23f80ace444ac71"}]}
{"actor":{"display_login":"maldou"}}