Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Release cumulation #38

wants to merge 78 commits into


None yet
5 participants

arya commented Nov 3, 2011

No description provided.

trustin and others added some commits Nov 11, 2010

Fix for NETTY-370 - documentation updated to reflect the correct beha…
…viour of

high / low water marks on the interest ops of nio channels.
Fixed build issues
* Replaced the buildnumber plugin with antrun exec tag to generate the build number correctly.
* Fixed a problem where MANIFEST.MF is lost
Fixed build issues
* Replaced the buildnumber plugin with antrun exec tag to generate the build number correctly.
* Fixed a problem where MANIFEST.MF is lost
Fixed issue: NETTY-377 messageReceived could happen before
channelConnected when using local channels

More precise LocalChannel state management to avoid incorrect event
Fixed issue: NETTY-374 ChunkedWriteHandler and handling messages after
channel close

Fixed a bug where a write requests made after closure are not
Fixed issue: NETTY-371 OSGi Manifest requires Bundle-BuddyPolicy for
object deserialization

Added proper BuddyPolicy properties to the manifest
Fixed incorrect usage of ByteBuffer.arrayOffset()
* NETTY-368 Wrappedbuffer does not honour posiiton()
* and similar mistakes found during a review
Fixed a race condition in MemoryAwareThreadPoolExecutor
Replaced a semaphore with a custom concurrency construct to fix a
known race condition in MemoryAwareThreadPoolExecutor
Fixed NETTY-365 HashedWheelTimer.stop() enters an infinite loop when
called from TimerTask
Fixed NETTY-379 Intermittent slippery task timeout in HashedWheelTimer
* Throw an IllegalStateException if HashedWheelTimer.stop() is called
from TimerTask
* Reschedule the slipped task accurately instead of delaying it by one
Fixed issue: NETTY-380 releaseExternalResources() hang indefinitely
when called from a handler

* Replaced IoWorkerRunnable with DeadLockProofWorker
* ExecutorUtil now checks dead lock
Fixed issue: NETTY-373 Deadlock in ChunkedWriteHandler on channel

* channelInterestChanged event is not fired anymore when a socket is
closing because it is unnecessary
Fixed NETTY-381 channelDisconnected event is sometimes not triggered …
…when Channel.close() is called by multiple threads.

* Internal state variable should never be set to ST_CLOSED until the close channel future is set
* Fixed a documentation error in ChannelBuffer javadoc
* Clearly specified that FrameDecoder is an implementation of ChannelHandler
Fixed issue: NETTY-382 ChannelLocal.remove() should return the return
value of initialValue() instead of null when no value was set.
NETTY-383 deflate-raw support for HttpContentDecompressor
* Added ZlibWrapperType.ZLIB_OR_NONE for auto-detection and updated
the relevant Zlib implementation
NETTY-393: SslHandler infinite loop on Apache Harmony with large payload
Increased the SSL buffer size by 1024 as advised
NETTY-394 SslHandler does not work with a little endian buffer
Added SslHandler.getShort() which replaces ChannelBuffer.getShort() calls
Added a timeout for the UdpClient so that the test cannot hang.
I noticed the build "hanging/halting" on the test when running the cobertura code coverage Eclipse plugin.
NETTY-401 - NullPointerException when ReadTimeoutHandler is
concurrently initialized and destroyed

* Made ReadTimeoutHandler @Sharable
* Updated the UptimeClient again
** no static fields for global state - just reuse the handlers.
* Fixed the bug in CookieEncoder if there are no cookie's set while
calling encode(). Without the fix, it ended up in calling the
exception "java.lang.StringIndexOutOfBoundsException".
* Also added test case to verify the patch

Change-Id: Ib96425e07ab50be027ade7be0748cceb6438a586


NETTY-410 NioWorker write deadlock
Applied the patch provided by Greg Dhuse.
NETTY-389 java.lang.ClassCastException: org.jboss.netty.channel.FileR…
…egion cannot be cast to org.jboss.netty.buffer.ChannelBuffer

* Updated JavaDoc to let users know that not all transports support FileRegion
* Added FIXME for future improvement
NETTY-407 HttpTunnelingClientSocketChannel failed close() is not sent to
calling futures.

* HttpTunnelingClientSocketChannel.writeLastChunk should return a failed
future instead of raising an exception.
NETTY-410 NioWorker write deadlock
Applied the patch provided by Greg Dhuse.
NETTY-426 Prevent a user from reusing an upstream MessageEvent to write

Modified the pipeline implementations so that it rejects the attempt to
send an UpstreamMessageEvent to downstream
NETTY-425 ChannelBuffers.compare does not handle unsigned bytes corre…

* Fixed a bug where signed comparison is made where unsigned comparison is expected
NETTY-418 isCompleteFailure() and isCompleteSuccess() are both true a…
…t the same time

* Fixed incorrect isPartialSuccess(), isPartialFailure(), isCompleteFailure() implementation
NETTY-415 ChannelFuture.setFailure() not called when exception thrown…
… handling Channel.close()

* Made sure the ChannelFuture associated with a downstream event is marked as failure when an exception is raised before it reaches at ChannelSink.
Fixed a bug where the future associated with the close request is not…
… notified when the channel was closed already when SslHandler attempts to send a closure_notify.

This shouldn't be a problem to most applications because they usually do not specify their own future object for the close request.
NETTY-417 client channel still open after close and wait
* Fixed a race condition where NioSocketChannel's state variable is updated *after* its close future is notified
* Removed unnecessary use of ChannelFutureListeners in NioSocketChannel and AbstractChannel


NETTY-417 client channel still open after close and wait
* Fixed a bug in SslHandler where a write attempt made after SSLEngine is closed result in unnotified future.  Fixed by respecting the case where SslEngineResult.Status == CLOSED
NETTY-419 ObjectEncoder/ObjectDecoder fails with NPE when deserializi…
…ng the java.lang.Class instance of an interface type

* Fixed a bug where deserializing an interface class fails due to wrong lookup.
* Implemented class lookup caching
NETTY-420 HttpClientCodec doesn't handle HEAD requests with Transfer-…
…Encoding: chunked responses

* Reverted back the workaround for servers that sends unnecessary zero-byte chunk in a HEAD response because it actually breaks the codec when the server that conforms to the RFC.
NETTY-384 Another deadlock in ChunkedWriteHandler
ChunkedWriteHandler.discard() do not issue write requests to trigger exceptionCaught events and to notify write futures anymore.  Instead, it triggers exceptionCaught events and notifies write futures by itself.  Therefore, no write lock is involved during discard(), avoiding the reported dead lock.

However, this is a temporary solution, and eventually Netty must introduce more robust event thread model.
NETTY-408 ChunkedStream generates 1-byte chunks for wrapped input str…
…eams that does have sane implementation of available() method

* Updated JavaDoc so that users don't specify an InputStream with poor available() implementation.

@arya arya closed this Nov 3, 2011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment