From 3a653c9c2203013db5e2bbd8d3546c90432ba583 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Thu, 15 Jan 2015 12:40:49 -0800 Subject: [PATCH] Issue #19: it turns out that the `initCrashLog` call in GemServer>>startGems was introducing a commit conflict when doing a `restartGems`. Moved `initCrashLog` to the tests that relied upon it, cleaned up the commit failure handling in GemServer>>startGems and test coverage GemServerRemoteServerExampleTests>>testStartRestartStopServer for the bug --- .../instance/restartGems..st | 3 +++ .../instance/runTest.client.task..st | 2 +- .../instance/startGems..st | 1 + .../instance/testStartRestartStopServer.st | 23 +++++++++++++++++++ .../instance/validatePidFile.shouldExist..st | 16 +++++++++++++ .../methodProperties.json | 7 ++++-- .../properties.json | 2 +- .../properties.json | 2 +- .../properties.json | 2 +- .../properties.json | 2 +- .../instance/startGems..st | 1 + .../methodProperties.json | 4 ++-- .../monticello.meta/version | 2 +- .../GemServer.class/instance/isRunning.st | 2 +- .../GemServer.class/instance/name.st | 2 +- .../GemServer.class/instance/startGems.st | 9 +++++--- .../GemServer.class/methodProperties.json | 2 +- .../instance/block..st | 2 +- .../instance/nativeProcess..st | 2 +- .../instance/nativeProcess.st | 2 +- .../instance/nativeSemaphore..st | 2 +- .../instance/portableProcess..st | 2 +- .../instance/portableProcess.st | 2 +- .../instance/portableSemaphore..st | 2 +- .../class/gemServerNamed..st | 2 +- .../class/gemServerNames.st | 2 +- .../GemServerRegistry.class/class/new.st | 2 +- .../class/removeGemServerNamed..st | 2 +- .../class/serverGems.st | 2 +- .../class/serversOnPort..st | 2 +- .../class/singleton.st | 2 +- .../instance/addServer..st | 2 +- .../GemServerRegistry.class/instance/names.st | 2 +- .../instance/removeServer..st | 2 +- .../instance/serverClasses.st | 2 +- .../instance/serverNamed..st | 2 +- .../instance/servers.st | 2 +- .../instance/serversOfClass..st | 2 +- .../monticello.meta/version | 2 +- 39 files changed, 88 insertions(+), 38 deletions(-) create mode 100644 repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/restartGems..st create mode 100644 repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStartRestartStopServer.st create mode 100644 repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/validatePidFile.shouldExist..st diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/restartGems..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/restartGems..st new file mode 100644 index 0000000..695b857 --- /dev/null +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/restartGems..st @@ -0,0 +1,3 @@ +private +restartGems: gemServer + gemServer restartGems \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/runTest.client.task..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/runTest.client.task..st index 27363ca..9550df0 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/runTest.client.task..st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/runTest.client.task..st @@ -1,4 +1,4 @@ -tests +private runTest: gemServer client: client task: task [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/startGems..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/startGems..st index 95a1c5c..32ea27b 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/startGems..st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/startGems..st @@ -1,3 +1,4 @@ private startGems: gemServer + gemServer initCrashLog. "make sure we have a clean slate when starting up" gemServer startGems \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStartRestartStopServer.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStartRestartStopServer.st new file mode 100644 index 0000000..f3cf588 --- /dev/null +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/testStartRestartStopServer.st @@ -0,0 +1,23 @@ +tests +testStartRestartStopServer + "just start/restart/stop ... without an http client cannot do much else" + + "https://github.com/GsDevKit/gsApplicationTools/issues/19" + + | gemServer | + gemServer := GemServer gemServerNamed: self gemServerName. + gemServer tracing: true. + gemServer scriptLogEvent: '---->testStartRestartStopServer' object: gemServer. + [ + | portCount | + self startGems: gemServer. + (Delay forSeconds: 3) wait. + portCount := self validatePidFile: gemServer shouldExist: true. + self assert: portCount = gemServer defaultPortOrResourceNameList size. + gemServer restartGems. + (Delay forSeconds: 3) wait. + self validatePidFile: gemServer shouldExist: true ] + ensure: [ + self stopGems: gemServer. + (Delay forSeconds: 3) wait. + self validatePidFile: gemServer shouldExist: false ] \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/validatePidFile.shouldExist..st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/validatePidFile.shouldExist..st new file mode 100644 index 0000000..1009238 --- /dev/null +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/validatePidFile.shouldExist..st @@ -0,0 +1,16 @@ +private +validatePidFile: gemServer shouldExist: shouldExist + | portCount | + portCount := 0. + gemServer defaultPortOrResourceNameList + do: [ :defaultPortOrResourceName | + | fileName | + portCount := portCount + 1. + fileName := gemServer gemPidFileName: defaultPortOrResourceName. + ServerFileDirectory + splitName: fileName + to: [ :dirPath :fileName | + | dir x | + dir := ServerFileDirectory on: dirPath. + self assert: (x := dir fileExists: fileName) == shouldExist ] ]. + ^ portCount \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json index 4f41b7c..57d2bd9 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json @@ -5,10 +5,11 @@ "gemClientClass" : "dkh 12/30/2014 12:44", "gemServerClass" : "dkh 12/26/2014 14:47", "gemServerName" : "dkh 12/23/2014 13:28", + "restartGems:" : "dkh 01/15/2015 12:22", "runTest:client:task:" : "dkh 01/01/2015 11:17", "scheduledTaskList" : "dkh 12/26/2014 18:17", - "setUp" : "dkh 01/09/2015 17:20", - "startGems:" : "dkh 12/23/2014 13:04", + "setUp" : "dkh 12/26/2014 14:47", + "startGems:" : "dkh 01/15/2015 12:35", "stopGems:" : "dkh 12/23/2014 15:53", "taskList100" : "dkh 01/02/2015 09:20", "tearDown" : "dkh 01/06/2015 13:41", @@ -21,7 +22,9 @@ "testOutOfMemoryTemp" : "dkh 01/06/2015 13:42", "testSimple" : "dkh 01/06/2015 13:42", "testStackOverflow" : "dkh 01/06/2015 13:42", + "testStartRestartStopServer" : "dkh 01/15/2015 12:31", "testStatus" : "dkh 01/06/2015 13:42", "testTimeInLondon" : "dkh 01/06/2015 13:42", "testWarning" : "dkh 01/06/2015 13:42", + "validatePidFile:shouldExist:" : "dkh 01/15/2015 12:25", "waitForTasks:gemServer:client:" : "dkh 01/01/2015 11:19" } } diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json index 925f542..f325355 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "", + "commentStamp" : "dkh 12/30/2014 12:46", "instvars" : [ ], "name" : "GemServerRemoteServerParallelProcessingExampleTests", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json index 7a4abf2..a4dff48 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "", + "commentStamp" : "dkh 12/30/2014 12:46", "instvars" : [ ], "name" : "GemServerRemoteServerSerialProcessingExampleTests", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json index 0732c1c..5426c22 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "", + "commentStamp" : "dkh 12/31/2014 20:50", "instvars" : [ ], "name" : "GemServerRemoteTaskParallelProcessingExample", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json index 134cccb..f28c44c 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "", + "commentStamp" : "dkh 12/31/2014 20:51", "instvars" : [ ], "name" : "GemServerRemoteTaskSerialProcessingExample", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/startGems..st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/startGems..st index 95a1c5c..294e93a 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/startGems..st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/startGems..st @@ -1,3 +1,4 @@ private startGems: gemServer + gemServer initCrashLog. gemServer startGems \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json index ca81865..2e42353 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json @@ -4,8 +4,8 @@ "instance" : { "gemServerName" : "dkh 01/02/2015 11:10", "runTest:" : "dkh 01/02/2015 11:45", - "setUp" : "dkh 01/09/2015 17:20", - "startGems:" : "dkh 01/02/2015 11:11", + "setUp" : "dkh 01/02/2015 14:45", + "startGems:" : "dkh 01/15/2015 12:34", "stopGems:" : "dkh 01/02/2015 11:11", "tearDown" : "dkh 01/06/2015 13:42", "testSeasideStyleError" : "dkh 01/06/2015 13:42", diff --git a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version index 3659cba..f220e78 100644 --- a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version +++ b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-ExampleV31-dkh.69' message 'Issue #16: isolate source of test errors (use of doTransaction while inTransaction) ... fix it and restore some code erroneously removed and cross fingers' id '9d1754e3-1b66-47d2-915c-233d24d30a90' date '01/09/2015' time '17:23:05' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.68' message 'Issue #16: more test cleanup' id '2062a95f-044e-42a0-92fe-075ee1e54cac' date '01/09/2015' time '16:52:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.67' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '7e94b9d7-7d5d-412f-96d0-114b279b7db7' date '01/09/2015' time '14:25:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.66' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id '4db76e16-97ae-4007-bd88-1ffb4d3b57ba' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.65' message 'more work on replace use of ports with portOrResourceNameList' id '7b120354-dbf6-4928-92fe-2bad21e3dacb' date '01/06/2015' time '16:18:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.64' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id '8dc8b634-f45e-4bc6-b9fb-79d99c526f29' date '01/06/2015' time '13:45:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-ExampleV31-dkh.70' message 'Issue #19: it turns out that the `initCrashLog` call in GemServer>>startGems was introducing a commit conflict when doing a `restartGems`. Moved `initCrashLog` to the tests that relied upon it, cleaned up the commit failure handling in GemServer>>startGems and test coverage GemServerRemoteServerExampleTests>>testStartRestartStopServer for the bug' id 'dadaa21c-0382-4f46-992a-27a6e4009414' date '01/15/2015' time '12:40:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.69' message 'Issue #16: isolate source of test errors (use of doTransaction while inTransaction) ... fix it and restore some code erroneously removed and cross fingers' id '9d1754e3-1b66-47d2-915c-233d24d30a90' date '01/09/2015' time '17:23:05' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.68' message 'Issue #16: more test cleanup' id '2062a95f-044e-42a0-92fe-075ee1e54cac' date '01/09/2015' time '16:52:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.67' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '7e94b9d7-7d5d-412f-96d0-114b279b7db7' date '01/09/2015' time '14:25:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.66' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id '4db76e16-97ae-4007-bd88-1ffb4d3b57ba' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.65' message 'more work on replace use of ports with portOrResourceNameList' id '7b120354-dbf6-4928-92fe-2bad21e3dacb' date '01/06/2015' time '16:18:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.64' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id '8dc8b634-f45e-4bc6-b9fb-79d99c526f29' date '01/06/2015' time '13:45:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/isRunning.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/isRunning.st index c21194c..3471748 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/isRunning.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/isRunning.st @@ -1,3 +1,3 @@ server specialization isRunning - ^self serverClass isRunning + ^self serverClass isRunning \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/name.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/name.st index 5dfd59f..4a16061 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/name.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/name.st @@ -2,4 +2,4 @@ accessing name name == nil ifTrue: [ ^self serverClass name ]. - ^name + ^name \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st index a0c10cb..3eb3afe 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/startGems.st @@ -1,8 +1,11 @@ service instance-control startGems - self initCrashLog. - System commitTransaction - ifFalse: [ self error: 'Commit transaction failed before startGems' ]. + self doCommitTransaction + ifFalse: [ + | conflicts | + conflicts := System transactionConflicts. + self doAbortTransaction. + self error: 'Commit transaction failed before startGems' ]. self logControlEvent: 'Start Gems: ' , self name. self portOrResourceNameList do: [ :portOrResourceName | diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json index 638a0fc..02fa2e4 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json @@ -118,7 +118,7 @@ "stackReportLimit" : "dkh 12/30/2014 06:46", "start" : "dkh 01/09/2015 14:16", "startBasicServerOn:" : "dkh 01/06/2015 15:53", - "startGems" : "dkh 01/06/2015 15:29", + "startGems" : "dkh 01/15/2015 12:35", "startScriptName" : "dkh 12/04/2014 08:02", "startScriptPath" : "dkh 12/04/2014 08:02", "startServerOn:" : "dkh 01/06/2015 15:49", diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st index 230242c..ef9234f 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st @@ -1,4 +1,4 @@ accessing block: anObject - block := anObject + block := anObject \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st index b7ef69e..cb24c90 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st @@ -1,4 +1,4 @@ accessing nativeProcess: anObject - nativeProcess := anObject + nativeProcess := anObject \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st index b092267..9547f1b 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st @@ -1,4 +1,4 @@ accessing nativeProcess - ^nativeProcess + ^nativeProcess \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st index dcf82d8..193362a 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st @@ -1,4 +1,4 @@ accessing nativeSemaphore: anObject - nativeSemaphore := anObject + nativeSemaphore := anObject \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st index 205bd2f..7da238c 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st @@ -1,4 +1,4 @@ accessing portableProcess: anObject - portableProcess := anObject + portableProcess := anObject \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st index 5d21f5b..7aafd10 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st @@ -1,4 +1,4 @@ accessing portableProcess - ^portableProcess + ^portableProcess \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st index 63fb535..53a47f9 100644 --- a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st +++ b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st @@ -1,4 +1,4 @@ accessing portableSemaphore: anObject - portableSemaphore := anObject + portableSemaphore := anObject \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st index 216e547..ee2a9cc 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st @@ -1,3 +1,3 @@ gem server querying gemServerNamed: aString - ^self singleton serverNamed: aString + ^self singleton serverNamed: aString \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st index 91f3c1d..359ed0e 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st @@ -1,3 +1,3 @@ gem server querying gemServerNames - ^self singleton names asSortedCollection + ^self singleton names asSortedCollection \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st index 0859b53..0847eda 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st @@ -1,3 +1,3 @@ instance creation new - ^self singleton + ^self singleton \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st index 3983766..b1d3daa 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st @@ -1,4 +1,4 @@ registration removeGemServerNamed: aName self singleton removeServer: aName -. +. \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serverGems.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serverGems.st index ae343fb..cc8852d 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serverGems.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serverGems.st @@ -1,3 +1,3 @@ gem server querying serverGems - ^self singleton servers + ^self singleton servers \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st index c6a16a4..9399657 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st @@ -1,3 +1,3 @@ gem server querying serversOnPort: aPortNumber - ^self singleton serversOnPort: aPortNumber + ^self singleton serversOnPort: aPortNumber \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st index a58e22b..9931db8 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st @@ -2,4 +2,4 @@ accessing singleton Singleton isNil ifTrue: [self initSingleton]. - ^Singleton + ^Singleton \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st index eb29a0e..6ed1261 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st @@ -3,4 +3,4 @@ addServer: aServer (self serverNamed: aServer name) notNil ifTrue: [^Error error: 'Server with that name already exists!']. - self servers add: aServer + self servers add: aServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st index 65f172e..ad8a31c 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st @@ -1,4 +1,4 @@ other names - ^self servers collect:[:each | each name]. + ^self servers collect:[:each | each name]. \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st index 06a27d4..feec86b 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st @@ -2,4 +2,4 @@ other removeServer: aName |server| server :=self serverNamed:aName. - server == nil ifFalse:[ servers remove: server] + server == nil ifFalse:[ servers remove: server] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st index 1b49ec7..f3689ef 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st @@ -1,4 +1,4 @@ other serverClasses - ^self servers collect:[:each | each serverClass]. + ^self servers collect:[:each | each serverClass]. \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st index deca720..ec10bf8 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st @@ -1,3 +1,3 @@ other serverNamed: aString - ^self servers detect:[:each | each name = aString] ifNone:[nil] + ^self servers detect:[:each | each name = aString] ifNone:[nil] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st index e26caf2..d6a7961 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st @@ -1,3 +1,3 @@ other servers - ^servers + ^servers \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st index f004827..e13a104 100644 --- a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st +++ b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st @@ -1,3 +1,3 @@ other serversOfClass: aClassName - ^servers select: [:each | each serverClass name = aClassName] + ^servers select: [:each | each serverClass name = aClassName] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/monticello.meta/version b/repository/GsApplicationTools-Server.package/monticello.meta/version index db64740..37bfad2 100644 --- a/repository/GsApplicationTools-Server.package/monticello.meta/version +++ b/repository/GsApplicationTools-Server.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-Server-dkh.80' message 'Issue #16: isolate source of test errors (use of doTransaction while inTransaction) ... fix it and restore some code erroneously removed and cross fingers' id 'a9a2a4e7-869a-4fdd-a9a4-58864bb480e9' date '01/09/2015' time '17:23:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.79' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '22eae78d-23c5-4342-aedd-680d54f584e6' date '01/09/2015' time '14:25:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.78' message 'Issue #16: make GemServer>>doBasicTransaction: non-reentrant ... no tests yet' id '3cf71d75-5fe6-4492-95a7-a6389fe1c60e' date '01/09/2015' time '13:24:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.77' message 'Issue #15: remove ports iv' id '74b5e97e-97b1-4e3f-a03a-6967396419bb' date '01/09/2015' time '13:03:54' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.76' message 'add back in GemServer>>ports and GemServer>>ports:, since for gem servers that _do_ work with ports, this is the natural method to use ...' id '0e847e91-ae46-49f1-ad27-2a5911c981c0' date '01/07/2015' time '11:41:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.75' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id 'a57d4750-da0d-4b57-8308-fa436a1a55d4' date '01/06/2015' time '17:07:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.74' message 'more work on replace use of ports with portOrResourceNameList' id 'f7a71ead-40e1-427e-931d-c37f2cd8f162' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.73' message 'replace use of ports with portOrResourceNameList, since some gem servers are not port-based ... yet we need a unique id to identify the gem server instances ..' id '274fc069-2cfd-4e7f-ab58-886387389871' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.72' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'eecf6463-2e1f-411c-a296-c4f25f4bebc7' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.71' message 'Issue #10: rename GemServer>>startSigAbortHandling to GemServer>>startTransactionBacklogHandling ... write to gem log first, then create continuation in GemServer>>logStack:titled:inTransactionDo: ' id '0ec21772-5f63-409b-b2b8-8984ec643b76' date '01/04/2015' time '00:06:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.70' message 'Issue #10: a bit more streamlining of the gemserver api' id '26bf99a9-3b4e-4633-a27c-17e64adb22f7' date '01/03/2015' time '20:20:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.69' message 'Issue #10: tweak stack unwind logic in GemServer>>gemServer:exceptionSet:beforeUnwind:ensure: ... use explicit `return:` instead of falling off end of exception handling block' id 'b3ba26be-2687-4e00-8e6a-ce2f517996a7' date '01/03/2015' time '12:58:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.68' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '91969751-4247-480f-86c0-98676c6a095b' date '01/02/2015' time '17:54:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.67' message 'Issue #10: move basicServerProcess up to GemServer ...' id '9bffb268-d7e4-4e0e-a84a-b5eb6cf03998' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.66' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id '7df44e59-4dac-4020-baf6-9734bdd4fe9f' date '01/01/2015' time '18:14:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.65' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '778f751d-abd4-4297-adb4-b2574d2d4f25' date '01/01/2015' time '13:24:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.64' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '56b22587-b43c-4106-aafe-07ba9a4395e5' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.63' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id '1cb8556c-3b1f-4a62-b0ed-4887219e7e10' date '12/31/2014' time '21:16:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.62' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '473fd4c5-0a0b-4141-8322-adac4d74ac3b' date '12/31/2014' time '12:24:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.61' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id 'da3b879d-e658-4d95-aac1-196271fac284' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.60' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id 'e5deddb7-75be-4aa3-9266-236578df6ffd' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.59' message 'Issue #10: tweak GemServer>>doTransaction:' id '358b7e45-5f77-42e9-ac0a-46a11b7f5368' date '12/30/2014' time '07:45:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.58' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '67f16c1a-1a4c-4260-9d41-ca661e4229de' date '12/30/2014' time '07:34:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.57' message 'Issue #10: exception pass does not belong in gemServerHandleErrorException: ... changed comment so the same mistake won''t be made again...' id 'dc5c8c41-4d16-42e6-b972-0a0c87e5c848' date '12/29/2014' time '21:38:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.56' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id 'cc646ef5-d24c-4364-844a-7d151cf743b1' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.55' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id 'ffbcc6d8-d6f8-4365-aa1e-e2e931e0a754' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.54' message 'Issue #10: implement GemServer>>interactiveStartServiceOn:' id '482bdc62-5c86-4603-b33b-78a28e7c7314' date '12/28/2014' time '07:42:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.53' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '41d9fd46-48c7-4531-9532-d7f5cdbdc1e4' date '12/28/2014' time '07:13:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.52' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '2d9d69d6-f3c7-4a6b-9ae8-23b025452ca8' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.51' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id '2f7e6ced-31b8-4f17-b0fd-a17d392a24c3' date '12/26/2014' time '08:31:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.50' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id 'ab406ae1-9b32-4bfc-9514-1471deaf5b0c' date '12/26/2014' time '07:53:44' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.49' message 'Issue #10: turn off continuations' id '85ac4544-66d0-4315-af22-b4eacdef42d7' date '12/25/2014' time '21:58:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.48' message 'Issue #10: Delay and persistent blocks do not mix' id '95da3073-d3ae-4470-bcc2-c14f602be746' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.47' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id '2b3b92a6-cde0-4c9a-8398-412a1c08bcab' date '12/25/2014' time '08:25:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.46' message 'Issue #10: disable continuation creation until I find the reference to delay from continuation .... an abort is causing the process to forget the waiters ... bug will be finxed in 23.2.4? ... causing failure in GemServerRemoteServerExampleTests>>test100Tasks' id '149c80db-7920-43f1-ac02-c86cc1253fff' date '12/24/2014' time '23:05:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.45' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9f23e4d9-413d-4934-95c5-f6221e5c5866' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.44' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id 'a17abea7-f2c8-4b57-a064-ca89c08f8ffc' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.43' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '6d46b8e7-a406-4aa4-9e8f-61639f0f5a42' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.42' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '83ec8997-c97d-4b4d-b54c-be97ed04eb33' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.41' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id 'af09c85e-85f0-48d4-a834-29e141d689f5' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.40' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id 'a16f7bf3-5f2c-4804-863f-66f7f14b5c55' date '12/22/2014' time '14:01:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.39' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '5b23d0e9-fb0c-4f8d-be85-6710410e48f4' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.38' message 'Issue #10: fix a GemStone 2.4.x portability problem' id '19fa2ad7-e6cb-4481-98a5-e637b49e49ab' date '12/21/2014' time '19:26:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.37' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '8afc1307-7b63-4496-95cb-b0cda90083a5' date '12/21/2014' time '19:15:34' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.36' message 'Issue #10: bulding supporting methods for top-level application error handling and error logging ... server errors will be dealt with using separate (to be written) logic (checkpoint)' id 'a160a736-7277-462f-b478-e4b6eb81093a' date '12/21/2014' time '14:19:52' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.35' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'ac15b558-6bcf-4248-abcf-940732736797' date '12/20/2014' time '21:47:41' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.34' message 'implement GemServer>>handleBreakpointException: ' id '09b5af03-82fd-4edd-a796-5a48f6aacde9' date '12/16/2014' time '07:13:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.33' message 'working on GsDevKit/Seaside31#59 and noticed that the output fro ps was clipped ... losing just the information that I might want to really see from the status command' id '1247e850-48da-42fd-a1af-be9f072486fc' date '12/15/2014' time '15:46:15' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.32' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id 'cfdb9768-3b02-44c2-b4bd-c15c4254be56' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.31' message 'ServiceVmGemServer moved to GsDevKit/ServiceVM project (https://github.com/GsDevKit/ServiceVM/issues/5)' id '339732d4-6e87-4854-9a64-0a8cc40c8501' date '12/13/2014' time '15:58:24' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.30' message 'Move MaintenanceVmGemServer to Seaside project' id '490a16f5-3868-450b-a8ef-3a346cbb9a00' date '12/12/2014' time '09:52:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.29' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id '851fbcd5-458d-47ff-8710-0795e6f344f5' date '12/10/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.28' message 'pull up some behavior/state from ZnGemServer as I contemplate implementation of SeasideGemServer family (which is being moved to Seaside31 project)' id 'e20c5d30-c795-4514-9cca-c6333a97c614' date '12/10/2014' time '15:18:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.27' message 'portString no longer used' id 'b82c1aa0-5110-40a5-bc9b-757d225c9e31' date '12/10/2014' time '11:00:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.26' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '7ce13042-cf46-46f9-b3f2-26f4ddff24b8' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.25' message 'Porting recent GemserverLauncher and friends work to 2.4' id '744c20b4-e439-46e7-b9c5-1e56e287167e' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.24' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id '2d65afde-00f0-44d3-bfee-c707bebce03a' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.23' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '75ba2020-977c-445c-81a1-3c59a6e5527d' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.22' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '87bb2e41-1e71-4c39-891a-e472cefc1993' date '12/06/2014' time '14:57:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.21' message 'GemServer class>>handleBreakpointException: moved to ZnGemServerLogSupport' id 'a2c9d9a8-d677-409f-8c23-b23bdf34907c' date '12/05/2014' time '14:59:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.20' message 'use script for both start and stop ... pid files go into GEMSTONE_LOGDIR' id '6acecf92-5b4d-4ba8-9fd8-40d96a238c44' date '12/04/2014' time '08:09:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.19' message 'GemServer class>>handleBreakpointException: can be in common class' id 'dd67e194-1598-42b4-864f-a6532878f183' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.18' message 'add GemServer register/unregister methods' id '852a3a6e-738a-4e0c-9647-7ccfe77b949c' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.17' message 'remove some extraneous logging .. improve start server label' id '926e5364-3af4-463f-a47a-ec4f64066da8' date '11/30/2014' time '11:52:31' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.16' message 'add strategic object logging to aid in debugging GemServer processing' id 'acf24638-1085-4742-a68e-36c4b8724f16' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.15' message 'Issue #2: change GemServer>>defaultScriptBinDirPath to directly access GemServer class, so that subclasses in different projects can still find the script' id '6043a78a-19aa-4760-9367-c4f8b70a5e82' date '11/29/2014' time '20:10:03' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.14' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '8e013040-0af2-4b22-bf00-76fa155060d3' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.13' message 'Issue #2: split out GemServer>>performOnServer: into separate 2.4 and 3.x packages ... add new packages and update baseline' id '1270825e-9e4b-480c-95ba-89af92443ce6' date '11/29/2014' time '19:14:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.12' message 'Issue #2: adjustments for testing' id '0c523ab6-f8f4-4517-b8c4-8c47e683f48c' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.11' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'ed1d63d6-d88b-4ec0-8690-91cf0dc122ba' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.10' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '2cd572d2-e096-4d29-a44d-2b9611c1c651' date '11/29/2014' time '11:42:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.9' message 'Issue #2: get ready to run scripts ... add test' id '69489d7e-d2e5-45fb-807b-dc0ebf625cbd' date '11/29/2014' time '09:49:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.8' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '6fb8ce02-0f34-48a1-88f8-13518a567990' date '11/29/2014' time '09:07:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.7' message 'Issue #2: get tests passing?' id '7a39f9cf-f346-443b-85bb-df06c8999146' date '11/26/2014' time '22:02:56' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.6' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id '33b9790d-0fe6-448d-b307-2849898f89dc' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.5' message 'Issue #2: remove the GemServerStarter classes .... refactor start logic to send startGems, restartGems and stopGems directory to the GemServer instance ... return GemServer instance when created, so that inline start and stop logic can be done without requiring lookup...' id 'd5daf1e3-d581-4a5c-8279-ecc26e65482f' date '11/26/2014' time '20:00:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'fbb1b950-b097-46da-bff4-c30718ff0445' date '11/26/2014' time '19:29:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '17c9ab9b-23fe-4849-9e8b-ecfed9e3eb62' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.1' message 'Issue #2: rename Application-Server-Tools to GsApplicationTools-Server ... also doing a bit of restructuring' id '0b8a0237-7f35-46cc-978b-3cfa12e1b55b' date '11/26/2014' time '14:27:25' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-Server-dkh.81' message 'Issue #19: it turns out that the `initCrashLog` call in GemServer>>startGems was introducing a commit conflict when doing a `restartGems`. Moved `initCrashLog` to the tests that relied upon it, cleaned up the commit failure handling in GemServer>>startGems and test coverage GemServerRemoteServerExampleTests>>testStartRestartStopServer for the bug' id '1a5f8726-048f-4d86-9b19-f06cacdba0bf' date '01/15/2015' time '12:40:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.80' message 'Issue #16: isolate source of test errors (use of doTransaction while inTransaction) ... fix it and restore some code erroneously removed and cross fingers' id 'a9a2a4e7-869a-4fdd-a9a4-58864bb480e9' date '01/09/2015' time '17:23:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.79' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '22eae78d-23c5-4342-aedd-680d54f584e6' date '01/09/2015' time '14:25:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.78' message 'Issue #16: make GemServer>>doBasicTransaction: non-reentrant ... no tests yet' id '3cf71d75-5fe6-4492-95a7-a6389fe1c60e' date '01/09/2015' time '13:24:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.77' message 'Issue #15: remove ports iv' id '74b5e97e-97b1-4e3f-a03a-6967396419bb' date '01/09/2015' time '13:03:54' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.76' message 'add back in GemServer>>ports and GemServer>>ports:, since for gem servers that _do_ work with ports, this is the natural method to use ...' id '0e847e91-ae46-49f1-ad27-2a5911c981c0' date '01/07/2015' time '11:41:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.75' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id 'a57d4750-da0d-4b57-8308-fa436a1a55d4' date '01/06/2015' time '17:07:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.74' message 'more work on replace use of ports with portOrResourceNameList' id 'f7a71ead-40e1-427e-931d-c37f2cd8f162' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.73' message 'replace use of ports with portOrResourceNameList, since some gem servers are not port-based ... yet we need a unique id to identify the gem server instances ..' id '274fc069-2cfd-4e7f-ab58-886387389871' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.72' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'eecf6463-2e1f-411c-a296-c4f25f4bebc7' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.71' message 'Issue #10: rename GemServer>>startSigAbortHandling to GemServer>>startTransactionBacklogHandling ... write to gem log first, then create continuation in GemServer>>logStack:titled:inTransactionDo: ' id '0ec21772-5f63-409b-b2b8-8984ec643b76' date '01/04/2015' time '00:06:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.70' message 'Issue #10: a bit more streamlining of the gemserver api' id '26bf99a9-3b4e-4633-a27c-17e64adb22f7' date '01/03/2015' time '20:20:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.69' message 'Issue #10: tweak stack unwind logic in GemServer>>gemServer:exceptionSet:beforeUnwind:ensure: ... use explicit `return:` instead of falling off end of exception handling block' id 'b3ba26be-2687-4e00-8e6a-ce2f517996a7' date '01/03/2015' time '12:58:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.68' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '91969751-4247-480f-86c0-98676c6a095b' date '01/02/2015' time '17:54:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.67' message 'Issue #10: move basicServerProcess up to GemServer ...' id '9bffb268-d7e4-4e0e-a84a-b5eb6cf03998' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.66' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id '7df44e59-4dac-4020-baf6-9734bdd4fe9f' date '01/01/2015' time '18:14:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.65' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '778f751d-abd4-4297-adb4-b2574d2d4f25' date '01/01/2015' time '13:24:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.64' message 'Issue #10: implement (and use) GemServer>>doInteractiveModePass:' id '56b22587-b43c-4106-aafe-07ba9a4395e5' date '12/31/2014' time '21:23:50' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.63' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id '1cb8556c-3b1f-4a62-b0ed-4887219e7e10' date '12/31/2014' time '21:16:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.62' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '473fd4c5-0a0b-4141-8322-adac4d74ac3b' date '12/31/2014' time '12:24:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.61' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id 'da3b879d-e658-4d95-aac1-196271fac284' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.60' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id 'e5deddb7-75be-4aa3-9266-236578df6ffd' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.59' message 'Issue #10: tweak GemServer>>doTransaction:' id '358b7e45-5f77-42e9-ac0a-46a11b7f5368' date '12/30/2014' time '07:45:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.58' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '67f16c1a-1a4c-4260-9d41-ca661e4229de' date '12/30/2014' time '07:34:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.57' message 'Issue #10: exception pass does not belong in gemServerHandleErrorException: ... changed comment so the same mistake won''t be made again...' id 'dc5c8c41-4d16-42e6-b972-0a0c87e5c848' date '12/29/2014' time '21:38:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.56' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id 'cc646ef5-d24c-4364-844a-7d151cf743b1' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.55' message 'Issue #10: pull gemServerExceptionSet iv up to GemServer ... interactive tests needs to be able to customize the exception set used and it stands to reason that developers will as well ...' id 'ffbcc6d8-d6f8-4365-aa1e-e2e931e0a754' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.54' message 'Issue #10: implement GemServer>>interactiveStartServiceOn:' id '482bdc62-5c86-4603-b33b-78a28e7c7314' date '12/28/2014' time '07:42:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.53' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '41d9fd46-48c7-4531-9532-d7f5cdbdc1e4' date '12/28/2014' time '07:13:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.52' message 'Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break exception dispatching to v30 package' id '2d9d69d6-f3c7-4a6b-9ae8-23b025452ca8' date '12/26/2014' time '13:22:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.51' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id '2f7e6ced-31b8-4f17-b0fd-a17d392a24c3' date '12/26/2014' time '08:31:00' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.50' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id 'ab406ae1-9b32-4bfc-9514-1471deaf5b0c' date '12/26/2014' time '07:53:44' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.49' message 'Issue #10: turn off continuations' id '85ac4544-66d0-4315-af22-b4eacdef42d7' date '12/25/2014' time '21:58:40' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.48' message 'Issue #10: Delay and persistent blocks do not mix' id '95da3073-d3ae-4470-bcc2-c14f602be746' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.47' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id '2b3b92a6-cde0-4c9a-8398-412a1c08bcab' date '12/25/2014' time '08:25:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.46' message 'Issue #10: disable continuation creation until I find the reference to delay from continuation .... an abort is causing the process to forget the waiters ... bug will be finxed in 23.2.4? ... causing failure in GemServerRemoteServerExampleTests>>test100Tasks' id '149c80db-7920-43f1-ac02-c86cc1253fff' date '12/24/2014' time '23:05:32' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.45' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9f23e4d9-413d-4934-95c5-f6221e5c5866' date '12/24/2014' time '13:37:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.44' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id 'a17abea7-f2c8-4b57-a064-ca89c08f8ffc' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.43' message 'Issue #10: beef up GemServer>>doComplexTransaction: to include an onCoflictBlock ... GemServer>>doComplexTransaction:onConflict: conflict handling is WHY you use doComplexTransaction:. Allow for exceptionSet customization in gemServer:... gemServerTransaction:... calls and of course add onConflict customization to gemServerTransaction:... calls...GemServerTestServer>>startBasicServerOn: now uses both flavors of gemServer api calls: gemServer:... and gemServerTransaction:...' id '6d46b8e7-a406-4aa4-9e8f-61639f0f5a42' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.42' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '83ec8997-c97d-4b4d-b54c-be97ed04eb33' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.41' message 'Issue #10: add GemServerInteractiveVMTests to test interactiveMode of GemServer, i.e., in interactiveMode exceptions are handled, logged then passed so that developer can bring up a debugger in a development environment ... for those cases when server-side code is being written ...' id 'af09c85e-85f0-48d4-a834-29e141d689f5' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.40' message 'Issue #10: internal server error handling ... expanded local and remote tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used ' id 'a16f7bf3-5f2c-4804-863f-66f7f14b5c55' date '12/22/2014' time '14:01:48' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.39' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '5b23d0e9-fb0c-4f8d-be85-6710410e48f4' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.38' message 'Issue #10: fix a GemStone 2.4.x portability problem' id '19fa2ad7-e6cb-4481-98a5-e637b49e49ab' date '12/21/2014' time '19:26:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.37' message 'Issue #10: implement GemServerTestServer for running GemServerRemoteVMTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends' id '8afc1307-7b63-4496-95cb-b0cda90083a5' date '12/21/2014' time '19:15:34' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.36' message 'Issue #10: bulding supporting methods for top-level application error handling and error logging ... server errors will be dealt with using separate (to be written) logic (checkpoint)' id 'a160a736-7277-462f-b478-e4b6eb81093a' date '12/21/2014' time '14:19:52' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.35' message 'define GemServer>>performOnServer:status: so that statusGems won''t error out if a gem doesn''t happen to be running ...' id 'ac15b558-6bcf-4248-abcf-940732736797' date '12/20/2014' time '21:47:41' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.34' message 'implement GemServer>>handleBreakpointException: ' id '09b5af03-82fd-4edd-a796-5a48f6aacde9' date '12/16/2014' time '07:13:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.33' message 'working on GsDevKit/Seaside31#59 and noticed that the output fro ps was clipped ... losing just the information that I might want to really see from the status command' id '1247e850-48da-42fd-a1af-be9f072486fc' date '12/15/2014' time '15:46:15' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.32' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id 'cfdb9768-3b02-44c2-b4bd-c15c4254be56' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.31' message 'ServiceVmGemServer moved to GsDevKit/ServiceVM project (https://github.com/GsDevKit/ServiceVM/issues/5)' id '339732d4-6e87-4854-9a64-0a8cc40c8501' date '12/13/2014' time '15:58:24' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.30' message 'Move MaintenanceVmGemServer to Seaside project' id '490a16f5-3868-450b-a8ef-3a346cbb9a00' date '12/12/2014' time '09:52:01' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.29' message 'lazy initialization is not good for the GemServer instances, since multiple gems could be spawned from the same GemServer instance which leads to commit conflicts ... ' id '851fbcd5-458d-47ff-8710-0795e6f344f5' date '12/10/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.28' message 'pull up some behavior/state from ZnGemServer as I contemplate implementation of SeasideGemServer family (which is being moved to Seaside31 project)' id 'e20c5d30-c795-4514-9cca-c6333a97c614' date '12/10/2014' time '15:18:47' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.27' message 'portString no longer used' id 'b82c1aa0-5110-40a5-bc9b-757d225c9e31' date '12/10/2014' time '11:00:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.26' message 'More porting to 2.4.x ... add GemServerLauncherTests for simple test coverage, tODE should be used for the actual breakpoint and object log tests ' id '7ce13042-cf46-46f9-b3f2-26f4ddff24b8' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.25' message 'Porting recent GemserverLauncher and friends work to 2.4' id '744c20b4-e439-46e7-b9c5-1e56e287167e' date '12/09/2014' time '14:15:39' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.24' message 'improve logging and make GemServer transaction safe by using TransientSemaphores' id '2d65afde-00f0-44d3-bfee-c707bebce03a' date '12/09/2014' time '09:57:23' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.23' message 'infrastructure changes to make it possible for a server to switch between native and portable code in support of remote breakpoints ...' id '75ba2020-977c-445c-81a1-3c59a6e5527d' date '12/07/2014' time '18:37:17' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.22' message 'Finish up with the remote breakpoint work ... won''t be able to enable this capability until 3.3 at the soonest ...' id '87bb2e41-1e71-4c39-891a-e472cefc1993' date '12/06/2014' time '14:57:45' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.21' message 'GemServer class>>handleBreakpointException: moved to ZnGemServerLogSupport' id 'a2c9d9a8-d677-409f-8c23-b23bdf34907c' date '12/05/2014' time '14:59:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.20' message 'use script for both start and stop ... pid files go into GEMSTONE_LOGDIR' id '6acecf92-5b4d-4ba8-9fd8-40d96a238c44' date '12/04/2014' time '08:09:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.19' message 'GemServer class>>handleBreakpointException: can be in common class' id 'dd67e194-1598-42b4-864f-a6532878f183' date '12/03/2014' time '16:24:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.18' message 'add GemServer register/unregister methods' id '852a3a6e-738a-4e0c-9647-7ccfe77b949c' date '12/03/2014' time '12:28:38' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.17' message 'remove some extraneous logging .. improve start server label' id '926e5364-3af4-463f-a47a-ec4f64066da8' date '11/30/2014' time '11:52:31' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.16' message 'add strategic object logging to aid in debugging GemServer processing' id 'acf24638-1085-4742-a68e-36c4b8724f16' date '11/30/2014' time '09:21:29' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.15' message 'Issue #2: change GemServer>>defaultScriptBinDirPath to directly access GemServer class, so that subclasses in different projects can still find the script' id '6043a78a-19aa-4760-9367-c4f8b70a5e82' date '11/29/2014' time '20:10:03' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.14' message 'Issue #2: GemServer>>enableRemoteBreakpointHandling is platform-specific as well' id '8e013040-0af2-4b22-bf00-76fa155060d3' date '11/29/2014' time '19:39:46' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.13' message 'Issue #2: split out GemServer>>performOnServer: into separate 2.4 and 3.x packages ... add new packages and update baseline' id '1270825e-9e4b-480c-95ba-89af92443ce6' date '11/29/2014' time '19:14:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.12' message 'Issue #2: adjustments for testing' id '0c523ab6-f8f4-4517-b8c4-8c47e683f48c' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.11' message 'Issue #2: start/stop/restart appears to be working but I don''t like the level of feedback ... need status command that looks at pid and verifies that pid is there and perhaps some other status information...' id 'ed1d63d6-d88b-4ec0-8690-91cf0dc122ba' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.10' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '2cd572d2-e096-4d29-a44d-2b9611c1c651' date '11/29/2014' time '11:42:19' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.9' message 'Issue #2: get ready to run scripts ... add test' id '69489d7e-d2e5-45fb-807b-dc0ebf625cbd' date '11/29/2014' time '09:49:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.8' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '6fb8ce02-0f34-48a1-88f8-13518a567990' date '11/29/2014' time '09:07:49' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.7' message 'Issue #2: get tests passing?' id '7a39f9cf-f346-443b-85bb-df06c8999146' date '11/26/2014' time '22:02:56' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.6' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id '33b9790d-0fe6-448d-b307-2849898f89dc' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.5' message 'Issue #2: remove the GemServerStarter classes .... refactor start logic to send startGems, restartGems and stopGems directory to the GemServer instance ... return GemServer instance when created, so that inline start and stop logic can be done without requiring lookup...' id 'd5daf1e3-d581-4a5c-8279-ecc26e65482f' date '11/26/2014' time '20:00:55' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'fbb1b950-b097-46da-bff4-c30718ff0445' date '11/26/2014' time '19:29:18' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.2' message 'Issue #2: Taking approach where instead of subclassing GemServerStarter, subclass GemServer ... then we can do direct customization of the various bits and pieces that need customization on run ... and pass any interesting state via the script call ... script location etc. can be specified by the subclass ... Added tests for validating the basic api' id '17c9ab9b-23fe-4849-9e8b-ecfed9e3eb62' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Server-dkh.1' message 'Issue #2: rename Application-Server-Tools to GsApplicationTools-Server ... also doing a bit of restructuring' id '0b8a0237-7f35-46cc-978b-3cfa12e1b55b' date '11/26/2014' time '14:27:25' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file