Opened 9 years ago

Closed 9 years ago

#1034 closed defect (fixed)

Test RASBASE durability

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: major Milestone: 9.1.x
Component: rasserver Version: development
Keywords: Cc: Peter Baumann, Alex Dumitru, Vlad Merticariu, George Merticariu
Complexity: Medium

Description (last modified by Dimitar Misev)

Motivated by the database corruption issues reported in #1014, I'm proposing to develop a RASBASE stress test.

This is a rough sketch:

  • let W be a set of representative insert and update queries
  • let R be a set of representative select queries R
  • test execution:
    1. a random query from W is executed, with random queries from R in parallel
    2. rasserver is killed with SIGKILL at a random point of time (perhaps other signals as well)
    3. rasdaman is restarted, and checked for consistency
      • save logs and query details in case of corruption
    4. repeat

Change History (6)

comment:1 by Dimitar Misev, 9 years ago

Description: modified (diff)

comment:2 by Peter Baumann, 9 years ago

that looks like an important test class indeed, and could be broadened in future.

comment:3 by George Merticariu, 9 years ago

Preferably, we should use the intefaces used in rasdaman in a UnitTest like setup so we can reproduce.

We already have the UnitTest framework in rasnet, so we can use that one.

Last edited 9 years ago by George Merticariu (previous) (diff)

comment:4 by Dimitar Misev, 9 years ago

The test would be completely randomized, repeating a unit test would not reproduce the condition of the previous run - that's why we need to save all information needed so we can reproduce a single run:

  • save logs and query details in case of corruption

comment:5 by Dimitar Misev, 9 years ago

This has been implemented for single-thread testing only, should be further adapted for parallel queries.

comment:6 by Alex Dumitru, 9 years ago

Resolution: fixed
Status: newclosed

Can we open a new ticket for parallel queries? The initial feature request seems completed.

Note: See TracTickets for help on using tickets.