[jira] [Commented] (GEODE-2297) AlertAppender.append should avoid synchronizing on InternalDistributedSystem

2017-01-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15832408#comment-15832408
 ] 

ASF subversion and git services commented on GEODE-2297:


Commit 31a81b3518e9e93a60cd97b9a33e8373c58856ef in geode's branch 
refs/heads/feature/GEODE-2297-3 from [~apa...@the9muses.net]
[ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=31a81b3 ]

GEODE-2297: push new InternalDistributedSystem into AlertAppender

* InternalDistributedSystem initialize pushes its instance into
AlertAppender

* During AlertAppender shuttingDown, it nulls out the reference
to InternalDistributedSystem


> 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=0x7f1cd4009000 nid=0x1e31 waiting for monitor entry 
> [0x7f1d5d965000]
>java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.getConnectedInstance(InternalDistributedSystem.java:316)
> - waiting to lock <0x0005cf476e10> (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 
> 

[jira] [Commented] (GEODE-2297) AlertAppender.append should avoid synchronizing on InternalDistributedSystem

2017-01-16 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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=0x7f1cd4009000 nid=0x1e31 waiting for monitor entry 
> [0x7f1d5d965000]
>java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.getConnectedInstance(InternalDistributedSystem.java:316)
> - waiting to lock <0x0005cf476e10> (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)