Bruce Schuchardt created GEODE-4362:
---------------------------------------
Summary: view preparation throws uncaught RuntimeException
Key: GEODE-4362
URL: https://issues.apache.org/jira/browse/GEODE-4362
Project: Geode
Issue Type: Bug
Components: membership
Reporter: Bruce Schuchardt
I put a pause in Services.installView() before the view is passed to the
Messenger service and ran
LocatorUDPSecurityDUnitTest.testCollocatedLocatorWithSecurity() and encountered
a RuntimeException:
{noformat}
[vm1] java.lang.RuntimeException: Not found public key for member
10.118.20.12(68202)<v31>:32773
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt.getPublicKey(GMSEncrypt.java:178)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.getPublicKey(JGroupsMessenger.java:1367)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.addPublicKeysToView(GMSJoinLeave.java:933)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.sendView(GMSJoinLeave.java:896)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.prepareView(GMSJoinLeave.java:838)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.prepareAndSendView(GMSJoinLeave.java:2385)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.sendInitialView(GMSJoinLeave.java:2031)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.run(GMSJoinLeave.java:2091)
[vm1] Caused by: java.lang.NullPointerException
[vm1] at java.security.spec.EncodedKeySpec.<init>(EncodedKeySpec.java:56)
[vm1] at
java.security.spec.X509EncodedKeySpec.<init>(X509EncodedKeySpec.java:64)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt.getPublicKey(GMSEncrypt.java:545)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt$PeerEncryptor.<init>(GMSEncrypt.java:377)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt.createPeerEncryptor(GMSEncrypt.java:301)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt.getPeerEncryptor(GMSEncrypt.java:259)
[vm1] at
org.apache.geode.distributed.internal.membership.gms.messenger.GMSEncrypt.getPublicKey(GMSEncrypt.java:176)
[vm1] ... 7 more
{noformat}
Since GMSJoinLeave already had the new view installed and JGroupsMessenger did
not have the new view installed we were unable to find the public key for one
of the recipients of the new view. View preparation should probably be
synchronized with view installation so that both aren't done in parallel.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)