Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5998

Replication tests fail on CDC platforms without optional JSSE package

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 10.8.3.0, 10.9.2.2, 10.10.1.1
    • 10.8.3.3, 10.9.2.2, 10.10.1.1
    • Replication, Test
    • None
    • phoneME Advanced (phoneme_advanced_mr2-b168)
    • Regression Test Failure

    Description

      The replication code uses the javax.net.ServerSocketFactory class, which is not part of the core API defined by Foundation Profile 1.1. It is however part of an optional security package (JSSE) defined by the same specification, so it may or may not be available on the CDC platforms that Derby runs on.

      Running the replication tests on phoneME without said optional package, results in NoClassDefFoundError:

      Caused by: java.lang.NoClassDefFoundError: javax.net.SocketFactory
      at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Unknown Source)
      at java.security.AccessController.doPrivileged(Unknown Source)
      at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit.initConnection(Unknown Source)
      at org.apache.derby.impl.store.replication.master.MasterController.setupConnection(Unknown Source)
      at org.apache.derby.impl.store.replication.master.MasterController.startMaster(Unknown Source)
      at org.apache.derby.impl.store.raw.RawStore.startReplicationMaster(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager.startReplicationMaster(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.startReplicationMaster(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleStartReplicationMaster(Unknown Source)

      We might fix this by rewriting the replication code so that it's not dependent on optional packages on CDC. However, there have not been any user requests for this functionality on platforms without that package, as far as I'm aware, so I suggest we just skip the replication tests for now if that package is missing.

      The tests I've run on Oracle Java Micro Edition Embedded Client 1.1 (OJEC) have not revealed this problem, as OJEC comes with the optional JSSE package (it's version output lists "JSSE JSR219" under the components section). And since the reports from the weme 6.2 test runs don't show this failure, I think it's included there as well.

      Attachments

        1. d5998-1a.diff
          1 kB
          Knut Anders Hatlen

        Activity

          People

            knutanders Knut Anders Hatlen
            knutanders Knut Anders Hatlen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: