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

component tests for load balancer #244

Open
prasadtalasila opened this issue Nov 28, 2017 · 1 comment
Open

component tests for load balancer #244

prasadtalasila opened this issue Nov 28, 2017 · 1 comment

Comments

@prasadtalasila
Copy link
Member

prasadtalasila commented Nov 28, 2017

#242 The following tests are advisable.

  1. Multiplexing of submit evaluation request from main server and send scores request from execution node.
  2. Repeat above test for high load scenario.

We would like the load balancer to evenly balance the input and output requests. The load balancer should take minimal time for processing both the input and output requests.

Q) Would a messaging solution such as zeroMQ deal with the problem better?

@prasadtalasila prasadtalasila changed the title functional tests for load balancer component tests for load balancer Apr 13, 2018
@prasadtalasila
Copy link
Member Author

prasadtalasila commented Jun 7, 2018

List of Tests:

  1. Correctly maintains the list of execution nodes during status check.
  2. Verifies the authenticity of each execution node before adding it to the worker pool.
  3. Accept requests / results only from authorized execution nodes.
  4. Verifies the origins of each evaluation result to make sure that the request comes from main server only.
  5. Remains online and active when database is offline.
  6. Connects to database when database comes back online.
  7. Gives sensible response when GitLab is not available for backup of user repositories. Does not fail in this case.
  8. Correctly maintains the list of execution nodes during errors in neighbouring components.
    1. MySQL DB down
    2. A few execution nodes down
    3. All the execution nodes are down
  9. Sets aside execution nodes that are offline.
  10. Submit an evaluation request and receive an evaluation result.
    1. valid case
    2. Correctly handles results json with large logs of 50000 lines.
    3. Ignores invalid messages from execution nodes.
    4. Invalid cases - userid invalid / repository invalid / commit hash invalid / language invalid
  11. Correctly maintains the list of execution nodes during concurrent return of results.
  12. Incoming requests are distributed uniformly among all execution nodes.
  13. A user cancelled evaluation request is removed from job queue.
  14. Informs execution node about a cancelled job.
  15. Uses a valid SSL certificate.

shivin7 pushed a commit to shivin7/AutolabJS that referenced this issue Jun 9, 2018
This was referenced Jun 9, 2018
prasadtalasila pushed a commit that referenced this issue Jun 20, 2018
* adds component tests for LB #244
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant