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

Early load of Derby driver with JDBC 4.0 autoloading can lead to derby properties not being processed or derby boot time actions consuming resources when a connection is made with another driver

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 10.2.1.6
    • 10.2.1.6
    • JDBC, Services
    • None
    • JDK 1.6
    • Regression

    Description

      The addition of support for autoloading of Derby drivers, DERBY-930, caused two potentially serious regresions for applications.

      1) Early load of driver can mean that derby system properties, such as derby.system.home may not be processed by the driver because they are set after the driver is loaded.

      2) Early load of the driver can mean boot time operations, such as starting network server with derby.drda.startNetworkServer can happen even when Derby is never used if a connection is made to another database such as Oracle.

      The attached file autoloading_scenarios.html shows scenarios that show these regressions plus another case that will regress if boot time operations are moved to the first Derby embedded connection. I don't know what solution is available that would handle all three cases.

      Attachments

        1. bug1459_v04.diff
          33 kB
          Richard N. Hillegas
        2. bug1459_v03.diff
          12 kB
          Richard N. Hillegas
        3. bug1459_v02.diff
          13 kB
          Richard N. Hillegas
        4. bug1459_v01.diff
          12 kB
          Richard N. Hillegas
        5. autoloading_scenarios.html
          5 kB
          Katherine Marsden

        Issue Links

          Activity

            People

              rhillegas Richard N. Hillegas
              kmarsden Katherine Marsden
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: