#1034 closed defect (fixed)

Test RASBASE durability

Reported by: dmisev Owned by: dmisev
Priority: major Milestone: 9.1.x
Component: rasserver Version: development
Keywords: Cc: pbaumann, mdumitru, vmerticariu, gmerticariu
Complexity: Medium

Description (last modified by dmisev)

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 Changed 21 months ago by dmisev

  • Description modified (diff)

comment:2 Changed 21 months ago by pbaumann

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

comment:3 Changed 21 months ago by gmerticariu

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 21 months ago by gmerticariu (previous) (diff)

comment:4 Changed 21 months ago by dmisev

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 Changed 20 months ago by dmisev

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

comment:6 Changed 20 months ago by mdumitru

  • Resolution set to fixed
  • Status changed from new to closed

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

Note: See TracTickets for help on using tickets.