[jira] [Updated] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread Owen Nichols (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen Nichols updated GEODE-8652:

Fix Version/s: 1.13.1
   1.14.0
   1.12.1

> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.12.1, 1.14.0, 1.13.1
>
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.disconnect(GMSMembership.java:1847)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnect(DistributionImpl.java:501)
>   at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.uncleanShutdown(ClusterDistributionManager.java:1291)
> {noformat}
> That thread is waiting on a lock held by this thread (in ds3) which is 
> waiting on an acknowledgement to a PutAllPRMessage sent to ds1.
> {noformat}
> "vm_3_thr_37_dataStore3_host1_8592" #857 daemon prio=5 os_prio=0 
> tid=0x7fdb9c030800 nid=0x30d1 runnable [0x7fdb732f]
>java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
> at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
> at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
> at sun.nio.ch.IOUtil.read(IOUtil.java:192)
> at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378)
> - locked <0xf2643380> (a java.lang.Object)
> at 
> org.apache.geode.internal.net.NioSslEngine.readAtLeast(NioSslEngine.java:330)
> at 
> org.apache.geode.internal.tcp.MsgReader.readAtLeast(MsgReader.java:129)
> at 
> 

[jira] [Updated] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread Owen Nichols (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen Nichols updated GEODE-8540:

Fix Version/s: 1.13.1

> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0, 1.13.1
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread Owen Nichols (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen Nichols updated GEODE-8136:

Fix Version/s: 1.13.1

> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0, 1.13.1
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (GEODE-8673) Need to check if non transactional destroy could have the same issue as transactional destroy with concurrent gii

2020-10-30 Thread Eric Shu (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Shu resolved GEODE-8673.
-
Resolution: Not A Problem

> Need to check if non transactional destroy could have the same issue as 
> transactional destroy with concurrent gii
> -
>
> Key: GEODE-8673
> URL: https://issues.apache.org/jira/browse/GEODE-8673
> Project: Geode
>  Issue Type: Bug
>  Components: regions
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>
> See GEODE-8672. The version tag information is lost during concurrent 
> transactional destroy and gii. Need to check to see if the same could occur 
> in non transactional destroy.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8673) Need to check if non transactional destroy could have the same issue as transactional destroy with concurrent gii

2020-10-30 Thread Eric Shu (Jira)


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

Eric Shu commented on GEODE-8673:
-

Close this as a no issue. Code reviews show that non-transactional destroy has 
the case handled -- there is a logic to retainForConcurrency when inTokenMode.

> Need to check if non transactional destroy could have the same issue as 
> transactional destroy with concurrent gii
> -
>
> Key: GEODE-8673
> URL: https://issues.apache.org/jira/browse/GEODE-8673
> Project: Geode
>  Issue Type: Bug
>  Components: regions
>Reporter: Eric Shu
>Assignee: Eric Shu
>Priority: Major
>
> See GEODE-8672. The version tag information is lost during concurrent 
> transactional destroy and gii. Need to check to see if the same could occur 
> in non transactional destroy.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8678) Add Missing .NET API Docs for Cache::GetPoolFactory and Cache::GetPoolManager

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8678:


Commit 0d9a99d5e0632de62df17921950cf3f6640efb33 in geode-native's branch 
refs/heads/develop from Michael Martell
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=0d9a99d ]

GEODE-8678: Add missing API docs (#684)

For Cache::GetPoolManager() and Cache::GetPoolFactory()


> Add Missing .NET API Docs for Cache::GetPoolFactory and Cache::GetPoolManager
> -
>
> Key: GEODE-8678
> URL: https://issues.apache.org/jira/browse/GEODE-8678
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Michael Martell
>Priority: Minor
>
> Just need to add doc tags and descriptions for these .NET APIs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 06642ead279c500180f396c865b6277cb92ae27d in geode's branch 
refs/heads/support/1.12 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=06642ea ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 06642ead279c500180f396c865b6277cb92ae27d in geode's branch 
refs/heads/support/1.12 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=06642ea ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit cde469c6b6955a334e6bbf22accfc0735f0c70f4 in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cde469c ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit 10af7ea015ec85ef02b2e972c7a3dd3ec23bcb7f in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=10af7ea ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit b2af727ce23fd155f3665e3db2ecee6e8f80fba7 in geode's branch 
refs/heads/support/1.13 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b2af727 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 06642ead279c500180f396c865b6277cb92ae27d in geode's branch 
refs/heads/support/1.12 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=06642ea ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Resolved] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread Bill Burcham (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bill Burcham resolved GEODE-8652.
-
Resolution: Fixed

fixed on `develop` and back-ported to 1.13 and 1.12

> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.disconnect(GMSMembership.java:1847)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnect(DistributionImpl.java:501)
>   at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.uncleanShutdown(ClusterDistributionManager.java:1291)
> {noformat}
> That thread is waiting on a lock held by this thread (in ds3) which is 
> waiting on an acknowledgement to a PutAllPRMessage sent to ds1.
> {noformat}
> "vm_3_thr_37_dataStore3_host1_8592" #857 daemon prio=5 os_prio=0 
> tid=0x7fdb9c030800 nid=0x30d1 runnable [0x7fdb732f]
>java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
> at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
> at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
> at sun.nio.ch.IOUtil.read(IOUtil.java:192)
> at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378)
> - locked <0xf2643380> (a java.lang.Object)
> at 
> org.apache.geode.internal.net.NioSslEngine.readAtLeast(NioSslEngine.java:330)
> at 
> org.apache.geode.internal.tcp.MsgReader.readAtLeast(MsgReader.java:129)
> at 
> 

[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit b2af727ce23fd155f3665e3db2ecee6e8f80fba7 in geode's branch 
refs/heads/support/1.13 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b2af727 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit cde469c6b6955a334e6bbf22accfc0735f0c70f4 in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cde469c ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit 10af7ea015ec85ef02b2e972c7a3dd3ec23bcb7f in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=10af7ea ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 06642ead279c500180f396c865b6277cb92ae27d in geode's branch 
refs/heads/support/1.12 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=06642ea ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit b2af727ce23fd155f3665e3db2ecee6e8f80fba7 in geode's branch 
refs/heads/support/1.13 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b2af727 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit 10af7ea015ec85ef02b2e972c7a3dd3ec23bcb7f in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=10af7ea ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit cde469c6b6955a334e6bbf22accfc0735f0c70f4 in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cde469c ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit b2af727ce23fd155f3665e3db2ecee6e8f80fba7 in geode's branch 
refs/heads/support/1.13 from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b2af727 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit cde469c6b6955a334e6bbf22accfc0735f0c70f4 in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cde469c ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit 10af7ea015ec85ef02b2e972c7a3dd3ec23bcb7f in geode's branch 
refs/heads/support/1.13 from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=10af7ea ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-8562) Add a new serialization test and example that uses a class for the key

2020-10-30 Thread Michael Martell (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Martell updated GEODE-8562:
---
Description: 
There appears to be no native client tests that use a class for the key.

A new DataSerializable test should be added (new framework of course) that uses 
a class that implements DataSerializable for both the key and the value. Also, 
the test should be added for both C++ and .NET.

Also update the existing put/get examples to include using a class as the key. 
Note, this will require Java code that instantiates the key class.

Notes:
 * 
 Using a class as a key requires the equivalent Java class to be deployed, as 
well as an Instantiator for that class to be executed by the server on startup. 
An example of this is the QueryTest::DataSerializableQueryHaveCorrectValues 
which uses Position.cs and Position.java.
 * In this existing test, Position.java needs to be deployed and instantiated 
because the test executes queries. In this new test, we need to deploy and 
instantiate the java code for the key class because it's a key not a value.

  was:
There appears to be no native client tests that use a class for the key.

A new DataSerializable test should be added (new framework of course) that uses 
a class that implements DataSerializable for both the key and the value. Also, 
the test should be added for both C++ and .NET.

Notes:
 * 
Using a class as a key requires the equivalent Java class to be deployed, as 
well as an Instantiator for that class to be executed by the server on startup. 
An example of this is the QueryTest::DataSerializableQueryHaveCorrectValues 
which uses Position.cs and Position.java.
 * In this existing test, Position.java needs to be deployed and instantiated 
because the test executes queries. In this new test, we need to deploy and 
instantiate the java code for the key class because it's a key not a value.

Summary: Add a new serialization test and example that uses a class for 
the key  (was: Add a new serialization test that uses a class for the key)

> Add a new serialization test and example that uses a class for the key
> --
>
> Key: GEODE-8562
> URL: https://issues.apache.org/jira/browse/GEODE-8562
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Michael Martell
>Priority: Major
>
> There appears to be no native client tests that use a class for the key.
> A new DataSerializable test should be added (new framework of course) that 
> uses a class that implements DataSerializable for both the key and the value. 
> Also, the test should be added for both C++ and .NET.
> Also update the existing put/get examples to include using a class as the 
> key. Note, this will require Java code that instantiates the key class.
> Notes:
>  * 
>  Using a class as a key requires the equivalent Java class to be deployed, as 
> well as an Instantiator for that class to be executed by the server on 
> startup. An example of this is the 
> QueryTest::DataSerializableQueryHaveCorrectValues which uses Position.cs and 
> Position.java.
>  * In this existing test, Position.java needs to be deployed and instantiated 
> because the test executes queries. In this new test, we need to deploy and 
> instantiate the java code for the key class because it's a key not a value.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-8678) Add Missing .NET API Docs for Cache::GetPoolFactory and Cache::GetPoolManager

2020-10-30 Thread Michael Martell (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Martell updated GEODE-8678:
---
Priority: Minor  (was: Major)

> Add Missing .NET API Docs for Cache::GetPoolFactory and Cache::GetPoolManager
> -
>
> Key: GEODE-8678
> URL: https://issues.apache.org/jira/browse/GEODE-8678
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Michael Martell
>Priority: Minor
>
> Just need to add doc tags and descriptions for these .NET APIs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8678) Add Missing .NET API Docs for Cache::GetPoolFactory and Cache::GetPoolManager

2020-10-30 Thread Michael Martell (Jira)
Michael Martell created GEODE-8678:
--

 Summary: Add Missing .NET API Docs for Cache::GetPoolFactory and 
Cache::GetPoolManager
 Key: GEODE-8678
 URL: https://issues.apache.org/jira/browse/GEODE-8678
 Project: Geode
  Issue Type: Bug
  Components: native client
Reporter: Michael Martell


Just need to add doc tags and descriptions for these .NET APIs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (GEODE-7821) DestroyRegionDuringGIIDistributedTest > testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION FAILED

2020-10-30 Thread Bill Burcham (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-7821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bill Burcham updated GEODE-7821:

Affects Version/s: 1.12.0

> DestroyRegionDuringGIIDistributedTest > 
> testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION
>  FAILED
> -
>
> Key: GEODE-7821
> URL: https://issues.apache.org/jira/browse/GEODE-7821
> Project: Geode
>  Issue Type: Bug
>  Components: core, tests
>Affects Versions: 1.12.0, 1.13.0
>Reporter: Joris Melchior
>Priority: Major
>  Labels: flaky
>
> Seen this fail in a couple of places. Failures do not seem to have a direct 
> relation to the pull request for the job.
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/DistributedTestOpenJDK11/builds/1581
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest > 
> testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION
>  FAILED
> org.apache.geode.test.dunit.RMIException: While invoking 
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest$$Lambda$179/0x000840c73840.run
>  in VM 2 running on Host 8f4bff2410d5 with 4 VMs
> at org.apache.geode.test.dunit.VM.executeMethodOnObject(VM.java:610)
> at org.apache.geode.test.dunit.VM.invoke(VM.java:437)
> at 
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest.testNBRegionInvalidationDuringGetInitialImage(DestroyRegionDuringGIIDistributedTest.java:414)
> Caused by:
> org.junit.ComparisonFailure: expected: but was:<[66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 

[jira] [Commented] (GEODE-7821) DestroyRegionDuringGIIDistributedTest > testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION FAILED

2020-10-30 Thread Bill Burcham (Jira)


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

Bill Burcham commented on GEODE-7821:
-

seen in 1.12 [https://concourse.apachegeode-ci.info/builds/203184]

 

> DestroyRegionDuringGIIDistributedTest > 
> testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION
>  FAILED
> -
>
> Key: GEODE-7821
> URL: https://issues.apache.org/jira/browse/GEODE-7821
> Project: Geode
>  Issue Type: Bug
>  Components: core, tests
>Affects Versions: 1.13.0
>Reporter: Joris Melchior
>Priority: Major
>  Labels: flaky
>
> Seen this fail in a couple of places. Failures do not seem to have a direct 
> relation to the pull request for the job.
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/DistributedTestOpenJDK11/builds/1581
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest > 
> testNBRegionInvalidationDuringGetInitialImage_HEAP_DISTRIBUTED_ACK_COMPRESSION
>  FAILED
> org.apache.geode.test.dunit.RMIException: While invoking 
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest$$Lambda$179/0x000840c73840.run
>  in VM 2 running on Host 8f4bff2410d5 with 4 VMs
> at org.apache.geode.test.dunit.VM.executeMethodOnObject(VM.java:610)
> at org.apache.geode.test.dunit.VM.invoke(VM.java:437)
> at 
> org.apache.geode.internal.cache.DestroyRegionDuringGIIDistributedTest.testNBRegionInvalidationDuringGetInitialImage(DestroyRegionDuringGIIDistributedTest.java:414)
> Caused by:
> org.junit.ComparisonFailure: expected: but was:<[66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 
> 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 

[jira] [Commented] (GEODE-8570) cluster-configuration-dir property has no effect

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8570:


Commit 40245097c9209d2dc340174d9994fabe6c15786a in geode's branch 
refs/heads/develop from Jinmei Liao
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=4024509 ]

GEODE-8570: deprecate cluster-configuration-dir property (#5684)



> cluster-configuration-dir property has no effect
> 
>
> Key: GEODE-8570
> URL: https://issues.apache.org/jira/browse/GEODE-8570
> Project: Geode
>  Issue Type: Bug
>  Components: configuration
>Affects Versions: 1.13.0
>Reporter: Dale Emery
>Priority: Major
>  Labels: GeodeOperationAPI, pull-request-available
>
> Setting the {{cluster-configuration-dir}} property has no effect.
> In two places, {{InternalLocator}} constructs an 
> {{InternalConfigurationPersistenceService}}. In each place, it passes the 
> locator's working directory as the persistence service's working directory, 
> regardless of the value of {{cluster-configuration-dir}}.
> The use of this property should be deprecated, removed, or fixed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8570) cluster-configuration-dir property has no effect

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8570:


Commit 40245097c9209d2dc340174d9994fabe6c15786a in geode's branch 
refs/heads/develop from Jinmei Liao
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=4024509 ]

GEODE-8570: deprecate cluster-configuration-dir property (#5684)



> cluster-configuration-dir property has no effect
> 
>
> Key: GEODE-8570
> URL: https://issues.apache.org/jira/browse/GEODE-8570
> Project: Geode
>  Issue Type: Bug
>  Components: configuration
>Affects Versions: 1.13.0
>Reporter: Dale Emery
>Priority: Major
>  Labels: GeodeOperationAPI, pull-request-available
>
> Setting the {{cluster-configuration-dir}} property has no effect.
> In two places, {{InternalLocator}} constructs an 
> {{InternalConfigurationPersistenceService}}. In each place, it passes the 
> locator's working directory as the persistence service's working directory, 
> regardless of the value of {{cluster-configuration-dir}}.
> The use of this property should be deprecated, removed, or fixed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 1395c6afe4d943bae87665f580501e5df64de111 in geode's branch 
refs/heads/backport-1-12-GEODE-8652-and-friends from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=1395c6a ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8659) MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime fails with ConditionTimeoutException

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8659:


Commit a00f18de72ebc282e32fb2f67049fd21da58cfa6 in geode's branch 
refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=a00f18d ]

GEODE-8659: Consolidating locator-wait-time-tests

We had two different tests of this functionality that were testing almost the
same thing. The first test had a slightly odd configuration - only one of the
locators knew about the other.

Combining these into a single test that locators wait for locator-wait-time and
stop waiting when all locators are found.

> MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime fails with 
> ConditionTimeoutException
> ---
>
> Key: GEODE-8659
> URL: https://issues.apache.org/jira/browse/GEODE-8659
> Project: Geode
>  Issue Type: Bug
>  Components: membership, tests
>Reporter: Kirk Lund
>Assignee: Dan Smith
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=  Test Results URI 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> http://files.apachegeode-ci.info/builds/apache-develop-pr/geode-pr-5667/test-results/integrationTest/1603735181/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Test report artifacts from this job are available at:
> http://files.apachegeode-ci.info/builds/apache-develop-pr/geode-pr-5667/test-artifacts/1603735181/integrationtestfiles-geode-pr-5667.tgz
> {noformat}
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  > secondMembershipPausesForLocatorWaitTime FAILED
> org.awaitility.core.ConditionTimeoutException: Assertion condition 
> defined as a lambda expression in 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  that uses org.apache.geode.distributed.internal.membership.api.Membership 
> Expected size:<2> but was:<1> in:
> <[172.17.0.34(1:locator):41003]> within 5 minutes.
> at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
> at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
> at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
> at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
> at 
> org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:679)
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime(MembershipIntegrationTest.java:270)
> Caused by:
> java.lang.AssertionError: 
> Expected size:<2> but was:<1> in:
> <[172.17.0.34(1:locator):41003]>
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.lambda$secondMembershipPausesForLocatorWaitTime$8(MembershipIntegrationTest.java:271)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (GEODE-8659) MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime fails with ConditionTimeoutException

2020-10-30 Thread Dan Smith (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-8659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Smith resolved GEODE-8659.
--
Fix Version/s: 1.14.0
 Assignee: Dan Smith
   Resolution: Fixed

> MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime fails with 
> ConditionTimeoutException
> ---
>
> Key: GEODE-8659
> URL: https://issues.apache.org/jira/browse/GEODE-8659
> Project: Geode
>  Issue Type: Bug
>  Components: membership, tests
>Reporter: Kirk Lund
>Assignee: Dan Smith
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=  Test Results URI 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> http://files.apachegeode-ci.info/builds/apache-develop-pr/geode-pr-5667/test-results/integrationTest/1603735181/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Test report artifacts from this job are available at:
> http://files.apachegeode-ci.info/builds/apache-develop-pr/geode-pr-5667/test-artifacts/1603735181/integrationtestfiles-geode-pr-5667.tgz
> {noformat}
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  > secondMembershipPausesForLocatorWaitTime FAILED
> org.awaitility.core.ConditionTimeoutException: Assertion condition 
> defined as a lambda expression in 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest
>  that uses org.apache.geode.distributed.internal.membership.api.Membership 
> Expected size:<2> but was:<1> in:
> <[172.17.0.34(1:locator):41003]> within 5 minutes.
> at 
> org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
> at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
> at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
> at 
> org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
> at 
> org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:679)
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.secondMembershipPausesForLocatorWaitTime(MembershipIntegrationTest.java:270)
> Caused by:
> java.lang.AssertionError: 
> Expected size:<2> but was:<1> in:
> <[172.17.0.34(1:locator):41003]>
> at 
> org.apache.geode.distributed.internal.membership.gms.MembershipIntegrationTest.lambda$secondMembershipPausesForLocatorWaitTime$8(MembershipIntegrationTest.java:271)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 0906b08f8f77d5e22d4fd155205129c864a3a85a in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0906b08 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit 9a066e64b1722f914994fecb454a2f67f2a46148 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9a066e6 ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit ca51909fe78be707376d9d411d709a4cea3bbdb2 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ca51909 ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 0906b08f8f77d5e22d4fd155205129c864a3a85a in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0906b08 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit ca51909fe78be707376d9d411d709a4cea3bbdb2 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ca51909 ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8652) member hung in Connection.notifyHandshakeWaiter() during disconnect waiting for a lock held by another thread in Connection.readAck()

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8652:


Commit 0906b08f8f77d5e22d4fd155205129c864a3a85a in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Bill Burcham
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0906b08 ]

GEODE-8652: NioSslEngine.close() Bypasses Locks (#5666)

- NioSslEngine.close() proceeds even if readers (or writers) are
  operating on its ByteBuffers, allowing Connection.close() to close
  its socket and proceed.

- NioSslEngine.close() needed a lock only on the output buffer, so
  we split what was a single lock into two. Also instead of using
  synchronized we use a ReentrantLock so we can
  call tryLock() and time out if needed in NioSslEngine.close().

- Since readers/writers may hold locks on these input/output buffers
  when NioSslEngine.close() is called a reference count is maintained
  and the buffers are returned to the pool only when the last user
  is done.

- To manage the locking and reference counting a new AutoCloseable
  ByteBufferSharing interface is introduced with a trivial
  implementation: ByteBufferSharingNoOp and a real implementation:
  ByteBufferSharingImpl.

Co-authored-by: Bill Burcham 
Co-authored-by: Darrel Schneider 
Co-authored-by: Ernie Burghardt 
(cherry picked from commit 08e9e9673d0ed0a3d74c6d16e706817cab09)


> member hung in Connection.notifyHandshakeWaiter() during disconnect waiting 
> for a lock held by another thread in Connection.readAck() 
> --
>
> Key: GEODE-8652
> URL: https://issues.apache.org/jira/browse/GEODE-8652
> Project: Geode
>  Issue Type: Bug
>  Components: membership, messaging
>Affects Versions: 1.14.0
>Reporter: Bill Burcham
>Assignee: Bill Burcham
>Priority: Major
>  Labels: pull-request-available
>
> An application encountered the following hang in a TLS-enabled cluster.
> Let's call the cluster members ds3 -> ds1. 
> ds3 sends a {{PutAllPRMessage}} to ds1 and is stuck in 
> {{SocketChannel.read()}} waiting for the acknowledgement.
> {{ClusterDistributionManager.uncleanShutdown()}} is invoked on ds3 to shut 
> the member down. That thread blocks trying to acquire a lock on the 
> {{NioSslEngine}} held by the first thread (the one doing waiting for the ack 
> to the put-all.)
> Somehow the shutdown thread must be allowed to proceed.
> Here's the hung thread in ds3 (a.k.a. vm_3_thr_34_dataStore3_host1_8592) 
> trying to shut down the member but it's stuck waiting for the monitor on the 
> {{NioSslEngine}}:
> {noformat}
> "vm_3_thr_34_dataStore3_host1_8592" #795 daemon prio=5 os_prio=0 
> tid=0x7fdb9c011000 nid=0x2fcc waiting for monitor entry 
> [0x7fdb6f4b7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at 
> org.apache.geode.internal.tcp.Connection.notifyHandshakeWaiter(Connection.java:804)
>   - waiting to lock <0xf2635b28> (a 
> org.apache.geode.internal.net.NioSslEngine)
>   at org.apache.geode.internal.tcp.Connection.close(Connection.java:1350)
>   at 
> org.apache.geode.internal.tcp.Connection.closePartialConnect(Connection.java:1278)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:612)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.closeCon(ConnectionTable.java:604)
>   at 
> org.apache.geode.internal.tcp.ConnectionTable.close(ConnectionTable.java:661)
>   - locked <0xf2678cf8> (a java.util.ArrayList)
>   - locked <0xf1187348> (a java.util.concurrent.ConcurrentHashMap)
>   at org.apache.geode.internal.tcp.TCPConduit.stop(TCPConduit.java:487)
>   at 
> org.apache.geode.distributed.internal.direct.DirectChannel.disconnect(DirectChannel.java:644)
>   - locked <0xf11867a8> (a 
> org.apache.geode.distributed.internal.direct.DirectChannel)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.disconnectDirectChannel(DistributionImpl.java:631)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl.access$200(DistributionImpl.java:82)
>   at 
> org.apache.geode.distributed.internal.DistributionImpl$LifecycleListenerImpl.disconnect(DistributionImpl.java:904)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership$ManagerImpl.stop(GMSMembership.java:1908)
>   at 
> org.apache.geode.distributed.internal.membership.gms.Services.stop(Services.java:302)
>   at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.shutdown(GMSMembership.java:1262)
>   at 
> 

[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit 9a066e64b1722f914994fecb454a2f67f2a46148 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9a066e6 ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8540) Repackage DUnitBlackboard in a JUnit Rule

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8540:


Commit 9a066e64b1722f914994fecb454a2f67f2a46148 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9a066e6 ]

GEODE-8540: Create new DistributedBlackboard Rule (#5557)

Package up DUnitBlackboard as a JUnit Rule named DistributedBlackboard.

(cherry picked from commit 26cb822f2ee467545dd708ecc867cebbd2473c70)


> Repackage DUnitBlackboard in a JUnit Rule
> -
>
> Key: GEODE-8540
> URL: https://issues.apache.org/jira/browse/GEODE-8540
> Project: Geode
>  Issue Type: Wish
>  Components: tests
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
>  Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Repackage DUnitBlackboard in a JUnit Rule



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (GEODE-8136) Repackage and improve javadocs for UncheckedUtils

2020-10-30 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on GEODE-8136:


Commit ca51909fe78be707376d9d411d709a4cea3bbdb2 in geode's branch 
refs/heads/backport-1-13-GEODE-8652-and-friends from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ca51909 ]

GEODE-8136: Move UncheckedUtils to geode-common (#5123)

Create UncheckedUtilsTest to unit test UncheckedUtils.

Extract FunctionExecution methods to new TypedFunctionService in
geode-core.

(cherry picked from commit 253d667b27423e55601e925f7a20f2fd6f0efc31)


> Repackage and improve javadocs for UncheckedUtils
> -
>
> Key: GEODE-8136
> URL: https://issues.apache.org/jira/browse/GEODE-8136
> Project: Geode
>  Issue Type: Wish
>  Components: core
>Reporter: Kirk Lund
>Assignee: Kirk Lund
>Priority: Major
> Fix For: 1.14.0
>
>
> UncheckedUtils is a collection of simple utilities for unchecked casts in 
> both test and product code. We should move it to the most common module it 
> can live in, rename methods to be more description, and add javadocs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (GEODE-8677) Confirm binary data storage in Geode Redis is independent of encoding

2020-10-30 Thread Raymond Ingles (Jira)
Raymond Ingles created GEODE-8677:
-

 Summary: Confirm binary data storage in Geode Redis is independent 
of encoding
 Key: GEODE-8677
 URL: https://issues.apache.org/jira/browse/GEODE-8677
 Project: Geode
  Issue Type: Improvement
  Components: redis
Affects Versions: 1.14.0
Reporter: Raymond Ingles


Current Geode Redis tests are not comprehensive enough to ensure that binary 
data is always returned correctly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)