Derby
  1. Derby
  2. DERBY-3669

ClientXADataSource fetched from JNDI not identical as originally bound; some properties have String "null" instead of null

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.5.1.1, 10.6.1.0
    • Fix Version/s: 10.5.2.0, 10.6.1.0
    • Component/s: Network Client
    • Labels:
      None
    • Urgency:
      Normal
    • Bug behavior facts:
      Embedded/Client difference

      Description

      Running the test XAJNDITest (from old xaJNDI.java) with network server fails because the XADataSource as bound to JNDI, and then fetch from JNDI are not identical.
      This is what the test does to get the XADataSource & to bind & get it from JNDI:
      ----------------
      ...
      XADataSource xads = J2EEDataSource.getXADataSource();
      String dbName = TestConfiguration.getCurrent().getDefaultDatabaseName();
      JDBCDataSource.setBeanProperty(xads, "databaseName", dbName);
      JDBCDataSource.setBeanProperty(xads, "createDatabase", "create");
      JDBCDataSource.setBeanProperty(xads, "description", "XA DataSource");

      Hashtable env = new Hashtable();
      env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
      // using a system property - these will have to be passed in somehow.
      env.put(Context.PROVIDER_URL, "ldap://" + ldapServer + ":" + ldapPort);
      env.put(Context.SECURITY_AUTHENTICATION, "simple");

      ic.rebind("cn=compareDS, o=" + dnString, xads);
      javax.sql.XADataSource ads =
      (javax.sql.XADataSource)ic.lookup("cn=compareDS, o=" + dnString);
      ...
      -------------------

      Further checking showed that the fetched datasource has a String with value "null" rather than a null value for the following properties:
      dataSourceName, connectionAttributes, traceDirectory, traceFile.

      1. d3669-1a.diff
        5 kB
        Knut Anders Hatlen

        Activity

        Hide
        Knut Anders Hatlen added a comment -

        Triaged for 10.5.2. Verified that it is still a problem on trunk and set Affects Version accordingly.

        Show
        Knut Anders Hatlen added a comment - Triaged for 10.5.2. Verified that it is still a problem on trunk and set Affects Version accordingly.
        Hide
        Knut Anders Hatlen added a comment -

        The embedded data sources only add the non-null properties to the object returned by getReference(), and there's a comment saying that the string "null" will be returned if a null is added. The attached patch makes the client data sources use the same logic and removes the workaround for the null/"null" issue in XAJNDITest.

        I have only run XAJNDITest on the patch so far. Will run the rest of the regression test suite soon.

        Show
        Knut Anders Hatlen added a comment - The embedded data sources only add the non-null properties to the object returned by getReference(), and there's a comment saying that the string "null" will be returned if a null is added. The attached patch makes the client data sources use the same logic and removes the workaround for the null/"null" issue in XAJNDITest. I have only run XAJNDITest on the patch so far. Will run the rest of the regression test suite soon.
        Hide
        Knut Anders Hatlen added a comment -

        Derbyall and suites.All ran cleanly.

        Show
        Knut Anders Hatlen added a comment - Derbyall and suites.All ran cleanly.
        Hide
        Knut Anders Hatlen added a comment -

        Committed revision 792434.

        Show
        Knut Anders Hatlen added a comment - Committed revision 792434.
        Hide
        Knut Anders Hatlen added a comment -

        Merged fix to 10.5.
        Committed revision 792491.

        Show
        Knut Anders Hatlen added a comment - Merged fix to 10.5. Committed revision 792491.

          People

          • Assignee:
            Knut Anders Hatlen
            Reporter:
            Myrna van Lunteren
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development