diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st index c3aa2ab..e5121ef 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/port.st @@ -1,3 +1,3 @@ -server compat +local server compat port ^ self defaultPortOrResourceNameList first \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/restart.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/restart.st index 6eeda0f..0b45f42 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/restart.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/restart.st @@ -1,4 +1,4 @@ -server compat +local server compat restart self scriptLogEvent: '-->>Interactive restart ' , self name object: self. self diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st index b849b17..a8e8e51 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/start.st @@ -1,3 +1,3 @@ -server compat +local server compat start self interactiveStartServiceOn: 'instance' transactionMode: #'manualBegin' \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/stop.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/stop.st index 51d15ae..a7f603d 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/stop.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteAbstractExample.class/instance/stop.st @@ -1,4 +1,4 @@ -server compat +local server compat stop self scriptLogEvent: '-->>Interactive stop ' , self name object: self. self basicServerProcess diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json index bce312e..4f41b7c 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json @@ -7,7 +7,7 @@ "gemServerName" : "dkh 12/23/2014 13:28", "runTest:client:task:" : "dkh 01/01/2015 11:17", "scheduledTaskList" : "dkh 12/26/2014 18:17", - "setUp" : "dkh 12/26/2014 14:47", + "setUp" : "dkh 01/09/2015 17:20", "startGems:" : "dkh 12/23/2014 13:04", "stopGems:" : "dkh 12/23/2014 15:53", "taskList100" : "dkh 01/02/2015 09:20", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerParallelProcessingExampleTests.class/properties.json index f325355..925f542 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" : "dkh 12/30/2014 12:46", + "commentStamp" : "", "instvars" : [ ], "name" : "GemServerRemoteServerParallelProcessingExampleTests", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerSerialProcessingExampleTests.class/properties.json index a4dff48..7a4abf2 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" : "dkh 12/30/2014 12:46", + "commentStamp" : "", "instvars" : [ ], "name" : "GemServerRemoteServerSerialProcessingExampleTests", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskParallelProcessingExample.class/properties.json index 5426c22..0732c1c 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" : "dkh 12/31/2014 20:50", + "commentStamp" : "", "instvars" : [ ], "name" : "GemServerRemoteTaskParallelProcessingExample", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteTaskSerialProcessingExample.class/properties.json index f28c44c..134cccb 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" : "dkh 12/31/2014 20:51", + "commentStamp" : "", "instvars" : [ ], "name" : "GemServerRemoteTaskSerialProcessingExample", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json index e925709..ca81865 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "gemServerName" : "dkh 01/02/2015 11:10", "runTest:" : "dkh 01/02/2015 11:45", - "setUp" : "dkh 01/02/2015 14:45", + "setUp" : "dkh 01/09/2015 17:20", "startGems:" : "dkh 01/02/2015 11:11", "stopGems:" : "dkh 01/02/2015 11:11", "tearDown" : "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 808b79f..3659cba 100644 --- a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version +++ b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry..st new file mode 100644 index 0000000..bccfe4c --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry..st @@ -0,0 +1,3 @@ +accessing +basicTransactionReentry: aBlock + basicTransactionReentry value: aBlock \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry.st new file mode 100644 index 0000000..f904cfa --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/basicTransactionReentry.st @@ -0,0 +1,5 @@ +accessing +basicTransactionReentry + basicTransactionReentry value + ifNil: [ basicTransactionReentry value: self reentryAllowed ]. + ^ basicTransactionReentry value \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/doBasicTransaction..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/doBasicTransaction..st index 7e9b7c3..e18b0ab 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/doBasicTransaction..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/doBasicTransaction..st @@ -1,6 +1,6 @@ transactions-support doBasicTransaction: aBlock - "I do an unconditional commit. + "I do an unconditional commit and I am not reentrant If running in manual transaction mode, the system will be outside of transaction upon returning. Return true, if the transaction completed without conflicts. @@ -9,14 +9,15 @@ doBasicTransaction: aBlock self transactionMutex critical: [ - | commitResult | + | commitResult oldValue | + self basicTransactionReentry value: 'doBasicTransaction:'. "throw error upon reentry" + oldValue := self basicTransactionReentry. [ - System inTransaction - ifTrue: [ aBlock value ] - ifFalse: [ - self doBeginTransaction. - aBlock value ] ] + self basicTransactionReentry: self reentryDisallowed. + self doBeginTransaction. + aBlock value ] ensure: [ "workaround for Bug 42963: ensure: block executed twice (don't return from ensure: block)" - commitResult := self doCommitTransaction ]. + commitResult := self doCommitTransaction. + self basicTransactionReentry: oldValue ]. ^ commitResult ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st index c1262e6..2964623 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/initialize.st @@ -8,4 +8,5 @@ initialize transactionMode := #'manualBegin'. enableCreateContinuations := true. basicServerProcess := TransientValue value: nil. + basicTransactionReentry := TransientStackValue value: nil. self initCrashLog \ 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 3471748..c21194c 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 \ No newline at end of file + ^self serverClass isRunning diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/logControlEvent..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/logControlEvent..st index 915f9fe..f85327f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/logControlEvent..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/logControlEvent..st @@ -1,3 +1,7 @@ private logControlEvent: label - self doTransaction: [ (ObjectLogEntry info: label object: self) addToLog ] \ No newline at end of file + | eventBlock | + eventBlock := [ (ObjectLogEntry info: label object: self) addToLog ]. + System inTransaction + ifTrue: [ eventBlock value ] + ifFalse: [ self doTransaction: eventBlock ] \ 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 4a16061..5dfd59f 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 \ No newline at end of file + ^name diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryAllowed.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryAllowed.st new file mode 100644 index 0000000..0ba033a --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryAllowed.st @@ -0,0 +1,3 @@ +private +reentryAllowed + ^ [ :methodName | ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryDisallowed.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryDisallowed.st new file mode 100644 index 0000000..97d5a7c --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/reentryDisallowed.st @@ -0,0 +1,3 @@ +private +reentryDisallowed + ^ [ :methodName | self error: methodName , ' is not re-entrant' ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptLogEvent.object..st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptLogEvent.object..st index 915c0b8..38072bf 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptLogEvent.object..st +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/scriptLogEvent.object..st @@ -1,8 +1,12 @@ private scriptLogEvent: label object: anObject - "object log and transcript entries wanted" + "object log" + | eventBlock | Transcript cr; show: 'scriptLogEvent: ' , label printString. - self doTransaction: [ (ObjectLogEntry info: label object: anObject) addToLog ] \ No newline at end of file + eventBlock := [ (ObjectLogEntry info: label object: anObject) addToLog ]. + System inTransaction + ifTrue: [ eventBlock value ] + ifFalse: [ self doTransaction: eventBlock ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/instance/start.st b/repository/GsApplicationTools-Server.package/GemServer.class/instance/start.st new file mode 100644 index 0000000..f8872d0 --- /dev/null +++ b/repository/GsApplicationTools-Server.package/GemServer.class/instance/start.st @@ -0,0 +1,3 @@ +local server compat +start + self interactiveStartServiceOn: self portOrResourceNameList first \ No newline at end of file diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json index f6509cd..638a0fc 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Server.package/GemServer.class/methodProperties.json @@ -18,6 +18,8 @@ "basicServerOn:" : "dkh 01/03/2015 15:54", "basicServerProcess" : "dkh 01/02/2015 17:13", "basicServerProcess:" : "dkh 01/02/2015 17:13", + "basicTransactionReentry" : "dkh 01/09/2015 14:20", + "basicTransactionReentry:" : "dkh 01/09/2015 13:16", "bounceServerAfterSetOrClearBreakpoints:" : "dkh 12/09/2014 14:12", "bounceServerForBreakpointHandling" : "dkh 12/10/2014 14:48", "clearAllBreakpoints:" : "dkh 12/07/2014 18:24", @@ -26,7 +28,7 @@ "defaultPortOrResourceNameList" : "dkh 01/06/2015 15:21", "defaultScriptBinDirPath" : "dkh 11/29/2014 20:08", "doAbortTransaction" : "dkh 12/22/2014 11:24", - "doBasicTransaction:" : "dkh 12/30/2014 07:19", + "doBasicTransaction:" : "dkh 01/09/2015 13:19", "doBeginTransaction" : "dkh 12/22/2014 11:24", "doCommitTransaction" : "dkh 12/22/2014 11:24", "doInteractiveModePass:" : "dkh 12/31/2014 21:21", @@ -74,14 +76,14 @@ "gemServerTransaction:onConflict:" : "dkh 12/30/2014 16:56", "handleGemServerException:" : "dkh 12/30/2014 13:59", "initCrashLog" : "dkh 12/25/2014 08:06", - "initialize" : "dkh 01/06/2015 15:28", + "initialize" : "dkh 01/09/2015 14:21", "interactiveMode" : "dkh 12/22/2014 12:55", "interactiveMode:" : "dkh 12/22/2014 12:57", "interactiveStartServiceOn:" : "dkh 01/06/2015 15:51", "interactiveStartServiceOn:transactionMode:" : "dkh 01/06/2015 15:50", "isRunning" : "SebastianHeidbrink 11/02/2014 15:00", "isValidName:" : "dkh 11/26/2014 18:31", - "logControlEvent:" : "dkh 12/30/2014 07:24", + "logControlEvent:" : "dkh 01/09/2015 17:16", "logDebug:" : "dkh 12/07/2014 10:09", "logInfo:" : "dkh 12/07/2014 10:09", "logStack:titled:" : "dkh 12/27/2014 12:22", @@ -94,11 +96,13 @@ "ports" : "dkh 01/07/2015 10:02", "ports:" : "dkh 01/07/2015 10:02", "recordGemPid:" : "dkh 12/04/2014 06:56", + "reentryAllowed" : "dkh 01/09/2015 13:12", + "reentryDisallowed" : "dkh 01/09/2015 13:11", "register" : "dkh 01/06/2015 13:39", "restartGems" : "dkh 12/06/2014 13:04", "saveContinuationFor:titled:inTransactionDo:" : "dkh 12/30/2014 07:25", "scriptBinDirPath" : "dkh 11/29/2014 09:44", - "scriptLogEvent:object:" : "dkh 12/30/2014 07:25", + "scriptLogEvent:object:" : "dkh 01/09/2015 17:18", "scriptServicePrologOn:" : "dkh 01/03/2015 22:10", "scriptStartServiceOn:" : "dkh 01/06/2015 15:50", "serverClass" : "dkh 11/29/2014 14:08", @@ -112,6 +116,7 @@ "setOrClearBreakpoint:" : "dkh 12/07/2014 18:24", "setStatmonCacheName" : "dkh 11/30/2014 08:45", "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", "startScriptName" : "dkh 12/04/2014 08:02", diff --git a/repository/GsApplicationTools-Server.package/GemServer.class/properties.json b/repository/GsApplicationTools-Server.package/GemServer.class/properties.json index 49f20ad..a11e23f 100644 --- a/repository/GsApplicationTools-Server.package/GemServer.class/properties.json +++ b/repository/GsApplicationTools-Server.package/GemServer.class/properties.json @@ -9,7 +9,6 @@ "name", "serverClassAssoc", "serverInstance", - "ports", "portOrResourceNameList", "enableRemoteBreakpoints", "transactionMode", @@ -17,7 +16,8 @@ "crashLog", "enableCreateContinuations", "gemServerExceptionSet", - "basicServerProcess" ], + "basicServerProcess", + "basicTransactionReentry" ], "name" : "GemServer", "pools" : [ ], diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/block..st index ef9234f..230242c 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 \ No newline at end of file + block := anObject diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess..st index cb24c90..b7ef69e 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 \ No newline at end of file + nativeProcess := anObject diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeProcess.st index 9547f1b..b092267 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 \ No newline at end of file + ^nativeProcess diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/nativeSemaphore..st index 193362a..dcf82d8 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 \ No newline at end of file + nativeSemaphore := anObject diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess..st index 7da238c..205bd2f 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 \ No newline at end of file + portableProcess := anObject diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableProcess.st index 7aafd10..5d21f5b 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 \ No newline at end of file + ^portableProcess diff --git a/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st b/repository/GsApplicationTools-Server.package/GemServerLauncher.class/instance/portableSemaphore..st index 53a47f9..63fb535 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 \ No newline at end of file + portableSemaphore := anObject diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNamed..st index ee2a9cc..216e547 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 \ No newline at end of file + ^self singleton serverNamed: aString diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/gemServerNames.st index 359ed0e..91f3c1d 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 \ No newline at end of file + ^self singleton names asSortedCollection diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/new.st index 0847eda..0859b53 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 \ No newline at end of file + ^self singleton diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/removeGemServerNamed..st index b1d3daa..3983766 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 cc8852d..ae343fb 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 \ No newline at end of file + ^self singleton servers diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/serversOnPort..st index 9399657..c6a16a4 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 \ No newline at end of file + ^self singleton serversOnPort: aPortNumber diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/class/singleton.st index 9931db8..a58e22b 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 \ No newline at end of file + ^Singleton diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/addServer..st index 6ed1261..eb29a0e 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 \ No newline at end of file + self servers add: aServer diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/names.st index ad8a31c..65f172e 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]. \ No newline at end of file + ^self servers collect:[:each | each name]. diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/removeServer..st index feec86b..06a27d4 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] \ No newline at end of file + server == nil ifFalse:[ servers remove: server] diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverClasses.st index f3689ef..1b49ec7 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]. \ No newline at end of file + ^self servers collect:[:each | each serverClass]. diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serverNamed..st index ec10bf8..deca720 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] \ No newline at end of file + ^self servers detect:[:each | each name = aString] ifNone:[nil] diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/servers.st index d6a7961..e26caf2 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 \ No newline at end of file + ^servers diff --git a/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st b/repository/GsApplicationTools-Server.package/GemServerRegistry.class/instance/serversOfClass..st index e13a104..f004827 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] \ No newline at end of file + ^servers select: [:each | each serverClass name = aClassName] diff --git a/repository/GsApplicationTools-Server.package/monticello.meta/version b/repository/GsApplicationTools-Server.package/monticello.meta/version index 7ddb918..db64740 100644 --- a/repository/GsApplicationTools-Server.package/monticello.meta/version +++ b/repository/GsApplicationTools-Server.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer..st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer..st new file mode 100644 index 0000000..d0d52eb --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer..st @@ -0,0 +1,5 @@ +accessing +interactiveRemoteServer: aBool + "self interactiveRemoteServer: true" + + InteractiveRemoteServer := aBool \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer.st new file mode 100644 index 0000000..3d07308 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/interactiveRemoteServer.st @@ -0,0 +1,4 @@ +accessing +interactiveRemoteServer + InteractiveRemoteServer ifNil: [ InteractiveRemoteServer := false ]. + ^ InteractiveRemoteServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/shouldInheritSelectors.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/shouldInheritSelectors.st new file mode 100644 index 0000000..7d2bcff --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/shouldInheritSelectors.st @@ -0,0 +1,5 @@ +Testing +shouldInheritSelectors + "I should inherit from an Abstract superclass but not from a concrete one by default, unless I have no testSelectors in which case I must be expecting to inherit them from my superclass. If a test case with selectors wants to inherit selectors from a concrete superclass, override this to true in that subclass." + + ^ true \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer..st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer..st new file mode 100644 index 0000000..b9197f6 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer..st @@ -0,0 +1,5 @@ +accessing +staticRemoteServer: aBool + "self staticRemoteServer: true" + + StaticRemoteServer := aBool \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer.st new file mode 100644 index 0000000..8352d38 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/class/staticRemoteServer.st @@ -0,0 +1,4 @@ +accessing +staticRemoteServer + StaticRemoteServer ifNil: [ StaticRemoteServer := false ]. + ^ StaticRemoteServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/createGemServer.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/createGemServer.st new file mode 100644 index 0000000..5af7247 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/createGemServer.st @@ -0,0 +1,7 @@ +private +createGemServer + | gemServer | + gemServer := super createGemServer. + self interactiveRemoteServer + ifTrue: [ gemServer interactiveMode: true ]. + ^ gemServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/interactiveRemoteServer.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/interactiveRemoteServer.st new file mode 100644 index 0000000..84dcc7b --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/interactiveRemoteServer.st @@ -0,0 +1,3 @@ +private +interactiveRemoteServer + ^ self class interactiveRemoteServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/startGems..st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/startGems..st index 95a1c5c..33c4cb8 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/startGems..st +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/startGems..st @@ -1,3 +1,9 @@ private startGems: gemServer - gemServer startGems \ No newline at end of file + self staticRemoteServer + ifTrue: [ + System commitTransaction. + self + notify: + 'evaluate on server: abort; /home/gemserver/example --start=Test_Server' ] + ifFalse: [ gemServer startGems ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/staticRemoteServer.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/staticRemoteServer.st new file mode 100644 index 0000000..1a24dcc --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/staticRemoteServer.st @@ -0,0 +1,3 @@ +private +staticRemoteServer + ^ self class staticRemoteServer \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/stopGems..st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/stopGems..st index ba64387..e82abc1 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/stopGems..st +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/stopGems..st @@ -1,4 +1,6 @@ private stopGems: gemServer - gemServer stopGems. - (Delay forSeconds: 3) wait \ No newline at end of file + self staticRemoteServer + ifFalse: [ + gemServer stopGems. + (Delay forSeconds: 3) wait ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st index b7fc4a9..7e24f11 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/instance/testForceBeginTransaction.st @@ -1,7 +1,7 @@ tests testForceBeginTransaction | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testForceBeginTransaction' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json index 51c7382..08e6980 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/methodProperties.json @@ -1,7 +1,14 @@ { "class" : { - }, + "interactiveRemoteServer" : "dkh 01/09/2015 14:02", + "interactiveRemoteServer:" : "dkh 01/09/2015 14:02", + "shouldInheritSelectors" : "dkh 01/09/2015 16:26", + "staticRemoteServer" : "dkh 01/09/2015 14:02", + "staticRemoteServer:" : "dkh 01/09/2015 14:02" }, "instance" : { - "startGems:" : "dkh 12/22/2014 11:18", - "stopGems:" : "dkh 12/22/2014 11:18", - "testForceBeginTransaction" : "dkh 01/06/2015 13:43" } } + "createGemServer" : "dkh 01/09/2015 14:05", + "interactiveRemoteServer" : "dkh 01/09/2015 14:02", + "startGems:" : "dkh 01/09/2015 14:08", + "staticRemoteServer" : "dkh 01/09/2015 14:03", + "stopGems:" : "dkh 01/09/2015 14:08", + "testForceBeginTransaction" : "dkh 01/09/2015 14:08" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/properties.json b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/properties.json index 5d27eb6..577d7b7 100644 --- a/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/properties.json +++ b/repository/GsApplicationTools-Test.package/GemServerRemoteVMTests.class/properties.json @@ -3,7 +3,8 @@ "classinstvars" : [ ], "classvars" : [ - ], + "InteractiveRemoteServer", + "StaticRemoteServer" ], "commentStamp" : "", "instvars" : [ ], diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/persistentRoot.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/persistentRoot.st new file mode 100644 index 0000000..2cd0da7 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/persistentRoot.st @@ -0,0 +1,4 @@ +accessing +persistentRoot + PersistentRoot ifNil: [ PersistentRoot := Dictionary new ]. + ^ PersistentRoot \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/resetPersistentRoot.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/resetPersistentRoot.st new file mode 100644 index 0000000..5842bfc --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/class/resetPersistentRoot.st @@ -0,0 +1,3 @@ +accessing +resetPersistentRoot + PersistentRoot := nil \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/basicServerOn..st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/basicServerOn..st index 29b77d6..7dc3bd8 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/basicServerOn..st +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/basicServerOn..st @@ -51,7 +51,7 @@ basicServerOn: port do: [ :ex | "Handler for interactive Errors ... record for testing purposes" self - doTransaction: [ + interactiveErrorCommit: [ (forceBeginTransaction or: [ forceInternalServerError ]) ifTrue: [ "acknowledge event handled" diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/handleAction.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/handleAction.st index 3b0f4cb..f1f37f0 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/handleAction.st +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/handleAction.st @@ -12,8 +12,12 @@ handleAction ifTrue: [ ^ self performAdd ]. actionSymbol == #'error' ifTrue: [ ^ self performError ]. + actionSymbol == #'reentrantTransactionError' + ifTrue: [ ^ self performReentrantTransactionError ]. actionSymbol == #'halt' ifTrue: [ ^ self performHalt ]. actionSymbol == #'serverStarted' - ifTrue: [ ^ self performServerStarted ] ] + ifTrue: [ ^ self performServerStarted ]. + actionSymbol == #'transaction' + ifTrue: [ ^ self performTransaction ] ] ensure: [ actionSymbol := nil ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/interactiveErrorCommit..st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/interactiveErrorCommit..st new file mode 100644 index 0000000..65ab6c3 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/interactiveErrorCommit..st @@ -0,0 +1,9 @@ +private +interactiveErrorCommit: aBlock + [ + System inTransaction + ifTrue: [ aBlock value ] + ifFalse: [ + System beginTransaction. + aBlock value ] ] + ensure: [ System commitTransaction ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performReentrantTransactionError.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performReentrantTransactionError.st new file mode 100644 index 0000000..81e4fb0 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performReentrantTransactionError.st @@ -0,0 +1,6 @@ +actions +performReentrantTransactionError + self + gemServerTransaction: [ + actionResult := #'RESUMED????'. + self logAction: #'performReentrantTransactionError' ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performTransaction.st b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performTransaction.st new file mode 100644 index 0000000..eb75eee --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/instance/performTransaction.st @@ -0,0 +1,5 @@ +actions +performTransaction + actionResult := messageObject + 1. + self class persistentRoot at: #'performTransaction' put: actionResult. + self logAction: #'performTransaction' \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json index 31b0a2f..2456943 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/methodProperties.json @@ -1,17 +1,20 @@ { "class" : { + "persistentRoot" : "dkh 01/12/2015 08:25", + "resetPersistentRoot" : "dkh 01/12/2015 08:26", "serverClass" : "dkh 12/21/2014 15:19" }, "instance" : { "actionCount" : "dkh 12/21/2014 15:10", "actionException" : "dkh 12/22/2014 15:38", "actionResult" : "dkh 12/21/2014 15:59", "actionSymbol" : "dkh 12/21/2014 16:00", - "basicServerOn:" : "dkh 01/02/2015 17:48", + "basicServerOn:" : "dkh 01/09/2015 15:47", "forceBeginTransaction" : "dkh 12/22/2014 16:41", "forceInternalServerError" : "dkh 12/22/2014 16:41", - "handleAction" : "dkh 12/22/2014 17:07", + "handleAction" : "dkh 01/12/2015 08:31", "handleBeforeUnwind:" : "dkh 12/30/2014 12:21", "initialize" : "dkh 01/02/2015 17:21", + "interactiveErrorCommit:" : "dkh 01/09/2015 15:47", "logAction:" : "dkh 12/22/2014 16:58", "logEvent:object:" : "dkh 12/21/2014 14:51", "logStack:titled:" : "dkh 12/31/2014 13:50", @@ -25,7 +28,9 @@ "performMessage:" : "dkh 12/21/2014 16:21", "performMessage:with:" : "dkh 12/22/2014 16:30", "performNoop" : "dkh 12/22/2014 16:17", + "performReentrantTransactionError" : "dkh 01/09/2015 15:55", "performServerStarted" : "dkh 12/22/2014 16:17", + "performTransaction" : "dkh 01/12/2015 08:26", "port" : "dkh 01/06/2015 16:05", "stop" : "dkh 01/02/2015 17:16", "unitTestStartServiceOn:" : "dkh 01/06/2015 15:50" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/properties.json b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/properties.json index 3577f5e..ff1d605 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTestServer.class/properties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTestServer.class/properties.json @@ -3,7 +3,7 @@ "classinstvars" : [ ], "classvars" : [ - ], + "PersistentRoot" ], "commentStamp" : "", "instvars" : [ "messageCount", diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/createGemServer.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/createGemServer.st new file mode 100644 index 0000000..1b276b9 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/createGemServer.st @@ -0,0 +1,3 @@ +private +createGemServer + ^ GemServer gemServerNamed: self gemServerName \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/setUp.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/setUp.st index b9533ca..0537543 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/setUp.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/setUp.st @@ -1,5 +1,7 @@ running setUp + "(GemServer gemServerNamed: 'Test_Server') stopGems" + super setUp. (GemServerTestServer register: self gemServerName) stopGems. System commitTransaction \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st index b400e0c..ac81b79 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testError.st @@ -1,7 +1,7 @@ tests testError | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testERROR' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st index 9093c75..9ec6e8f 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testForceInternalServerError.st @@ -1,7 +1,7 @@ tests testForceInternalServerError | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testForceInternalServerError' object: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st index cf9ad0b..fe370ef 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testHalt.st @@ -1,7 +1,7 @@ tests testHalt | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testHalt' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st index f0ce503..0a3331e 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testPerformMessage.st @@ -1,7 +1,7 @@ tests testPerformMessage | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testPerformMessage' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testReentrantTransactionError.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testReentrantTransactionError.st new file mode 100644 index 0000000..c04ddcc --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testReentrantTransactionError.st @@ -0,0 +1,26 @@ +tests +testReentrantTransactionError + | gemServer | + gemServer := self createGemServer. + gemServer + scriptLogEvent: '---->testReentrantTransactionError' + object: gemServer. + [ + self startGems: gemServer. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == #'started'. + gemServer performMessage: #'reentrantTransactionError'. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == self errorLoggedSymbol. + self assert: (gemServer actionException isKindOf: Error). + gemServer performMessage: #'add' with: 41. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == 42. + gemServer performMessage: #'reentrantTransactionError'. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == self errorLoggedSymbol. + self assert: (gemServer actionException isKindOf: Error). + gemServer performMessage: #'add' with: 41. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == 42 ] + ensure: [ self stopGems: gemServer ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st index c949519..d1e1a89 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testStartServer.st @@ -1,7 +1,7 @@ tests testStartServer | gemServer | - gemServer := GemServer gemServerNamed: self gemServerName. + gemServer := self createGemServer. gemServer scriptLogEvent: '---->testStartServer' object: gemServer. [ self startGems: gemServer. diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testTransaction.st b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testTransaction.st new file mode 100644 index 0000000..0ce30c3 --- /dev/null +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/instance/testTransaction.st @@ -0,0 +1,20 @@ +tests +testTransaction + | gemServer | + gemServer := self createGemServer. + gemServer class resetPersistentRoot. + System commitTransaction. + gemServer scriptLogEvent: '---->testTransaction' object: gemServer. + [ + self startGems: gemServer. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == #'started'. + gemServer performMessage: #'transaction' with: 41. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == 42. + self assert: (gemServer class persistentRoot at: #'performTransaction') = 42. + gemServer performMessage: #'transaction' with: 45. + self waitForActionResult: gemServer. + self assert: gemServer actionResult == 46. + self assert: (gemServer class persistentRoot at: #'performTransaction') = 46 ] + ensure: [ self stopGems: gemServer ] \ No newline at end of file diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json b/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json index e89d0a2..369af2b 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/methodProperties.json @@ -2,16 +2,19 @@ "class" : { "isAbstract" : "dkh 12/22/2014 12:26" }, "instance" : { + "createGemServer" : "dkh 01/09/2015 14:03", "errorLoggedSymbol" : "dkh 12/22/2014 15:45", "gemServerName" : "dkh 12/22/2014 11:11", "haltSymbol" : "dkh 12/22/2014 15:43", "internalServerErrorSymbol" : "dkh 12/22/2014 15:18", - "setUp" : "dkh 12/22/2014 14:54", + "setUp" : "dkh 01/09/2015 17:21", "startGems:" : "dkh 12/22/2014 11:16", "stopGems:" : "dkh 12/22/2014 11:16", - "testError" : "dkh 01/06/2015 13:43", - "testForceInternalServerError" : "dkh 01/06/2015 13:43", - "testHalt" : "dkh 01/06/2015 13:43", - "testPerformMessage" : "dkh 01/06/2015 13:43", - "testStartServer" : "dkh 01/06/2015 13:43", + "testError" : "dkh 01/09/2015 14:03", + "testForceInternalServerError" : "dkh 01/09/2015 14:04", + "testHalt" : "dkh 01/09/2015 14:04", + "testPerformMessage" : "dkh 01/09/2015 14:04", + "testReentrantTransactionError" : "dkh 01/09/2015 17:39", + "testStartServer" : "dkh 01/09/2015 14:04", + "testTransaction" : "dkh 01/12/2015 08:29", "waitForActionResult:" : "dkh 12/22/2014 12:30" } } diff --git a/repository/GsApplicationTools-Test.package/GemServerTests.class/properties.json b/repository/GsApplicationTools-Test.package/GemServerTests.class/properties.json index 8f1fae2..99b9d86 100644 --- a/repository/GsApplicationTools-Test.package/GemServerTests.class/properties.json +++ b/repository/GsApplicationTools-Test.package/GemServerTests.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "dkh 12/22/2014 11:11", + "commentStamp" : "", "instvars" : [ ], "name" : "GemServerTests", diff --git a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/useEventLog..st b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/useEventLog..st index e6e2303..4481101 100644 --- a/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/useEventLog..st +++ b/repository/GsApplicationTools-Test.package/MockGemServer.class/instance/useEventLog..st @@ -1,4 +1,4 @@ accessing useEventLog: anObject - useEventLog := anObject \ No newline at end of file + useEventLog := anObject diff --git a/repository/GsApplicationTools-Test.package/monticello.meta/version b/repository/GsApplicationTools-Test.package/monticello.meta/version index 6853c9d..ab2eff9 100644 --- a/repository/GsApplicationTools-Test.package/monticello.meta/version +++ b/repository/GsApplicationTools-Test.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-Test-dkh.36' message 'more work on replace use of ports with portOrResourceNameList' id '075c0c92-1b5a-423c-9b3c-76acd5457bee' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.35' 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 'a9fb05a8-f86b-4f88-8834-c1e49cf2ff68' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.34' message 'address some test errors' id 'cb7f36cd-1cb5-4ac1-b642-549cb656f156' date '01/06/2015' time '14:10:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.33' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'c234943d-547e-4e27-907e-84c8c47f56c9' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.32' message 'Issue #10: a bit more streamlining of the gemserver api' id '7fb5e679-456f-4d3b-8104-4c54971d6268' date '01/03/2015' time '20:20:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.31' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '35dbfd93-b887-4d92-b610-071d3f325f96' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.30' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2ead4e7f-6196-42f0-9a52-52b70778efb0' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.29' message 'Issue #10: address testForceInternalServerError and testForceInternalServerError failures' id 'ebec0e7b-f540-40c5-8ac6-097109deb940' date '12/31/2014' time '13:53:52' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.28' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id '3397c009-e44d-4e72-b55d-5d2de0062365' date '12/31/2014' time '13:02:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.27' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '402c8e0d-6756-460c-a0dc-30c6aa70eec3' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.26' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '47acc869-f34a-40f8-bd68-d9453989ad2f' date '12/30/2014' time '07:34:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.25' message 'Issue #10: should finally have GemServerInteractiveVMTests>>setUp back in shape...' id '3367f19f-6061-42a8-a9dc-c246011b02b6' date '12/28/2014' time '09:01:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.24' 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 '097d8235-4f01-4c74-9c2b-e9c3294337f1' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.23' message 'Issue #10: change baseline to require GLASS1...clean up sent but not implemented' id '1d058570-d537-408d-a4ff-1640217c0bef' date '12/26/2014' time '12:05:26' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.22' 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 '71db5790-d413-46fe-ad95-792ac58b66b8' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.21' 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 'a777493a-51de-40a4-b7d3-5019d2252ddd' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.20' 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 '0eb302df-aa08-46ae-9223-72e0fd4702b4' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.19' 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 '1e4bc30f-7578-42de-b931-ec41009543a3' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.18' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '9b929f60-3f93-44fd-9236-de1115259c8f' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.17' message 'Issue #10: 2.4.x portability ...' id '6932f2db-e550-462a-99f1-8c76da8dab69' date '12/22/2014' time '10:17:32' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.16' 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 '6bae3b41-f9b1-4f6a-8854-a156711ceb74' date '12/21/2014' time '19:15:35' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.15' message 'fix test error' id '0cfee396-6e70-42c4-917b-b4d4aac80330' date '12/13/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.14' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '5c266914-27f6-4eb4-9a76-cad155e67aa4' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.13' 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 'cdf57f8b-1f65-4b96-a58c-2de0c6f252a9' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.12' message 'Issue #2: fix mistake in test' id '3a07e302-7a07-4ece-9768-114ba57f4e40' date '11/29/2014' time '18:22:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.11' message 'Issue #2: get the GemServerRemoteVMTests>>testStart test to function ' id '62ad1a30-c7a6-4907-baee-542a534c73a7' date '11/29/2014' time '18:16:14' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.10' message 'Issue #2: add remote vm test' id '73290117-3cfa-4112-b3fb-d81034b00ae6' date '11/29/2014' time '15:07:48' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.9' message 'Issue #2: adjustments for testing' id 'f75b38ed-0717-4895-9995-c83b76e6341f' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.8' 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 'b6f523ee-5da7-4b19-8e2e-8ce1198d471a' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.7' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '74620772-ec63-42b5-b64c-e677f6122007' date '11/29/2014' time '11:42:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.6' message 'Issue #2: get ready to run scripts ... add test' id 'b79e09e2-62a0-4f6b-8a4b-b85fcc9b9e17' date '11/29/2014' time '09:49:22' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.5' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '2fd99139-bbe8-4039-a3e7-4c60094a002c' date '11/29/2014' time '09:07:50' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.4' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id 'e5a5ac07-e90e-4af7-936b-b2568f6f9082' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'aed37ec0-331f-45ff-af57-05edc4205308' date '11/26/2014' time '19:29:19' author 'dkh' ancestors ((name 'GsApplicationTools-Test-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 '373d6136-05ff-4c01-a96f-ad233a82912e' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.1' message 'Issue #2: add a tests package ... stub of test' id '2760d97c-bfa7-4373-9bb8-60c5da12f177' date '11/26/2014' time '14:28:11' 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 ()) \ No newline at end of file +(name 'GsApplicationTools-Test-dkh.41' message 'Issue #16: add a transactional test case ... ' id 'dab44f5a-f634-4bb0-8d9e-9a14e52c074f' date '01/12/2015' time '08:38:39' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.40' 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 'a4ef9321-75f6-4751-bd05-d75d6561ae06' date '01/09/2015' time '17:23:05' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.39' message 'Issue #16: checkpoint GemServerTests>>testReentrantTransactionError plus test cleanup ' id 'dcf59e12-a786-4d6a-8a46-1d26d6702a94' date '01/09/2015' time '16:35:18' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.38' message 'Issue #16: avoid reentering transactionDo: in GemServerInteractiveVMTests>>testError ... special case' id 'a2951444-a52d-407b-b6d3-6939282314f9' date '01/09/2015' time '15:48:52' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.37' 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 '90c12089-4348-4f7c-96f7-0d7dac03242b' date '01/09/2015' time '14:25:12' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.36' message 'more work on replace use of ports with portOrResourceNameList' id '075c0c92-1b5a-423c-9b3c-76acd5457bee' date '01/06/2015' time '16:18:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.35' 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 'a9fb05a8-f86b-4f88-8834-c1e49cf2ff68' date '01/06/2015' time '15:39:57' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.34' message 'address some test errors' id 'cb7f36cd-1cb5-4ac1-b642-549cb656f156' date '01/06/2015' time '14:10:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.33' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id 'c234943d-547e-4e27-907e-84c8c47f56c9' date '01/06/2015' time '13:45:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.32' message 'Issue #10: a bit more streamlining of the gemserver api' id '7fb5e679-456f-4d3b-8104-4c54971d6268' date '01/03/2015' time '20:20:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.31' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '35dbfd93-b887-4d92-b610-071d3f325f96' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.30' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2ead4e7f-6196-42f0-9a52-52b70778efb0' date '01/02/2015' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.29' message 'Issue #10: address testForceInternalServerError and testForceInternalServerError failures' id 'ebec0e7b-f540-40c5-8ac6-097109deb940' date '12/31/2014' time '13:53:52' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.28' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id '3397c009-e44d-4e72-b55d-5d2de0062365' date '12/31/2014' time '13:02:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.27' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '402c8e0d-6756-460c-a0dc-30c6aa70eec3' date '12/30/2014' time '12:27:10' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.26' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '47acc869-f34a-40f8-bd68-d9453989ad2f' date '12/30/2014' time '07:34:41' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.25' message 'Issue #10: should finally have GemServerInteractiveVMTests>>setUp back in shape...' id '3367f19f-6061-42a8-a9dc-c246011b02b6' date '12/28/2014' time '09:01:03' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.24' 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 '097d8235-4f01-4c74-9c2b-e9c3294337f1' date '12/28/2014' time '08:38:51' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.23' message 'Issue #10: change baseline to require GLASS1...clean up sent but not implemented' id '1d058570-d537-408d-a4ff-1640217c0bef' date '12/26/2014' time '12:05:26' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.22' 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 '71db5790-d413-46fe-ad95-792ac58b66b8' date '12/23/2014' time '12:32:01' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.21' 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 'a777493a-51de-40a4-b7d3-5019d2252ddd' date '12/23/2014' time '11:19:30' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.20' 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 '0eb302df-aa08-46ae-9223-72e0fd4702b4' date '12/22/2014' time '17:14:06' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.19' 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 '1e4bc30f-7578-42de-b931-ec41009543a3' date '12/22/2014' time '14:01:49' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.18' message 'Issue #10: gearing up to work through interactive debugging transaction support' id '9b929f60-3f93-44fd-9236-de1115259c8f' date '12/22/2014' time '11:49:18' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.17' message 'Issue #10: 2.4.x portability ...' id '6932f2db-e550-462a-99f1-8c76da8dab69' date '12/22/2014' time '10:17:32' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.16' 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 '6bae3b41-f9b1-4f6a-8854-a156711ceb74' date '12/21/2014' time '19:15:35' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.15' message 'fix test error' id '0cfee396-6e70-42c4-917b-b4d4aac80330' date '12/13/2014' time '17:38:02' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.14' message 'add statusGems command for GemServer ... returns `ps` for processes associated with the ports' id '5c266914-27f6-4eb4-9a76-cad155e67aa4' date '12/13/2014' time '17:28:11' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.13' 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 'cdf57f8b-1f65-4b96-a58c-2de0c6f252a9' date '12/09/2014' time '16:48:45' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.12' message 'Issue #2: fix mistake in test' id '3a07e302-7a07-4ece-9768-114ba57f4e40' date '11/29/2014' time '18:22:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.11' message 'Issue #2: get the GemServerRemoteVMTests>>testStart test to function ' id '62ad1a30-c7a6-4907-baee-542a534c73a7' date '11/29/2014' time '18:16:14' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.10' message 'Issue #2: add remote vm test' id '73290117-3cfa-4112-b3fb-d81034b00ae6' date '11/29/2014' time '15:07:48' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.9' message 'Issue #2: adjustments for testing' id 'f75b38ed-0717-4895-9995-c83b76e6341f' date '11/29/2014' time '14:48:13' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.8' 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 'b6f523ee-5da7-4b19-8e2e-8ce1198d471a' date '11/29/2014' time '14:24:04' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.7' message 'issue #2: [ci skip] checkpoint .. preparing for first script tests' id '74620772-ec63-42b5-b64c-e677f6122007' date '11/29/2014' time '11:42:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.6' message 'Issue #2: get ready to run scripts ... add test' id 'b79e09e2-62a0-4f6b-8a4b-b85fcc9b9e17' date '11/29/2014' time '09:49:22' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.5' message 'Issue #2: continue move towards GemServer centric design ... with GemServer class>>register:for:on: as the center piece' id '2fd99139-bbe8-4039-a3e7-4c60094a002c' date '11/29/2014' time '09:07:50' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.4' message 'Issue #2: get rid of GemServer portInstance variable ... not really necessary' id 'e5a5ac07-e90e-4af7-936b-b2568f6f9082' date '11/26/2014' time '20:12:20' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.3' message 'Issue #2: incorporated the "server boilerplate" Smalltalk code from startSeaside30_Adaptor ... push a bunch of stuff around ...' id 'aed37ec0-331f-45ff-af57-05edc4205308' date '11/26/2014' time '19:29:19' author 'dkh' ancestors ((name 'GsApplicationTools-Test-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 '373d6136-05ff-4c01-a96f-ad233a82912e' date '11/26/2014' time '17:01:21' author 'dkh' ancestors ((name 'GsApplicationTools-Test-dkh.1' message 'Issue #2: add a tests package ... stub of test' id '2760d97c-bfa7-4373-9bb8-60c5da12f177' date '11/26/2014' time '14:28:11' 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 ()) \ No newline at end of file