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

A special demo client for regression/stress tests #11

Closed
AlexanderMihail opened this issue Apr 11, 2024 · 0 comments
Closed

A special demo client for regression/stress tests #11

AlexanderMihail opened this issue Apr 11, 2024 · 0 comments
Assignees

Comments

@AlexanderMihail
Copy link
Owner

The current REST.CMD tester is not enough:

  1. It cannot saturate the server due to process creation overhead.
  2. It cannot orchestrate requests with responses to verify regression expectations.
  3. It cannot do controlled random queries.

A better C++ program is needed for the job.

AlexanderMihail pushed a commit that referenced this issue Apr 13, 2024
… table as well as any other user-table. The root of the web server is a generated HTML page with navigation for all the system features. There is now a map of tables. Selecting the current table is with the /tablename/?use rest command. Tables can also be dropped. Table::compact was reworked to shift-up deleted keys in the index. An index_revolver coroutine was introduced to return one index per invocation. This logic also has index cleanup capabilities. The Table::list() command uses this coroutine to produce the list of all keys. Table::get/set are now boolean. The set prevents overinserting and updating of unknown keys. The get returns false if the key is unknown. This allows now for inserting or updating "null" values. Better statistics. Better formatted output. All REST logic is in one DefaultHandle where the table list lock is maneaged. Everything the DB server does is listed in the / page which is built by DefaultHandle::build_help. Added the new Table::self_test method and the corresponding /?selftest=0 REST command. This system of self-testing obsoletes the rest.bat file while also aiming at raw performance.

This version has problems with deleting keys that are in cache. TODO.
This version closes issues: #1, #2, #3, #4, #5, #6, #8. It advances on issues #13 and #11.
@AlexanderMihail AlexanderMihail self-assigned this Apr 13, 2024
AlexanderMihail pushed a commit that referenced this issue Apr 15, 2024
…s issue %16 regarding the encapsulation of IO operations. This version has a self-test as per issue #11.
AlexanderMihail pushed a commit that referenced this issue Apr 15, 2024
…s issue #16 regarding the encapsulation of IO operations. This version has a self-test as per issue #11.
AlexanderMihail pushed a commit that referenced this issue Apr 15, 2024
…s issue #16 regarding the encapsulation of IO operations. This version has a self-test as per issue #11.
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

No branches or pull requests

1 participant