CentaurusInfra / regionless-storage-service

A geo-distributed regionless metadata storage service
Apache License 2.0
0 stars 4 forks source link

update failed in perf test run: panic with "store.keyindex: put with unexpected smaller Revision" #58

Closed h-w-chen closed 2 years ago

h-w-chen commented 2 years ago

this happens in perf test (go-ycsb run); not always; occasionally 1 out of per run (1000 ops)

How to reproduce:

  1. start rkv
  2. modify go-ycsb code pointing to the started rkv
  3. run go-ycsb load + run
    ./bin/go-ycsb load rkv -P workload/workloada
    ./bin/go-ycsb run rkv -P workload/workloada

    notice rn command might yield an UOPDATE_ERROR sometimes.

h-w-chen commented 2 years ago

two options to consider for now:

  1. make code change NOT to panic in this case; rather just report error that this is an old revision which already has a newer revision exists;
  2. or, handle the update, still keeping the newest rev (the out-of-date update rev will be inserted in the rev collection in order.

Will adopt option 2, since the experience that update would always succeed makes more sense than randomly fail,