{"push_id":1402666426,"size":1,"distinct_size":1,"ref":"refs/heads/4.0","head":"7d0f9e80e28ee692ef5d92bfb41432145bc6d921","before":"68100cdd7f53077aa35fe656dfc4a2571a8eeb92","commits":[{"sha":"7d0f9e80e28ee692ef5d92bfb41432145bc6d921","author":{"name":"Aniket Bhatnagar","email":"c0f9e5f13df8626244f54e187809a7706d403ae7@teamaol.com"},"message":"Added optional pending timeouts counter parameter to HashedWheelTimer constructor and ensured that pending timeouts don't exceed provided max pending timeouts.\n\nMotivation:\nIf the rate at which new timeouts are created is very high and the created timeouts are not cancelled, then the JVM can crash because of out of heap space. There should be a guard in the implementation to prevent this.\n\nModifications:\nThe constructor of HashedWheelTimer now takes an optional max pending timeouts parameter beyond which it will reject new timeouts by throwing RejectedExecutionException.\n\nResult:\nAfter this change, if the max pending timeouts parameter is passed as constructor argument to HashedWheelTimer, then it keeps a track of pending timeouts that aren't yet expired or cancelled. When a new timeout is being created, it checks for current pending timeouts and if it's equal to or greater than provided max pending timeouts, then it throws RejectedExecutionException.","distinct":true,"url":"https://api.github.com/repos/netty/netty/commits/7d0f9e80e28ee692ef5d92bfb41432145bc6d921"}]}
{"actor":{"display_login":"Scottmitch"}}