Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-5085

authentication failure when auto-reconnecting

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      I added a security manager to ReconnectDUnitTest.testReconnectWithQuorum() and got a failure to authenticate during the reconnect attempt.

      [vm3] [warn 2018/04/16 10:37:17.773 PDT <ReconnectThread> tid=92] Exception occurred while trying to connect the system during reconnect
      [vm3] org.apache.geode.security.AuthenticationRequiredException: Failed to find credentials from [10.118.20.59(16110:locator)<ec>:32770]
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.attemptToJoin(GMSJoinLeave.java:452)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.join(GMSJoinLeave.java:338)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.join(GMSMembershipManager.java:658)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.joinDistributedSystem(GMSMembershipManager.java:747)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.Services.start(Services.java:191)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.GMSMemberFactory.newMembershipManager(GMSMemberFactory.java:106)
      [vm3] 	at org.apache.geode.distributed.internal.membership.MemberFactory.newMembershipManager(MemberFactory.java:90)
      [vm3] 	at org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:1027)
      [vm3] 	at org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:1061)
      [vm3] 	at org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:554)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:762)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:354)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:340)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:334)
      [vm3] 	at org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:211)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2732)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2558)
      [vm3] 	at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1040)
      [vm3] 	at org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.membershipFailure(ClusterDistributionManager.java:4030)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1554)
      [vm3] 	at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$1(GMSMembershipManager.java:2561)
      [vm3] 	at java.lang.Thread.run(Thread.java:748)
      

      The security manager settings were added to getDistributedSystemProperties():

        @Override
        public Properties getDistributedSystemProperties() {
          if (dsProperties == null) {
            dsProperties = new Properties();
            dsProperties.put(MAX_WAIT_TIME_RECONNECT, "20000");
            dsProperties.put(ENABLE_NETWORK_PARTITION_DETECTION, "true");
            dsProperties.put(DISABLE_AUTO_RECONNECT, "false");
            dsProperties.put(ENABLE_CLUSTER_CONFIGURATION, "false");
            dsProperties.put(LOCATORS, "localHost[" + locatorPort + "]");
            dsProperties.put(MCAST_PORT, "0");
            dsProperties.put(MEMBER_TIMEOUT, "1000");
            dsProperties.put(LOG_LEVEL, LogWriterUtils.getDUnitLogLevel());
            dsProperties.put(SECURITY_MANAGER, SimpleSecurityManager.class.getName());
            dsProperties.put("security-username", "clusterManage");
            dsProperties.put("security-password", "clusterManage");
            addDSProps(dsProperties);
          }
          return dsProperties;
        }
      

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            bschuchardt Bruce J Schuchardt
            bschuchardt Bruce J Schuchardt
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m

                Slack

                  Issue deployment