[ 
https://issues.apache.org/jira/browse/ARTEMIS-2205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16738742#comment-16738742
 ] 

ASF GitHub Bot commented on ARTEMIS-2205:
-----------------------------------------

Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2467#discussion_r246575326
  
    --- Diff: 
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonServerSenderContext.java
 ---
    @@ -730,22 +793,29 @@ public int deliverMessage(MessageReference 
messageReference, int deliveryCount,
     
                 if (preSettle) {
                    // Presettled means the client implicitly accepts any 
delivery we send it.
    -               sessionSPI.ack(null, brokerConsumer, 
messageReference.getMessage());
    +               try {
    +                  sessionSPI.ack(null, brokerConsumer, 
messageReference.getMessage());
    +               } catch (Exception e) {
    +                  log.debug(e.getMessage(), e);
    +               }
                    delivery.settle();
                 } else {
                    sender.advance();
                 }
     
                 connection.flush();
              } finally {
    -            connection.unlock();
    +            synchronized (creditsLock) {
    +               pending.decrementAndGet();
    +            }
    +            if (releaseRequired) {
    +               ((NettyReadable) sendBuffer).getByteBuf().release();
    +            }
              }
    +      } catch (Exception e) {
    +         log.warn(e.getMessage(), e);
     
    -         return size;
    -      } finally {
    -         if (releaseRequired) {
    -            ((NettyReadable) sendBuffer).getByteBuf().release();
    -         }
    +         // important todo: Error treatment
    --- End diff --
    
    done!


> Make AMQP Processing Single Threaded and other AMQP perf improvements
> ---------------------------------------------------------------------
>
>                 Key: ARTEMIS-2205
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2205
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: AMQP
>    Affects Versions: 2.6.3
>            Reporter: clebert suconic
>            Assignee: clebert suconic
>            Priority: Major
>             Fix For: 2.7.0
>
>
> This is using Netty Executor (NIOLoop) to process AMQP.
> Instead of using a lock to enter the AMQP processing, what has issues on 
> scaling up multiple connections per queue, it's using a single threaded 
> executor.
>  
>  
> This represents a major improvement in AMQP. I will take my time to write a 
> blog post about this with multiple scenarios comparing 2.6.3, master (before 
> this change) and after. (I will post a link here to this JIRA).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to