Derby
  1. Derby
  2. DERBY-5574

encryption test in encryption nightly suite test fails with ERROR XBM0S: Unable to rename file error

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.7.1.4
    • Fix Version/s: 10.7.1.4, 10.8.3.0, 10.9.1.0
    • Component/s: Test
    • Labels:
      None
    • Environment:
    • Bug behavior facts:
      Regression Test Failure

      Description

      encryption tests in nightly are intermittently failing. The suite runs same set of tests with a number of different
      encryption algorithms. Different ones of these runs sometimes fail.

      What has changed on this nightly platform is that we are now running each jvm set of tests concurrently to
      get better throughput. This has changed load on machine and timing of operations. Each JVM puts results
      into a different part of file system.

      At least after the fact the file being renamed still exists and the destination file does not exist.

      nightly test failure, jdk16, current 10.7 branch, windows.

      http://people.apache.org/~myrnavl/derby_test_results/v10_7/windows/testlog/ibm16/1231439-derbyall_diff.txt

      Failure Details:

                      • Diff file derbyall/derbynetclientmats/DerbyNetClient/encodingTests/TestEnc.diff
          • Start: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-14 01:42:10 ***
            derbyTesting.encoding can only be used with jdk15, skipping test
          • End: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-14 01:42:10 ***
                      • Diff file derbyall/encryptionAll/encryptionAES/encryptDatabase.diff
          • Start: encryptDatabase jdk1.6.0 encryptionAll:encryptionAES 2012-01-14 01:51:40 ***
            74 del
            < 0 rows inserted/updated/deleted
            74a74,76
            > ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: encryptionAll:encryptionAES 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression.
            > ERROR XJ001: Java exception: 'ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.propertiesold': org.apache.derby.iapi.error.PassThroughException'.
            > ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-13\ibm16_derbyall\derbyall\encryptionAll\encryptionAES\encryptDatabase\wombat\service.propertiesold'
            94,95d95
            < ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details.
            < ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
            97 del
            < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
            97a97
            > ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
            101 del
            < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
            101a101
            > ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
            105 del
            < ij> – change it again, make sure it trims white spaces
            105a105
            > ij(CONNECTION1)> – change it again, make sure it trims white spaces
            107 del
            < 0 rows inserted/updated/deleted
            108 del
            < ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx ');
            109 del
            < 0 rows inserted/updated/deleted
            110 del
            < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
            110a107,110
            > ERROR XBCXA: Wrong boot password.
            > ij(CONNECTION1)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx ');
            > ERROR XBCXA: Wrong boot password.
            > ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
            114 del
            < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
            114a114
            > ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
            118 del
            < ij> disconnect;
            118a118
            > ij(CONNECTION1)> disconnect;
            124a125,126
            > ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details.
            > ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
            126 del
            < A
            127 del
            < --------------------
            128 del
            < hello world
            128a128
            > IJ ERROR: Unable to establish connection
            132 del
            < ERROR XBCXD: The encryption algorithm cannot be changed after the database is created.
            132a132
            > IJ ERROR: Unable to establish connection
            134 del
            < ERROR XBCXE: The encryption provider cannot be changed after the database is created.
            134a134
            > IJ ERROR: Unable to establish connection
            Test Failed.
          • End: encryptDatabase jdk1.6.0 encryptionAll:encryptionAES 2012-01-14 01:51:49 ***
            ------------------------------------------------------
      1. derby.log
        132 kB
        Mike Matrigali
      2. derby5574.diff
        3 kB
        Mike Matrigali

        Issue Links

          Activity

          Hide
          Mike Matrigali added a comment - - edited

          failed also in same way against ibm16 in a run a week later against 10.7 head of brach

          http://people.apache.org/~myrnavl/derby_test_results/v10_7/windows/testlog/ibm16/1231617-derbyall_diff.txt

          Failure Details:

                          • Diff file derbyall/derbynetclientmats/DerbyNetClient/encodingTests/TestEnc.diff
              • Start: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-15 00:58:34 ***
                derbyTesting.encoding can only be used with jdk15, skipping test
              • End: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-15 00:58:34 ***
                          • Diff file derbyall/encryptionAll/encryptionECB/encryptDatabase.diff
              • Start: encryptDatabase jdk1.6.0 encryptionAll:encryptionECB 2012-01-15 01:04:22 ***
                68 del
                < 0 rows inserted/updated/deleted
                68a68,70
                > ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression.
                > ERROR XJ001: Java exception: 'ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold': org.apache.derby.iapi.error.PassThroughException'.
                > ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'
                74 del
                < 0 rows inserted/updated/deleted
                74a76,78
                > ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression.
                > ERROR XJ001: Java exception: 'ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold': org.apache.derby.iapi.error.PassThroughException'.
                > ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'
                91,92d94
                < ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details.
                < ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
                94 del
                < ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details.
                95 del
                < ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
                96 del
                < ij> connect 'jdbc:derby:wombat;bootPassword=derbypwd';
                97 del
                < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
                97a96,97
                > ij(CONNECTION1)> connect 'jdbc:derby:wombat;bootPassword=derbypwd';
                > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
                101 del
                < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
                101a101
                > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
                105 del
                < ij> – change it again, make sure it trims white spaces
                105a105
                > ij(CONNECTION2)> – change it again, make sure it trims white spaces
                107 del
                < 0 rows inserted/updated/deleted
                108 del
                < ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx ');
                109 del
                < 0 rows inserted/updated/deleted
                110 del
                < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
                110a107,110
                > ERROR XBCXA: Wrong boot password.
                > ij(CONNECTION2)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx ');
                > ERROR XBCXA: Wrong boot password.
                > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword');
                114 del
                < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
                114a114
                > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword');
                118 del
                < ij> disconnect;
                118a118
                > ij(CONNECTION2)> disconnect;
                124a125,126
                > ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details.
                > ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
                126 del
                < A
                127 del
                < --------------------
                128 del
                < hello world
                128a128
                > IJ ERROR: Unable to establish connection
                132 del
                < ERROR XBCXD: The encryption algorithm cannot be changed after the database is created.
                132a132
                > IJ ERROR: Unable to establish connection
                134 del
                < ERROR XBCXE: The encryption provider cannot be changed after the database is created.
                134a134
                > IJ ERROR: Unable to establish connection
                Test Failed.
              • End: encryptDatabase jdk1.6.0 encryptionAll:encryptionECB 2012-01-15 01:04:32 ***
          Show
          Mike Matrigali added a comment - - edited failed also in same way against ibm16 in a run a week later against 10.7 head of brach http://people.apache.org/~myrnavl/derby_test_results/v10_7/windows/testlog/ibm16/1231617-derbyall_diff.txt Failure Details: Diff file derbyall/derbynetclientmats/DerbyNetClient/encodingTests/TestEnc.diff Start: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-15 00:58:34 *** derbyTesting.encoding can only be used with jdk15, skipping test End: TestEnc jdk1.6.0 DerbyNetClient derbynetclientmats:encodingTests 2012-01-15 00:58:34 *** Diff file derbyall/encryptionAll/encryptionECB/encryptDatabase.diff Start: encryptDatabase jdk1.6.0 encryptionAll:encryptionECB 2012-01-15 01:04:22 *** 68 del < 0 rows inserted/updated/deleted 68a68,70 > ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression. > ERROR XJ001: Java exception: 'ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold': org.apache.derby.iapi.error.PassThroughException'. > ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold' 74 del < 0 rows inserted/updated/deleted 74a76,78 > ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression. > ERROR XJ001: Java exception: 'ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold': org.apache.derby.iapi.error.PassThroughException'. > ERROR XBM0S: Unable to rename file 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.properties' to 'F:\jartest\JarResults.2012-01-14\ibm16_derbyall\derbyall\encryptionAll\encryptionECB\encryptDatabase\wombat\service.propertiesold' 91,92d94 < ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details. < ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password. 94 del < ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details. 95 del < ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password. 96 del < ij> connect 'jdbc:derby:wombat;bootPassword=derbypwd'; 97 del < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword'); 97a96,97 > ij(CONNECTION1)> connect 'jdbc:derby:wombat;bootPassword=derbypwd'; > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword'); 101 del < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword'); 101a101 > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword'); 105 del < ij> – change it again, make sure it trims white spaces 105a105 > ij(CONNECTION2)> – change it again, make sure it trims white spaces 107 del < 0 rows inserted/updated/deleted 108 del < ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx '); 109 del < 0 rows inserted/updated/deleted 110 del < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword'); 110a107,110 > ERROR XBCXA: Wrong boot password. > ij(CONNECTION2)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'bbderbypwdx, derbypwdxx '); > ERROR XBCXA: Wrong boot password. > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('bootPassword'); 114 del < ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword'); 114a114 > ij(CONNECTION2)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('encryptedBootPassword'); 118 del < ij> disconnect; 118a118 > ij(CONNECTION2)> disconnect; 124a125,126 > ERROR XJ040: Failed to start database 'wombat' with class loader XXXX, see the next exception for details. > ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password. 126 del < A 127 del < -------------------- 128 del < hello world 128a128 > IJ ERROR: Unable to establish connection 132 del < ERROR XBCXD: The encryption algorithm cannot be changed after the database is created. 132a132 > IJ ERROR: Unable to establish connection 134 del < ERROR XBCXE: The encryption provider cannot be changed after the database is created. 134a134 > IJ ERROR: Unable to establish connection Test Failed. End: encryptDatabase jdk1.6.0 encryptionAll:encryptionECB 2012-01-15 01:04:32 ***
          Hide
          Mike Matrigali added a comment -

          changing title as different tests in the encryption suite seem to be failing intermittently.

          Show
          Mike Matrigali added a comment - changing title as different tests in the encryption suite seem to be failing intermittently.
          Hide
          Mike Matrigali added a comment -

          here is derby.log left around after one of the errors.

          Show
          Mike Matrigali added a comment - here is derby.log left around after one of the errors.
          Hide
          Mike Matrigali added a comment -

          here are the stacks from first error in one of the failures:
          Thu Jan 19 00:35:33 PST 2012 Thread[main,5,main] (XID = 211), (SESSIONID = 1), (DATABASE = wombat), (DRDAID = null), Failed Statement is: – change it again
          call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'Saturday,derbypwd')
          ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression.
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.iapi.error.StandardException.unexpectedUserException(Unknown Source)
          at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
          at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
          at org.apache.derby.tools.ij.main(Unknown Source)
          Caused by: org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source)
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source)
          at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source)
          at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source)
          at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source)
          at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source)
          at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
          at java.lang.reflect.Method.invoke(Method.java:611)
          ... 15 more
          Caused by: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source)
          at java.security.AccessController.doPrivileged(AccessController.java:251)
          at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source)
          ... 29 more
          ============= begin nested exception, level (1) ===========
          org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source)
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source)
          at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source)
          at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source)
          at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source)
          at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source)
          at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
          at java.lang.reflect.Method.invoke(Method.java:611)
          at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
          at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
          at org.apache.derby.tools.ij.main(Unknown Source)
          Caused by: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source)
          at java.security.AccessController.doPrivileged(AccessController.java:251)
          at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source)
          ... 29 more
          ============= end nested exception, level (1) ===========
          ============= begin nested exception, level (2) ===========
          ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'
          at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source)
          at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source)
          at java.security.AccessController.doPrivileged(AccessController.java:251)
          at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source)
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source)
          at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source)
          at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source)
          at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source)
          at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source)
          at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source)
          at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source)
          at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
          at java.lang.reflect.Method.invoke(Method.java:611)
          at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
          at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
          at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
          at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
          at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
          at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
          at org.apache.derby.tools.ij.main(Unknown Source)
          ============= end nested exception, level (2) ===========
          Cleanup action completed
          ----------------------------------------------------------------
          Thu Jan 19 00:35:33 PST 2012: Shutting down Derby engine

          Show
          Mike Matrigali added a comment - here are the stacks from first error in one of the failures: Thu Jan 19 00:35:33 PST 2012 Thread [main,5,main] (XID = 211), (SESSIONID = 1), (DATABASE = wombat), (DRDAID = null), Failed Statement is: – change it again call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('bootPassword', 'Saturday,derbypwd') ERROR 38000: The exception 'org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold'' was thrown while evaluating an expression. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.iapi.error.StandardException.unexpectedUserException(Unknown Source) at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source) at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source) at org.apache.derby.impl.tools.ij.Main.main(Unknown Source) at org.apache.derby.tools.ij.main(Unknown Source) Caused by: org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold' at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source) at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source) at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source) at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source) at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source) at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source) at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) ... 15 more Caused by: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold' at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source) at java.security.AccessController.doPrivileged(AccessController.java:251) at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source) ... 29 more ============= begin nested exception, level (1) =========== org.apache.derby.iapi.error.PassThroughException: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold' at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source) at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source) at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source) at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source) at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source) at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source) at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source) at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source) at org.apache.derby.impl.tools.ij.Main.main(Unknown Source) at org.apache.derby.tools.ij.main(Unknown Source) Caused by: ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold' at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source) at java.security.AccessController.doPrivileged(AccessController.java:251) at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source) ... 29 more ============= end nested exception, level (1) =========== ============= begin nested exception, level (2) =========== ERROR XBM0S: Unable to rename file 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.properties' to 'D:\jartest\JarResults.2012-01-18\ibm16_derbyall\derbyall\encryptionAll\encryption\encryption\encryptDatabase\wombat\service.propertiesold' at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$FileOperationHelper.renameTo(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$5.run(Unknown Source) at java.security.AccessController.doPrivileged(AccessController.java:251) at org.apache.derby.impl.services.monitor.StorageFactoryService.saveServiceProperties(Unknown Source) at org.apache.derby.impl.services.monitor.UpdateServiceProperties.update(Unknown Source) at org.apache.derby.impl.services.monitor.UpdateServiceProperties.put(Unknown Source) at org.apache.derby.impl.services.jce.JCECipherFactory.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.raw.RawStore.changeBootPassword(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.bootPasswordChange(Unknown Source) at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(Unknown Source) at org.apache.derby.impl.store.access.RAMTransaction.setProperty(Unknown Source) at org.apache.derby.iapi.db.PropertyInfo.setDatabaseProperty(Unknown Source) at org.apache.derby.catalog.SystemProcedures.SYSCS_SET_DATABASE_PROPERTY(Unknown Source) at org.apache.derby.exe.ac80220011x0134xf51bx34daxffffbee07f83f.g0(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source) at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source) at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.go(Unknown Source) at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source) at org.apache.derby.impl.tools.ij.Main.main(Unknown Source) at org.apache.derby.tools.ij.main(Unknown Source) ============= end nested exception, level (2) =========== Cleanup action completed ---------------------------------------------------------------- Thu Jan 19 00:35:33 PST 2012: Shutting down Derby engine
          Hide
          Mike Matrigali added a comment -

          unfortunately it looks like the code will eventually call File.renameTo() which looks like it will swallow any OS generated errors, and hide
          them, returning just false if it didn't work.

          My take on the test is that a lot of renaming of service.properties to service.propertiesold is happening in this test. And since the test passes
          almost everywhere it is unlikely we are not closing the file correctly. So some sort of timing or resource issue is happening in this environment.
          Some of the other new errors that seem to be cropping up new in this environment also have the feel of a temporary resource issue of some sort.

          Does anyone see a problem with adding some retry logic to the rename, similar to what we do for other failed I/O operations?

          Show
          Mike Matrigali added a comment - unfortunately it looks like the code will eventually call File.renameTo() which looks like it will swallow any OS generated errors, and hide them, returning just false if it didn't work. My take on the test is that a lot of renaming of service.properties to service.propertiesold is happening in this test. And since the test passes almost everywhere it is unlikely we are not closing the file correctly. So some sort of timing or resource issue is happening in this environment. Some of the other new errors that seem to be cropping up new in this environment also have the feel of a temporary resource issue of some sort. Does anyone see a problem with adding some retry logic to the rename, similar to what we do for other failed I/O operations?
          Hide
          Mike Matrigali added a comment -

          proposed patch to retry on rename failures. passed full test suite run on my machine.

          Show
          Mike Matrigali added a comment - proposed patch to retry on rename failures. passed full test suite run on my machine.
          Hide
          Mike Matrigali added a comment -

          backported retry on rename to 10.8 and 10.7. Going to let changes sit for awhile to see if problem still shows up. I have only seen error intermittently in nightly runs, have not been able to reproduce in my environment. Definitely log new instances of problem in this JIRA. Change can be backported further but will need to be mondified slightly to not
          use the InterruptStatus class.

          Show
          Mike Matrigali added a comment - backported retry on rename to 10.8 and 10.7. Going to let changes sit for awhile to see if problem still shows up. I have only seen error intermittently in nightly runs, have not been able to reproduce in my environment. Definitely log new instances of problem in this JIRA. Change can be backported further but will need to be mondified slightly to not use the InterruptStatus class.
          Hide
          Mike Matrigali added a comment -

          have not seen error since retry was added. closing issue for now, reopen if seen again in 10.7, 10.8 or trunk branches after date of the comment. Change was
          submitted to trunk, 10.7 and 10.8 prior to this comment.

          Show
          Mike Matrigali added a comment - have not seen error since retry was added. closing issue for now, reopen if seen again in 10.7, 10.8 or trunk branches after date of the comment. Change was submitted to trunk, 10.7 and 10.8 prior to this comment.

            People

            • Assignee:
              Mike Matrigali
              Reporter:
              Mike Matrigali
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development