Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-3830

Replication quicksetup wizard throws java.lang.ClassCastException

    Details

    • Type: Bug
    • Status: Done
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 3.5.1
    • Fix Version/s: Not applicable
    • Component/s: None
    • Labels:
      None

      Description

      Environment:
      java version "1.8.0_111"
      DJ 3.5.1

      Steps to reproduce:

      1. Install OpenDj as standalone (do not specify this server as a part of replication topology)
      2. Use the quick setup wizard to install second DJ instance.
      2.1 In the Topology Options screen, select 'There is already a server in the topology' and specify the first server details.
      2.2 Click Next button on the 'Data Replication' page.

      Actual Result:
      Dialog pops up showing a NPE. Also the following stack printed in the console:

      Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.opends.admin.ads.ServerDescriptor cannot be cast to java.lang.Comparable
      	at java.util.TreeMap.compare(TreeMap.java:1294)
      	at java.util.TreeMap.put(TreeMap.java:538)
      	at java.util.TreeSet.add(TreeSet.java:255)
      	at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
      	at java.util.TreeSet.addAll(TreeSet.java:312)
      	at org.opends.quicksetup.installer.ui.RemoteReplicationPortsPanel.beginDisplay(RemoteReplicationPortsPanel.java:231)
      	at org.opends.quicksetup.ui.CurrentStepPanel.setDisplayedStep(CurrentStepPanel.java:193)
      	at org.opends.quicksetup.ui.QuickSetupDialog.setDisplayedStep(QuickSetupDialog.java:143)
      	at org.opends.quicksetup.ui.GuiApplication.setDisplayedWizardStep(GuiApplication.java:91)
      	at org.opends.quicksetup.ui.QuickSetup.setCurrentStep(QuickSetup.java:519)
      	at org.opends.quicksetup.ui.QuickSetup$NextClickedBackgroundTask.backgroundTaskCompleted(QuickSetup.java:728)
      	at org.opends.quicksetup.util.BackgroundTaskThread$1.run(BackgroundTaskThread.java:57)
      	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
      	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
      	at java.awt.EventQueue.access$500(EventQueue.java:97)
      	at java.awt.EventQueue$3.run(EventQueue.java:709)
      	at java.awt.EventQueue$3.run(EventQueue.java:703)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
      	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      

      This is a negative scenario, where a user has not followed the documentation.
      However, the user should be notified about the cause and have given a hint about the correct approach to be followed.

        Attachments

          Activity

            People

            • Assignee:
              matthew Matthew Swift
              Reporter:
              ram.anaswara Ramnishath Anaswara [X] (Inactive)
              Dev Assignee:
              Matthew Swift
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: