[ https://issues.apache.org/jira/browse/DIRMINA-1146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17790963#comment-17790963 ]
Emmanuel Lécharny commented on DIRMINA-1146: -------------------------------------------- Hi [~eissam_yassin], if the *maxscheduledwriterequests* keep increasing, it's because messages never get written to the remote peer. There are two places this counter get decremented: 1) When the message get actually written (at the very end, we decrement the scheduled messages counter) {code:java} /** * Increase the number of written messages * * @param request The written message * @param currentTime The current tile */ public final void increaseWrittenMessages(WriteRequest request, long currentTime) { Object message = request.getMessage(); if (message instanceof IoBuffer) { IoBuffer b = (IoBuffer) message; if (b.hasRemaining()) { return; } } writtenMessages++; lastWriteTime = currentTime; if (getService() instanceof AbstractIoService) { ((AbstractIoService) getService()).getStatistics().increaseWrittenMessages(currentTime); } decreaseScheduledWriteMessages(); } {code} This method is called when the {{messageSent}} event is received: {code:java} @Override public void messageSent(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception { long now = System.currentTimeMillis(); ((AbstractIoSession) session).increaseWrittenMessages(writeRequest, now); {code} 2) When we get an error: {code:java} private void clearWriteRequestQueue(S session) { ... // Create an exception and notify. if (!failedRequests.isEmpty()) { WriteToClosedSessionException cause = new WriteToClosedSessionException(failedRequests); for (WriteRequest r : failedRequests) { session.decreaseScheduledBytesAndMessages(r); r.getFuture().setException(cause); } IoFilterChain filterChain = session.getFilterChain(); filterChain.fireExceptionCaught(cause); } } {code} called by: {code:java} private boolean removeNow(S session) { clearWriteRequestQueue(session); {code} which is part of the session cleanup. > TLS enabled session got disconnected when outbound messages add up to the > value of maxscheduledwriterequests > ------------------------------------------------------------------------------------------------------------ > > Key: DIRMINA-1146 > URL: https://issues.apache.org/jira/browse/DIRMINA-1146 > Project: MINA > Issue Type: Bug > Reporter: Chily > Assignee: Jonathan Valliere > Priority: Blocker > Fix For: 2.2.2 > > > Slow Consumer Protection Feature does not work on TLS enabled session > -> ioSession.getScheduledWriteMessages() never decreases in > IoSessionResponder#send method > internal.engine.session.maxscheduledwriterequests=10000 > Our TLS enabled session got disconneced when the outbound messages added up > to 10000. > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org