Derby
  1. Derby
  2. DERBY-4929

Engine code should not use java/shared/org/apache/derby/shared/common/error/ErrorUtil.java

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.8.1.2
    • Component/s: Miscellaneous
    • Labels:
      None
    • Issue & fix info:
      Patch Available

      Description

      As part of the changes for DERBY-3783 and other lob work, references in the engine were added to java/shared/org/apache/derby/shared/common/error/ExceptionUtil.java in engine. e.g.:

      $ grep 'import org.apache.derby.shared.common' `find java/engine` | grep -v ref
      erence | grep -v sanity
      java/engine/org/apache/derby/impl/jdbc/.svn/text-base/LOBInputStream.java.svn-ba
      se:import org.apache.derby.shared.common.error.ExceptionUtil;
      java/engine/org/apache/derby/impl/jdbc/.svn/text-base/LOBOutputStream.java.svn-b
      ase:import org.apache.derby.shared.common.error.ExceptionUtil;
      java/engine/org/apache/derby/impl/jdbc/.svn/text-base/LOBStreamControl.java.svn-
      base:import org.apache.derby.shared.common.error.ExceptionUtil;
      java/engine/org/apache/derby/impl/jdbc/LOBInputStream.java:import org.apache.der
      by.shared.common.error.ExceptionUtil;
      java/engine/org/apache/derby/impl/jdbc/LOBOutputStream.java:import org.apache.de
      rby.shared.common.error.ExceptionUtil;
      java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java:import org.apache.d
      erby.shared.common.error.ExceptionUtil;

      It is my understanding at this time, based on the progress on DERBY-289 that only classes in references (static values) and sanity should be shared at this time. Other directories should only be used by client until some sort of code sharing framework is determined to avoid mismatched class versions and sealing violations in insane builds.

      In addition to correcting the cases above, it would be great to add build support to prevent similar mistakes in the future.

      java/engine/org/apache/derby/iapi/error might be an appropriate location for the server's ExceptionUtil.

        Issue Links

          Activity

          Hide
          Lily Wei added a comment -

          DERBY-4856 contains the first part of the fix. However, by mistake, the fix is check-in as well. The fix for DERBY-4929 is for files:
          java\engine\org\apache\derby\impl\jdbc\LOBInputStream.java
          java\engine\org\apache\derby\impl\jdbc\LOBOutputStream.java
          java\engine\org\apache\derby\impl\jdbc\LOBStreamControl.java at subversion revision 1043290

          Show
          Lily Wei added a comment - DERBY-4856 contains the first part of the fix. However, by mistake, the fix is check-in as well. The fix for DERBY-4929 is for files: java\engine\org\apache\derby\impl\jdbc\LOBInputStream.java java\engine\org\apache\derby\impl\jdbc\LOBOutputStream.java java\engine\org\apache\derby\impl\jdbc\LOBStreamControl.java at subversion revision 1043290
          Hide
          Lily Wei added a comment -

          Along with the fix for DERBY-4856, I also attend to fix this issue.

          The patch is ready for review.

          I run Suites.all and derbyall on insane and sane build. They all run okay.

          Show
          Lily Wei added a comment - Along with the fix for DERBY-4856 , I also attend to fix this issue. The patch is ready for review. I run Suites.all and derbyall on insane and sane build. They all run okay.

            People

            • Assignee:
              Lily Wei
              Reporter:
              Kathey Marsden
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development