Project

General

Profile

Bug #16500

ceph_erasure_code_benchmark parameter checking error for LRC plugin

Added by Ting-Yi Lin about 3 years ago. Updated 9 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Tests
Target version:
-
Start date:
06/28/2016
Due date:
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
EC plugins
Pull request ID:

Description

There's no parameter set could pass the parameter checking in cep_erasure_code_benchmark while using LRC.

if (erasure_code->get_data_chunk_count() != (unsigned int)k ||
      (erasure_code->get_chunk_count() - erasure_code->get_data_chunk_count()
       != (unsigned int)m)) {
    cout << "paramter k is " << k << "/m is " << m << ". But data chunk count is " 
      << erasure_code->get_data_chunk_count() <<"/parity chunk count is " 
      << erasure_code->get_chunk_count() - erasure_code->get_data_chunk_count() << endl;
    return -EINVAL;
}

This checking blocks valid LRC parameters (e.g. k=4, m=2, l=3) and return error. I cannot run LRC benchmark since all the parameter combinations fail in either ceph_erasure_code_benchmark or LRC plugin.

This can be reproduced by
$ ceph_erasure_code_benchmark --plugin lrc --workload encode --iterations 1048576 --size 4096 --parameter k=4 --parameter m=2 --parameter l=3 --erasure-code-dir /usr/lib64/ceph/erasure-code/

History

#1 Updated by Greg Farnum about 2 years ago

  • Project changed from Ceph to RADOS
  • Category set to EC Pools
  • Component(RADOS) EC plugins added

#2 Updated by Kefu Chai 9 months ago

  • Category changed from EC Pools to Tests
  • Status changed from New to Need Review
  • Assignee set to Kefu Chai

#3 Updated by Kefu Chai 9 months ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF