Skip to content

More robust server handling #368

@crasanders

Description

@crasanders

The AEPsych server receives data from clients through "tell" messages and fits a model to that data to recommend trials that it sends back to the client through "ask" messages. There are a number of things that could go wrong in this process (all of these issues should be recorded in the logs with sufficient detail to understand what happened):

  • The server cannot process ask, tell, or other messages before it has received a setup message. Right now it just crashes if this happens, but it should have a "setup required" response.
  • The server could receive ill-formatted messages. It should be able to fail gracefully, and wait to receive another message.
  • The server could fail to fit the model after an "ask" message. It should fallback to sending a Sobol trial.
  • The server could lose connection to the client. It should recognize this and wait for a new connection.
  • There are surely lots of other scenarios that the server should be prepared for.

Unit tests should be written to test all these cases and to see where the cracks are in the current error-handling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions