[jira] [Created] (DIRMINA-1153) MINA: Exception thrown at the client side - ProtocolDecoderException:BufferDataException
Saravanan created DIRMINA-1153: -- Summary: MINA: Exception thrown at the client side - ProtocolDecoderException:BufferDataException Key: DIRMINA-1153 URL: https://issues.apache.org/jira/browse/DIRMINA-1153 Project: MINA Issue Type: Bug Components: Handler Affects Versions: 2.0.19 Reporter: Saravanan Mina version: mina-core-2.0.19.jar Server code snippet: IoAcceptor acceptor = new NioSocketAcceptor(); DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); LoggingFilter loggingFilter = new LoggingFilter(); loggingFilter.setMessageSentLogLevel(LogLevel.DEBUG); loggingFilter.setMessageReceivedLogLevel(LogLevel.DEBUG); loggingFilter.setSessionClosedLogLevel(LogLevel.DEBUG); loggingFilter.setSessionCreatedLogLevel(LogLevel.DEBUG); loggingFilter.setSessionIdleLogLevel(LogLevel.DEBUG); loggingFilter.setSessionOpenedLogLevel(LogLevel.DEBUG); chain.addLast("logger", loggingFilter); MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter(); chain.addLast("mdc", mdcInjectionFilter); chain.addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); Client code snippet: NioSocketConnector connector = new NioSocketConnector(); LoggingFilter LOGGING_FILTER = new LoggingFilter("MinaLogging"); LOGGING_FILTER.setMessageSentLogLevel(LogLevel.DEBUG); LOGGING_FILTER.setMessageReceivedLogLevel(LogLevel.DEBUG); IoFilter CODEC_FILTER = new ProtocolCodecFilter(new ObjectSerializationCodecFactory()); connector.getFilterChain().addLast("mdc", new MdcInjectionFilter()); connector.getFilterChain().addLast("codec", CODEC_FILTER); connector.getFilterChain().addLast("logger", LOGGING_FILTER); Exception: org.apache.mina.filter.codec.ProtocolDecoderException: org.apache.mina.core.buffer.BufferDataException: dataLength: 1048985 (Hexdump: XX...) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:262) [mina-core-2.0.19.jar:?] at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:180) ~[mina-core-2.0.19.jar:?] at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:253) ~[mina-core-2.0.19.jar:?] Points: - There is no synchronization while writing... - There are multiple threads parallely wirting into the tcp connection (around 100-200) - The problem is observed only when the load is high... I have seen similar tickets here and not sure about the RCA. https://issues.apache.org/jira/browse/DIRMINA-653 Need help... -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org
Re: [VOTE] Mina SSHD 2.8.0
+1 I've staged a release candidate at https://repository.apache.org/content/repositories/orgapachemina-1061 GIt Tag: https://github.com/apache/mina-sshd/releases/tag/sshd-2.8.0 Issues solved: https://issues.apache.org/jira/issues/?jql=project%20%3D%20SSHD%20AND%20fixVersion%20%3D%202.8.0
Re: Q: Release SSHD 2.7.1 ?
Sorry, for some reason I missed it - I vote +1 >> The vote was started a few days ago: http://mail-archives.apache.org/mod_mbox/mina-dev/202111.mbox/%3cCAA66TppR9cKQtWiYzmPm5hCPG=rhwugsnfhe0-jk0geryuw...@mail.gmail.com%3e
[jira] [Commented] (DIRMINA-1152) IoServiceStatistics introduces huge latencies
[ https://issues.apache.org/jira/browse/DIRMINA-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17452440#comment-17452440 ] Jonathan Valliere commented on DIRMINA-1152: PRs are welcome > IoServiceStatistics introduces huge latencies > - > > Key: DIRMINA-1152 > URL: https://issues.apache.org/jira/browse/DIRMINA-1152 > Project: MINA > Issue Type: Bug > Components: Core >Affects Versions: 2.1.4, 2.1.5 >Reporter: Dmitrii Novikov >Priority: Major > > Current implementation of IoServiceStatistics is blocking - it blocks on > _throughputCalculationLock_ for almost all operations > However, _IoServiceStatistics_ is used by all threads which writes to > _IoSession_ and by all _NioProcessor_ threads. > Blocking _IoServiceStatistics_ dramatically decreases performance in case of > multithreaded writing to {_}IoSession{_}. > Please, refer to my > [benchmark|https://github.com/dmitriinovikov/apache-mina-benchmark] to ensure > that it is so. The measurements are taken between the time the message was > written to _IoSession_ by client and the time when it was actually sent to > the server by _NioProcessor._ Latency percentiles are calculated for all > messages except the first 20% - consider it as a warmup. You can read about > benchmark details in the README file. > > My benchmark results: > {code:java} > # non-blocking IoServiceStatistics vs blocking IoServiceStatistics: > p50: 85mcs vs 140mcs > p75: 150mcs vs 400mcs > p90: 239mcs vs 905mcs > p95: 319mcs vs 1418mcs > p99: 1311mcs vs 11485mcs {code} > > As a simple workaround solution, I would suggest to add an option to disable > _IoServiceStatistics_ or replace it with custom implementation. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org
[jira] [Updated] (DIRMINA-1152) IoServiceStatistics introduces huge latencies
[ https://issues.apache.org/jira/browse/DIRMINA-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitrii Novikov updated DIRMINA-1152: - Description: Current implementation of IoServiceStatistics is blocking - it blocks on _throughputCalculationLock_ for almost all operations However, _IoServiceStatistics_ is used by all threads which writes to _IoSession_ and by all _NioProcessor_ threads. Blocking _IoServiceStatistics_ dramatically decreases performance in case of multithreaded writing to {_}IoSession{_}. Please, refer to my [benchmark|https://github.com/dmitriinovikov/apache-mina-benchmark] to ensure that it is so. The measurements are taken between the time the message was written to _IoSession_ by client and the time when it was actually sent to the server by _NioProcessor._ Latency percentiles are calculated for all messages except the first 20% - consider it as a warmup. You can read about benchmark details in the README file. My benchmark results: {code:java} # non-blocking IoServiceStatistics vs blocking IoServiceStatistics: p50: 85mcs vs 140mcs p75: 150mcs vs 400mcs p90: 239mcs vs 905mcs p95: 319mcs vs 1418mcs p99: 1311mcs vs 11485mcs {code} As a simple workaround solution, I would suggest to add an option to disable _IoServiceStatistics_ or replace it with custom implementation. was: Current implementation of IoServiceStatistics is blocking - it blocks on _throughputCalculationLock_ for almost all operations However, _IoServiceStatistics_ is used by all threads which writes to _IoSession_ and by all _NioProcessor_ threads. Blocking _IoServiceStatistics_ dramatically decreases performance in case of multithreaded writing to {_}IoSession{_}. Please, refer to my [benchmark|https://github.com/dmitriinovikov/apache-mina-benchmark] to ensure that it is so. The measurements are taken between the time the message was written to _IoSession_ by client and the time when it was actually sent to the server by _NioProcessor._ Latency percentiles are calculated for all messages except the first 20% - consider it as a warmup. My benchmark results: {code:java} # non-blocking IoServiceStatistics vs blocking IoServiceStatistics: p50: 85mcs vs 140mcs p75: 150mcs vs 400mcs p90: 239mcs vs 905mcs p95: 319mcs vs 1418mcs p99: 1311mcs vs 11485mcs {code} As a simple workaround solution, I would suggest to add an option to disable _IoServiceStatistics_ or replace it with custom implementation. > IoServiceStatistics introduces huge latencies > - > > Key: DIRMINA-1152 > URL: https://issues.apache.org/jira/browse/DIRMINA-1152 > Project: MINA > Issue Type: Bug > Components: Core >Affects Versions: 2.1.4, 2.1.5 >Reporter: Dmitrii Novikov >Priority: Major > > Current implementation of IoServiceStatistics is blocking - it blocks on > _throughputCalculationLock_ for almost all operations > However, _IoServiceStatistics_ is used by all threads which writes to > _IoSession_ and by all _NioProcessor_ threads. > Blocking _IoServiceStatistics_ dramatically decreases performance in case of > multithreaded writing to {_}IoSession{_}. > Please, refer to my > [benchmark|https://github.com/dmitriinovikov/apache-mina-benchmark] to ensure > that it is so. The measurements are taken between the time the message was > written to _IoSession_ by client and the time when it was actually sent to > the server by _NioProcessor._ Latency percentiles are calculated for all > messages except the first 20% - consider it as a warmup. You can read about > benchmark details in the README file. > > My benchmark results: > {code:java} > # non-blocking IoServiceStatistics vs blocking IoServiceStatistics: > p50: 85mcs vs 140mcs > p75: 150mcs vs 400mcs > p90: 239mcs vs 905mcs > p95: 319mcs vs 1418mcs > p99: 1311mcs vs 11485mcs {code} > > As a simple workaround solution, I would suggest to add an option to disable > _IoServiceStatistics_ or replace it with custom implementation. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org
[jira] [Created] (DIRMINA-1152) IoServiceStatistics introduces huge latencies
Dmitrii created DIRMINA-1152: Summary: IoServiceStatistics introduces huge latencies Key: DIRMINA-1152 URL: https://issues.apache.org/jira/browse/DIRMINA-1152 Project: MINA Issue Type: Bug Components: Core Affects Versions: 2.1.4, 2.1.5 Reporter: Dmitrii Current implementation of IoServiceStatistics is blocking - it blocks on _throughputCalculationLock_ for almost all operations However, _IoServiceStatistics_ is used by all threads which writes to _IoSession_ and by all _NioProcessor_ threads. Blocking _IoServiceStatistics_ dramatically decreases performance in case of multithreaded writing to {_}IoSession{_}. Please, refer to my [benchmark|https://github.com/dmitriinovikov/apache-mina-benchmark] to ensure that it is so. The measurements are taken between the time the message was written to _IoSession_ by client and the time when it was actually sent to the server by _NioProcessor._ Latency percentiles are calculated for all messages except the first 20% - consider it as a warmup. My benchmark results: {code:java} # non-blocking IoServiceStatistics vs blocking IoServiceStatistics: p50: 85mcs vs 140mcs p75: 150mcs vs 400mcs p90: 239mcs vs 905mcs p95: 319mcs vs 1418mcs p99: 1311mcs vs 11485mcs {code} As a simple workaround solution, I would suggest to add an option to disable _IoServiceStatistics_ or replace it with custom implementation. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org