[ https://issues.apache.org/jira/browse/GEODE-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15824626#comment-15824626 ]
ASF subversion and git services commented on GEODE-2297: -------------------------------------------------------- Commit deb52c06bf7cb00617301859ce9f0b8f1e44573d in geode's branch refs/heads/feature/GEODE-2297 from [~apa...@the9muses.net] [ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=deb52c0 ] GEODE-2297: passively discover DistributedSystem instance > AlertAppender.append should avoid synchronizing on InternalDistributedSystem > ---------------------------------------------------------------------------- > > Key: GEODE-2297 > URL: https://issues.apache.org/jira/browse/GEODE-2297 > Project: Geode > Issue Type: Bug > Components: management > Reporter: Kirk Lund > > AlertAppender.append should avoid synchronizing on InternalDistributedSystem > for two reasons: > 1) risks deadlock > 2) impacts performance > {noformat} > "Pooled High Priority Message Processor 3" daemon prio=10 > tid=0x00007f1cd4009000 nid=0x1e31 waiting for monitor entry > [0x00007f1d5d965000] > java.lang.Thread.State: BLOCKED (on object monitor) > at > com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.getConnectedInstance(InternalDistributedSystem.java:316) > - waiting to lock <0x00000005cf476e10> (a java.lang.Object) > at > com.gemstone.gemfire.internal.logging.log4j.AlertAppender.append(AlertAppender.java:101) > at > org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:99) > at > org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:430) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:409) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:412) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:412) > at > org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367) > at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:112) > at > org.apache.logging.log4j.spi.ExtendedLoggerWrapper.logMessage(ExtendedLoggerWrapper.java:127) > at > org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:685) > at > org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:899) > at > com.gemstone.gemfire.internal.tcp.Connection.createSender(Connection.java:1078) > at > com.gemstone.gemfire.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:358) > at > com.gemstone.gemfire.internal.tcp.ConnectionTable.getUnorderedOrConserveSockets(ConnectionTable.java:474) > at > com.gemstone.gemfire.internal.tcp.ConnectionTable.get(ConnectionTable.java:664) > at > com.gemstone.gemfire.internal.tcp.TCPConduit.getConnection(TCPConduit.java:977) > at > com.gemstone.gemfire.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:638) > at > com.gemstone.gemfire.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:396) > at > com.gemstone.gemfire.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:310) > at > com.gemstone.gemfire.distributed.internal.direct.DirectChannel.send(DirectChannel.java:696) > at > com.gemstone.gemfire.distributed.internal.membership.jgroup.JGroupMembershipManager.directChannelSend(JGroupMembershipManager.java:2930) > at > com.gemstone.gemfire.distributed.internal.membership.jgroup.JGroupMembershipManager.send(JGroupMembershipManager.java:3164) > at > com.gemstone.gemfire.distributed.internal.DistributionChannel.send(DistributionChannel.java:79) > at > com.gemstone.gemfire.distributed.internal.DistributionManager.sendOutgoing(DistributionManager.java:3913) > at > com.gemstone.gemfire.distributed.internal.DistributionManager.sendMessage(DistributionManager.java:3954) > at > com.gemstone.gemfire.distributed.internal.DistributionManager.putOutgoing(DistributionManager.java:1957) > at > com.gemstone.gemfire.distributed.internal.StartupMessage.process(StartupMessage.java:321) > at > com.gemstone.gemfire.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:386) > at > com.gemstone.gemfire.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:457) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)