[
https://issues.apache.org/jira/browse/ARTEMIS-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16494598#comment-16494598
]
ASF subversion and git services commented on ARTEMIS-1891:
----------------------------------------------------------
Commit 06eb82cb1408a045037be82873c97d235946a761 in activemq-artemis's branch
refs/heads/master from [~wy96f]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=06eb82c ]
ARTEMIS-1891 use io executor to send replicate packet
After sending pages, the thread will hold the storage manager write lock
and send synchronization finished packet(use the parent thread pool) to
the backup node. At the same time, thread pool is full bcs they are
waiting for the storage manager read lock to write the page or journal,
leading to replication starting failure. Here we use io executor to send
replicate packet to fix thread pool starvation problem.
> Sending synchronization finished packet starves when thread pool is full
> ------------------------------------------------------------------------
>
> Key: ARTEMIS-1891
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1891
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Reporter: yangwei
> Priority: Major
> Attachments: synchronization_timeout.stack
>
>
> After sending pages, the thread will hold the storage manager write lock and
> send synchronization finished packet(use the parent thread pool) to the
> backup node. At the same time, thread pool is full bcs they are waiting for
> the storage manager read lock to write the page or journal, leading to
> replication starting failure. Here we use io executor to send replicate
> packet to fix thread pool starvation problem.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)