See <https://builds.apache.org/job/Derby-branch-10.8/153/changes>
Changes: [mikem] DERBY-5624 System can run out of stack space while processing DropOnCommit requests. backporting changes #1292079, #1292096, #1292432, and #1292595 from trunk to 10.8 branch. Taking care of cleanup after a commit is handled by notifying all "Observers" that an event has taken place that they might want to act on and cleanup. In the added test case this is triggered by off line commit which effectively drops and recreates the base table and all of its indexes after loading the data into them. Sometimes these Observers may execute work which adds to the Observer queue, and that queue can "miss" them in the first pass through. A previous fix for this problem added a recursive call to notifyObservers in the place that could cause this addition of observers. This recursive call was causing stack problems when the number of Observers became large. For the checked in test case this was 1000 indexes on 1000 columns of the table. For other users I believe the cause was a by product of sorts on large disk based sorts for multi-gigabyte tables and indexes. 2 users were reporting similar failed stacks for failing compresses of large tables, and one was able to take this fix to their environment and then successfully run the compress. The fix was to remove the recursion and instead loop at the outermost point until there were no Observers. Adding the test to the largedata suite as it takes over 10 minutes to run on my machine. Only run the testDERBY_5624 in largedata on windows until linux issue resolved. Currently on linux with 1024 file descriptors per user this test fails. ------------------------------------------ Started by an SCM change Building remotely on ubuntu3 in workspace <https://builds.apache.org/job/Derby-branch-10.8/ws/> Updating https://svn.eu.apache.org/repos/asf/db/derby/code/branches/10.8 U java/engine/org/apache/derby/impl/sql/compile/InsertNode.java U java/engine/org/apache/derby/impl/sql/execute/GroupedAggregateResultSet.java U java/engine/org/apache/derby/impl/store/raw/xact/Xact.java U java/engine/org/apache/derby/impl/store/raw/data/DropOnCommit.java U java/testing/org/apache/derbyTesting/system/nstest/NsTest.java U java/testing/org/apache/derbyTesting/system/nstest/utils/DbUtil.java U java/testing/org/apache/derbyTesting/system/nstest/utils/MemCheck.java U java/testing/org/apache/derbyTesting/system/nstest/init/Initializer.java U java/testing/org/apache/derbyTesting/system/nstest/init/DbSetup.java U java/testing/org/apache/derbyTesting/system/nstest/tester/Tester1.java U java/testing/org/apache/derbyTesting/system/nstest/tester/BackupRestoreReEncryptTester.java U java/testing/org/apache/derbyTesting/system/nstest/tester/TesterObject.java U java/testing/org/apache/derbyTesting/system/nstest/README.txt U java/testing/org/apache/derbyTesting/functionTests/tests/lang/GroupByTest.java U java/testing/org/apache/derbyTesting/functionTests/tests/lang/DeclareGlobalTempTableJavaTest.java A java/testing/org/apache/derbyTesting/functionTests/tests/largedata/Derby5624Test.java U java/testing/org/apache/derbyTesting/functionTests/tests/largedata/_Suite.java D java/testing/org/apache/derbyTesting/functionTests/tests/store/encryptDatabase.sql D java/testing/org/apache/derbyTesting/functionTests/tests/store/encryptDatabase_app.properties U java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java A java/testing/org/apache/derbyTesting/functionTests/tests/store/EncryptDatabaseTest.java U java/testing/org/apache/derbyTesting/functionTests/tests/store/AccessTest.java D java/testing/org/apache/derbyTesting/functionTests/master/encryptDatabase.out D java/testing/org/apache/derbyTesting/functionTests/suites/encryptionAES.runall D java/testing/org/apache/derbyTesting/functionTests/suites/encryptionAES.properties U java/testing/org/apache/derbyTesting/functionTests/suites/encryptionDES.runall U java/testing/org/apache/derbyTesting/functionTests/suites/encryptionECB.runall U java/testing/org/apache/derbyTesting/functionTests/suites/encryptionBlowfish.runall U java/testing/org/apache/derbyTesting/functionTests/suites/encryption.runall U java/testing/org/apache/derbyTesting/functionTests/suites/encryptionCFB.runall U java/testing/org/apache/derbyTesting/functionTests/suites/encryptionOFB.runall A java/testing/org/apache/derbyTesting/functionTests/util/SampleVTI.java U java/testing/org/apache/derbyTesting/junit/BaseTestCase.java U java/testing/org/apache/derbyTesting/junit/Decorator.java U java/client/org/apache/derby/client/net/NetCursor.java U . At revision 1307692 FATAL: Unable to produce a script file hudson.util.IOException2: Failed to create a temp file on <https://builds.apache.org/job/Derby-branch-10.8/ws/> at hudson.FilePath.createTextTempFile(FilePath.java:1080) at hudson.tasks.CommandInterpreter.createScriptFile(CommandInterpreter.java:104) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703) at hudson.model.Build$RunnerImpl.build(Build.java:178) at hudson.model.Build$RunnerImpl.doRun(Build.java:139) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:473) at hudson.model.Run.run(Run.java:1410) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:238) Caused by: hudson.util.IOException2: remote file operation failed: <https://builds.apache.org/job/Derby-branch-10.8/ws/> at hudson.remoting.Channel@1c4071a9:ubuntu3 at hudson.FilePath.act(FilePath.java:828) at hudson.FilePath.act(FilePath.java:814) at hudson.FilePath.createTextTempFile(FilePath.java:1058) ... 12 more Caused by: java.io.IOException: No space left on device at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:282) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202) at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:297) at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:130) at java.io.OutputStreamWriter.close(OutputStreamWriter.java:216) at hudson.FilePath$14.invoke(FilePath.java:1074) at hudson.FilePath$14.invoke(FilePath.java:1058) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2154) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Build step 'Execute shell' marked build as failure [WARNINGS] Skipping publisher since build result is FAILURE
