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

Conversation

dalehenrich
Copy link
Member

No description provided.

… handling and error logging ... server errors will be dealt with using separate (to be written) logic (checkpoint)
…MTests tests .... added several more tests and fixed some bugs in GemServer class>>gemServerTransaction:onError: and friends
…te tests for internal server errors ... interactiveMode added so that exceptions are passed so that debugger can be used
… 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 ...
@dalehenrich
Copy link
Member Author

Further work needed for Issue #10:

Now I need to update the documentation to cover the new transaction model:

  • GemServerRemoteVMTests covers separate topaz running as server scenario
  • GemServerLocalVMTests covers local forked process running as server scenario
  • GemServerInteractiveVMTests covers local forked process running as server with exceptions passed so that debugger will come up

GemServerTestServer is written to work with unit tests ... I need to refactor GemServerTestServer so that it can be used as a developer example in the documentation ... probable best to copy and pare it down rathe than try to develop a subclass/superclass relationship, since I want the example to be readable ...

…: 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 ...
…oflictBlock ... 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:...
…mServerRemoteServerExample and it is passing
…ss leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)
…ing: 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
…s when running GemServerRemoteServerExampleTests>>test100Tasks
…o lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging
…o 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
dalehenrich added a commit that referenced this pull request Jan 6, 2015
Issue 10 ... collected changes for GemServer transaction model and tests
@dalehenrich dalehenrich merged commit 12f6d53 into master Jan 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant