Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 10 ... collected changes for GemServer transaction model and tests #11

Merged
merged 192 commits into from Jan 6, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
614d886
Issue #10: bulding supporting methods for top-level application error…
dalehenrich Dec 21, 2014
eb62021
Issue #10: implement GemServerTestServer for running GemServerRemoteV…
dalehenrich Dec 22, 2014
8bd2851
Issue #10: fix a GemStone 2.4.x portability problem
dalehenrich Dec 22, 2014
22718d0
Issue #10: 2.4.x portability ...
dalehenrich Dec 22, 2014
8236a2a
Issue #10: gearing up to work through interactive debugging transacti…
dalehenrich Dec 22, 2014
42b0cbe
Issue #10: internal server error handling ... expanded local and remo…
dalehenrich Dec 22, 2014
71ac275
Issue #10: add GemServerInteractiveVMTests to test interactiveMode of…
dalehenrich Dec 23, 2014
8c515b1
Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError…
dalehenrich Dec 23, 2014
bf64536
Issue #10: beef up GemServer>>doComplexTransaction: to include an on…
dalehenrich Dec 23, 2014
77c3c58
Issue #10: expand gemserver api a bit more ... add simple test for Ge…
dalehenrich Dec 23, 2014
2b64817
Issue #10: added an error task to RemoteTaskExample ...
dalehenrich Dec 23, 2014
b19a463
Issue #10: add some tracing to example server add add HTTP task ..
dalehenrich Dec 24, 2014
1554553
Issue #10: breakpoint, halt and another http example
dalehenrich Dec 24, 2014
821bb2d
Issue #10: a bit more tracing for example server ... found an inProce…
dalehenrich Dec 24, 2014
c24ae2f
Issue #10: a bit more error logging for GemServerRemoteServerExampleT…
dalehenrich Dec 24, 2014
e2f3c59
Issue #10: address the test error....
dalehenrich Dec 24, 2014
d2ada24
Issue #10: remove test error logging ...
dalehenrich Dec 24, 2014
40a0f81
Issue #10: use double dispatching for cutomization of exception handl…
dalehenrich Dec 24, 2014
f1bab34
Issue #10: 3.0 portability for AlmostOutOfMemory
dalehenrich Dec 24, 2014
28c8347
Issue #10: suspicious that AlmostOutOfMemory leaks over to other test…
dalehenrich Dec 24, 2014
5f9bbfd
Issue #10: tweaks for interactive debugging of server ... add 3.2.2 t…
dalehenrich Dec 24, 2014
822a13a
Issue #10: more support for interactive debugging of server in dev en…
dalehenrich Dec 25, 2014
cc2c603
Issue #10: add status task that answers a printed version of server s…
dalehenrich Dec 25, 2014
81a8d73
Issue #10: disable continuation creation until I find the reference t…
dalehenrich Dec 25, 2014
0f4cc5e
Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging
dalehenrich Dec 25, 2014
3a0d4f2
Issue #10: add crashLog to GemServer ... clients can recognize that a…
dalehenrich Dec 25, 2014
79e7a6c
Issue #10: tweak test logging
dalehenrich Dec 25, 2014
5ef034e
Issue #10: wire out the delays and socket calls ...
dalehenrich Dec 25, 2014
f54a541
Issue #10: oops
dalehenrich Dec 25, 2014
f997f50
Issue #10: I think the http socket calls should be okay ... as long a…
dalehenrich Dec 25, 2014
af9bed9
Issue #10: wrap delays with a TransientStackValue
dalehenrich Dec 25, 2014
a01b56b
Issue #10: Delay and persistent blocks do not mix
dalehenrich Dec 25, 2014
b9f401b
Issue #10: bump up wait time...
dalehenrich Dec 26, 2014
9888438
Issue #10: turn off continuations
dalehenrich Dec 26, 2014
41e92b5
Issue #10: wrap proc with TransientStackValue and enable continuation…
dalehenrich Dec 26, 2014
77fc28e
Issue #10: change lineup to be only 3.1+ versions
dalehenrich Dec 26, 2014
f387c05
Issue #10: add GemServer>>enableCreateContinuations and disable conti…
dalehenrich Dec 26, 2014
1a36ddd
Issue #10: now enable continuations for those tests that do not norma…
dalehenrich Dec 26, 2014
ff49001
Issue #10: improve logging of test failure ... introduce task specifi…
dalehenrich Dec 26, 2014
6f0dbaa
Issue #10: need even more failure logging ... jeesh!
dalehenrich Dec 26, 2014
837fd8c
Issue #10: add a tad bit more info to failure logging (actual delay a…
dalehenrich Dec 26, 2014
2f7c076
Issue #10: ... duh! .... make sure that GLASS1 is loaded ...
dalehenrich Dec 26, 2014
b02ee78
Issue #10: change baseline to require GLASS1...clean up sent but not …
dalehenrich Dec 26, 2014
bd0f23e
Issue #10: sigh ... more logging needed as timeInLondon task was inva…
dalehenrich Dec 26, 2014
4db27db
Issue #10: [now that tests are (finally) green again](https://travis-…
dalehenrich Dec 26, 2014
3e17f3f
Issue #10: full lineup again
dalehenrich Dec 26, 2014
6cc528e
Issue #10: move AlmostOutOtMemory, AlmostOutOfStack, and Break except…
dalehenrich Dec 26, 2014
ca067ca
Issue #10: MAJOR REFACTORING ... transaction model A runs out of tran…
dalehenrich Dec 27, 2014
c6bbd52
Issue #10: straighten out interactiveMode operation with respect to e…
dalehenrich Dec 28, 2014
9bd02ac
Issue #10: implement GemServer>>interactiveStartServiceOn:
dalehenrich Dec 28, 2014
039ecda
Issue #10: pull gemServerExceptionSet iv up to GemServer ... interact…
dalehenrich Dec 28, 2014
2973935
Issue #10: should finally have GemServerInteractiveVMTests>>setUp bac…
dalehenrich Dec 28, 2014
fa74b41
Issue #10: start todeDebugging.md document and tweak server code a bi…
dalehenrich Dec 28, 2014
c4480e5
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
10454c9
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
9e9f57e
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
015deb6
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
052eac6
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
d08acc6
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
39cf0e1
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
0971859
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
b6ad564
checkpoint documentation [ci skip]
dalehenrich Dec 28, 2014
2aac54d
[ci skip] docs checkpoint
dalehenrich Dec 29, 2014
ef56800
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
f7e3bf1
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
b83dcf7
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
cfde7af
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
23e64b1
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
605fe7a
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
703117b
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
ce8236d
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
75eb997
Issue #10: restore the exception pass for gemServerHandleErrorExcepti…
dalehenrich Dec 30, 2014
cf97bf0
Issue #10: [ci skip] doc checkpoint
dalehenrich Dec 30, 2014
5cb18fc
Issue #10: exception pass does not belong in gemServerHandleErrorExce…
dalehenrich Dec 30, 2014
5d64f5c
Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTra…
dalehenrich Dec 30, 2014
2cf4ec7
[ci skip] ongoing documentation work
dalehenrich Dec 30, 2014
b5be19a
Issue #10: tweak GemServer>>doTransaction:
dalehenrich Dec 30, 2014
7843cba
Merge branch 'issue_10' of github.com:GsDevKit/gsApplicationTools int…
dalehenrich Dec 30, 2014
e66dd80
[ci skip] ongoing documentation work
dalehenrich Dec 30, 2014
32e9c1b
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
9f4622c
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
3384042
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
5970519
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
d452ec7
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
0e05a0c
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
7e30677
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
70910d1
Issue #10: rename gemServer:* selectors to use beforeUnwind: instead …
dalehenrich Dec 30, 2014
f852106
[ci skip] docs checkpoint
dalehenrich Dec 30, 2014
37f8692
Issue #10: accidentally removed GemServerRemoteServerTransactionModel…
dalehenrich Dec 30, 2014
99472e7
Issue #10: rename *TransactionModelA* classes to *ParallelProcessing*…
dalehenrich Dec 30, 2014
c4185bc
Issue #10: more refactoring in face of building a sensible seaside ge…
dalehenrich Dec 31, 2014
f383d04
Issue #10: checkpoint on seaside-style transaction model ... address …
dalehenrich Dec 31, 2014
3c7d938
Issue #10: remove GemServerRemoteServerSerialProcessingExample>>start…
dalehenrich Dec 31, 2014
e1fd6b5
Issue #10: clean up sent but not implemented ... fix GemServerInterac…
dalehenrich Dec 31, 2014
7d7a897
Issue #10: address testForceInternalServerError and testForceInternal…
dalehenrich Dec 31, 2014
e443be9
Issue #10: seaside-style example ... checkpoint
dalehenrich Dec 31, 2014
7adb412
Issue #10: missed renaming GemServerRemoteTask* classes
dalehenrich Jan 1, 2015
36b88eb
Issue #10: address GemServerRemoteServerParallelProcessingExampleTest…
dalehenrich Jan 1, 2015
124aa88
Issue #10: implement (and use) GemServer>>doInteractiveModePass:
dalehenrich Jan 1, 2015
381ae9b
Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outO…
dalehenrich Jan 1, 2015
7b1f25a
Issue #10: fiddle with test strcuture ... gather more information abo…
dalehenrich Jan 1, 2015
6bce018
Issue #10: more work on seaside-style persistence example ... convert…
dalehenrich Jan 1, 2015
b9221c8
Issue #10: additional tracking and slightly restructured GemServerRem…
dalehenrich Jan 1, 2015
8146480
Issue #10: perhaps the granlarity of growth is the root cause .. look…
dalehenrich Jan 1, 2015
c23dac7
add some debugging support env vars to be uncommented
dalehenrich Jan 2, 2015
2f9e2c2
add a gem.conf to be used by default... echo ExeConf and logFile so t…
dalehenrich Jan 2, 2015
90e1c0e
Issue #10: default gem.conf file added ... use the default gem.conf f…
dalehenrich Jan 2, 2015
cb36d54
bump default TOC to 75M ... trying to eliminate random failure
dalehenrich Jan 2, 2015
b784998
Issue #10: remove some logging ... reduce percent tOC for triggering …
dalehenrich Jan 2, 2015
d58ab5f
reduce the size of the TOC a bit ...
dalehenrich Jan 2, 2015
55050b1
Issue #10: start using a fixed list of 100 tasks ... I suspect that s…
dalehenrich Jan 2, 2015
260c613
Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list ev…
dalehenrich Jan 2, 2015
28ced20
Issue #10: checkpoint with seaside-style example
dalehenrich Jan 2, 2015
5e6ecff
Issue #10: seaside-style example gem server is now functional and pas…
dalehenrich Jan 2, 2015
bed03cc
Issue #10: finish up tests for seaside-style gemserver example
dalehenrich Jan 3, 2015
7a3898a
Issue #10: move basicServerProcess up to GemServer ...
dalehenrich Jan 3, 2015
90b60af
Issue #10: convert startBasicServerOn: to basicServerOn: ... basicSer…
dalehenrich Jan 3, 2015
f871205
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
47bfe86
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
d720a82
Issue #10: tweak stack unwind logic in GemServer>>gemServer:exception…
dalehenrich Jan 3, 2015
26028b9
Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:
dalehenrich Jan 3, 2015
494d0a0
Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleSt…
dalehenrich Jan 3, 2015
8b511d9
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
d71293b
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
a05ab86
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
2c88683
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
5d3268e
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
0d83460
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
13616eb
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
82afd09
[ci skip] ongoing documentation work
dalehenrich Jan 3, 2015
c18ad65
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
8b31fac
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
2db330b
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
33b5e0d
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
51efb1c
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
1ff53fe
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
7317f3f
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
62b57c2
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
b3b7c9c
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
c115050
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
114ad8a
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
3696fa7
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
124ab70
Issue #10: a bit more streamlining of the gemserver api
dalehenrich Jan 4, 2015
410daf8
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
e2e509d
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
0028e9a
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
6528079
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
77b5914
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
fdbdb6e
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
4c88be9
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
e7ebfd7
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
e21a7c7
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
ad9ef2c
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
398891a
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
e4e8669
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
c2546d9
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
a6de2be
Issue #10: rename GemServer>>startSigAbortHandling to GemServer>>star…
dalehenrich Jan 4, 2015
3cbb0c6
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
8ea7aa3
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
336a3dc
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
50078f8
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
cccc4e8
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
8f3724c
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
f5b823a
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
eece565
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
19af2f1
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
1057788
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
e03df4f
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
4a1460a
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
eecf251
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
ac22cf9
[ci skip] ongoing documentation work
dalehenrich Jan 4, 2015
6162b57
[ci skip] ongoing documentation work
dalehenrich Jan 5, 2015
d7744de
[ci skip] ongoing documentation work
dalehenrich Jan 5, 2015
ea323b6
[ci skip] docs checkpoint
dalehenrich Jan 5, 2015
e0f8cb7
[ci skip] docs checkpoint
dalehenrich Jan 5, 2015
50bf785
[ci skip] docs checkpoint
dalehenrich Jan 5, 2015
9800d1d
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
3d2e7eb
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
2eb253a
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
a3f8bb1
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
2b55265
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
9f64361
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
261fef2
[ci skip] docs checkpoint
dalehenrich Jan 6, 2015
d4832ce
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
77fea62
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
09fba9e
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
7f59891
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
8e8a330
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
3c361f0
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
9a151f6
[ci skip] ongoing documentation work
dalehenrich Jan 6, 2015
6d987a9
Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServ…
dalehenrich Jan 6, 2015
ce90c51
Merge branch 'issue_10' of github.com:GsDevKit/gsApplicationTools int…
dalehenrich Jan 6, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .travis.yml
Expand Up @@ -5,7 +5,6 @@ notifications:
urls:
- https://webhooks.gitter.im/e/dd28fc6ec3cc9c66b330 # GsDevKit/gsApplicationTools room
- https://webhooks.gitter.im/e/c59e6bffa0b41a693676 # GsDevKit/chat (public)
- https://webhooks.gitter.im/e/869dcaa7f45f315db301 # GsDevKit room (private)
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: false # default: false
Expand All @@ -19,8 +18,8 @@ env:
- ST=GemStone-3.0.1
- ST=GemStone-3.1.0.6
- ST=GemStone-3.2.0
# - ST=GemStone-3.2.1
# - ST=GemStone-3.2.2
- ST=GemStone-3.2.1
- ST=GemStone-3.2.2
- ST=GemStone-3.2.3

install:
Expand Down
8 changes: 8 additions & 0 deletions bin/gem.conf
@@ -0,0 +1,8 @@
#
# standard gem.conf file for dev kit gems
# minimum of 50M TOC for running GsDevKit
#

GEM_TEMPOBJ_CACHE_SIZE = 50000;
GEM_TEMPOBJ_POMGEN_PRUNE_ON_VOTE = 90;

40 changes: 36 additions & 4 deletions bin/startGemServerGem
Expand Up @@ -3,6 +3,33 @@
GemServer="$1"
Port="$2"

set -e # exit on error

# Debugging controls - uncomemnt and edit debugging env vars as desired:

# The default behaviour is to delete this process's log file if it exits
# normally. If you want to keep this process's log file even on normal exit
# then uncomment the following
#
# export GEMSTONE_KEEP_LOG=1

# Print Smalltalk stack and instance counts when OutOfMemory error occurs
#
# export GS_DEBUG_VMGC_VERBOSE_OUTOFMEM=1

# --------------------------------
# GS_DEBUG_VMGC_PRINT_MKSW_MEMORY_USED specifies a percent of memory
# used threshold.
# If the GS_DEBUG_VMGC_PRINT_MKSW_MEMORY_USED environment variable
# is not defined, the default is 75 percent.
# At the end of each mark sweep, if the percent used is greater than
# this threshold, the markSweep is printed, the Smalltalk stack
# is printed to stdout, and the threshold is raised by 5 percent. Thus in
# situation producing error 4067, OutOfMemory, you should get several
# Smalltalk stacks printed in the gem log file before the session dies.
#
# export GS_DEBUG_VMGC_PRINT_MKSW_MEMORY_USED=75

if [ -s $GEMSTONE/seaside/etc/gemstone.secret ]; then
. $GEMSTONE/seaside/etc/gemstone.secret
else
Expand All @@ -11,14 +38,16 @@ else
fi

if [ "${3}x" = "x" ] ; then
ExeArg=
ExeArg="-e $(dirname $0)/gem.conf"
else
ExeArg="-e $3"
fi

echo "Starting $GemServer on $Port using $ExeConf ..."
logFile="${GEMSTONE_LOGDIR}/${GemServer}_server-${Port}.log"

echo "Starting $GemServer on $Port exeConf: -$ExeConf- logFile: -$logFile-"

cat << EOF | nohup $GEMSTONE/bin/topaz -l ${ExeArg} 2>&1 >> ${GEMSTONE_LOGDIR}/${GemServer}_server-${Port}.log &
cat << EOF | nohup $GEMSTONE/bin/topaz -l ${ExeArg} >> $logFile 2>&1 &

set user DataCurator pass $GEMSTONE_CURATOR_PASS gems $GEMSTONE_NAME

Expand All @@ -32,11 +61,14 @@ run
%

run
| logEntry |
System beginTransaction.
(ObjectLogEntry
(logEntry := ObjectLogEntry
fatal: '${GemServer}_server_${Port}: topaz exit'
object:
'pid: ', (System gemVersionReport at: 'processId') printString) addToLog.
(GemServerRegistry gemServerNamed: '$GemServer')
ifNotNil: [:gemServer | gemServer crashLog add: (${Port}) asString -> logEntry ].
System commitTransaction.
%

Expand Down