Project

General

Profile

Actions

Bug #9572

closed

erasure-code: BlaumRoth default encoding regression

Added by Loïc Dachary over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
% Done:

100%

Source:
other
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Fixing the bug on BlaumRoth w constraint changes the encoding and it is impossible read content encoded with Firefly with Giant

Actions #1

Updated by Loïc Dachary over 9 years ago

  • Status changed from 12 to In Progress
Actions #2

Updated by Loïc Dachary over 9 years ago

  • Status changed from In Progress to 7
  • % Done changed from 0 to 80
Actions #3

Updated by Loïc Dachary over 9 years ago

  • Status changed from 7 to Fix Under Review
Actions #4

Updated by Loïc Dachary over 9 years ago

Brute force check of w=7 with all possible values for k prove it allows recovering all scenarios.

m=2 ; w=7 ; for k in $(seq 2 $w) ; do for erasures in $(seq 1 $m) ; do cmd="./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures $erasures --erasures-generation exhaustive --parameter w=$w --parameter k=$k --parameter m=$m --parameter technique=blaum_roth" ; echo $cmd ; $cmd ; done ; done
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=2 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3  (X) is an erased chunk
chunks  0  (1)  2   3  (X) is an erased chunk
chunks  0   1  (2)  3  (X) is an erased chunk
chunks  0   1   2  (3) (X) is an erased chunk
0.000269    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=2 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3  (X) is an erased chunk
chunks (0)  1  (2)  3  (X) is an erased chunk
chunks (0)  1   2  (3) (X) is an erased chunk
chunks  0  (1) (2)  3  (X) is an erased chunk
chunks  0  (1)  2  (3) (X) is an erased chunk
chunks  0   1  (2) (3) (X) is an erased chunk
0.000600    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=3 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3   4  (X) is an erased chunk
chunks  0  (1)  2   3   4  (X) is an erased chunk
chunks  0   1  (2)  3   4  (X) is an erased chunk
chunks  0   1   2  (3)  4  (X) is an erased chunk
chunks  0   1   2   3  (4) (X) is an erased chunk
0.000419    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=3 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3   4  (X) is an erased chunk
chunks (0)  1  (2)  3   4  (X) is an erased chunk
chunks (0)  1   2  (3)  4  (X) is an erased chunk
chunks (0)  1   2   3  (4) (X) is an erased chunk
chunks  0  (1) (2)  3   4  (X) is an erased chunk
chunks  0  (1)  2  (3)  4  (X) is an erased chunk
chunks  0  (1)  2   3  (4) (X) is an erased chunk
chunks  0   1  (2) (3)  4  (X) is an erased chunk
chunks  0   1  (2)  3  (4) (X) is an erased chunk
chunks  0   1   2  (3) (4) (X) is an erased chunk
0.001462    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=4 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3   4   5  (X) is an erased chunk
chunks  0  (1)  2   3   4   5  (X) is an erased chunk
chunks  0   1  (2)  3   4   5  (X) is an erased chunk
chunks  0   1   2  (3)  4   5  (X) is an erased chunk
chunks  0   1   2   3  (4)  5  (X) is an erased chunk
chunks  0   1   2   3   4  (5) (X) is an erased chunk
0.000651    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=4 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3   4   5  (X) is an erased chunk
chunks (0)  1  (2)  3   4   5  (X) is an erased chunk
chunks (0)  1   2  (3)  4   5  (X) is an erased chunk
chunks (0)  1   2   3  (4)  5  (X) is an erased chunk
chunks (0)  1   2   3   4  (5) (X) is an erased chunk
chunks  0  (1) (2)  3   4   5  (X) is an erased chunk
chunks  0  (1)  2  (3)  4   5  (X) is an erased chunk
chunks  0  (1)  2   3  (4)  5  (X) is an erased chunk
chunks  0  (1)  2   3   4  (5) (X) is an erased chunk
chunks  0   1  (2) (3)  4   5  (X) is an erased chunk
chunks  0   1  (2)  3  (4)  5  (X) is an erased chunk
chunks  0   1  (2)  3   4  (5) (X) is an erased chunk
chunks  0   1   2  (3) (4)  5  (X) is an erased chunk
chunks  0   1   2  (3)  4  (5) (X) is an erased chunk
chunks  0   1   2   3  (4) (5) (X) is an erased chunk
0.003021    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=5 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3   4   5   6  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6  (X) is an erased chunk
chunks  0   1   2   3   4   5  (6) (X) is an erased chunk
0.001386    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=5 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3   4   5   6  (X) is an erased chunk
chunks (0)  1  (2)  3   4   5   6  (X) is an erased chunk
chunks (0)  1   2  (3)  4   5   6  (X) is an erased chunk
chunks (0)  1   2   3  (4)  5   6  (X) is an erased chunk
chunks (0)  1   2   3   4  (5)  6  (X) is an erased chunk
chunks (0)  1   2   3   4   5  (6) (X) is an erased chunk
chunks  0  (1) (2)  3   4   5   6  (X) is an erased chunk
chunks  0  (1)  2  (3)  4   5   6  (X) is an erased chunk
chunks  0  (1)  2   3  (4)  5   6  (X) is an erased chunk
chunks  0  (1)  2   3   4  (5)  6  (X) is an erased chunk
chunks  0  (1)  2   3   4   5  (6) (X) is an erased chunk
chunks  0   1  (2) (3)  4   5   6  (X) is an erased chunk
chunks  0   1  (2)  3  (4)  5   6  (X) is an erased chunk
chunks  0   1  (2)  3   4  (5)  6  (X) is an erased chunk
chunks  0   1  (2)  3   4   5  (6) (X) is an erased chunk
chunks  0   1   2  (3) (4)  5   6  (X) is an erased chunk
chunks  0   1   2  (3)  4  (5)  6  (X) is an erased chunk
chunks  0   1   2  (3)  4   5  (6) (X) is an erased chunk
chunks  0   1   2   3  (4) (5)  6  (X) is an erased chunk
chunks  0   1   2   3  (4)  5  (6) (X) is an erased chunk
chunks  0   1   2   3   4  (5) (6) (X) is an erased chunk
0.005470    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=6 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3   4   5   6   7  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6   7  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6   7  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6   7  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6   7  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6   7  (X) is an erased chunk
chunks  0   1   2   3   4   5  (6)  7  (X) is an erased chunk
chunks  0   1   2   3   4   5   6  (7) (X) is an erased chunk
0.001329    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=6 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3   4   5   6   7  (X) is an erased chunk
chunks (0)  1  (2)  3   4   5   6   7  (X) is an erased chunk
chunks (0)  1   2  (3)  4   5   6   7  (X) is an erased chunk
chunks (0)  1   2   3  (4)  5   6   7  (X) is an erased chunk
chunks (0)  1   2   3   4  (5)  6   7  (X) is an erased chunk
chunks (0)  1   2   3   4   5  (6)  7  (X) is an erased chunk
chunks (0)  1   2   3   4   5   6  (7) (X) is an erased chunk
chunks  0  (1) (2)  3   4   5   6   7  (X) is an erased chunk
chunks  0  (1)  2  (3)  4   5   6   7  (X) is an erased chunk
chunks  0  (1)  2   3  (4)  5   6   7  (X) is an erased chunk
chunks  0  (1)  2   3   4  (5)  6   7  (X) is an erased chunk
chunks  0  (1)  2   3   4   5  (6)  7  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6  (7) (X) is an erased chunk
chunks  0   1  (2) (3)  4   5   6   7  (X) is an erased chunk
chunks  0   1  (2)  3  (4)  5   6   7  (X) is an erased chunk
chunks  0   1  (2)  3   4  (5)  6   7  (X) is an erased chunk
chunks  0   1  (2)  3   4   5  (6)  7  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6  (7) (X) is an erased chunk
chunks  0   1   2  (3) (4)  5   6   7  (X) is an erased chunk
chunks  0   1   2  (3)  4  (5)  6   7  (X) is an erased chunk
chunks  0   1   2  (3)  4   5  (6)  7  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6  (7) (X) is an erased chunk
chunks  0   1   2   3  (4) (5)  6   7  (X) is an erased chunk
chunks  0   1   2   3  (4)  5  (6)  7  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6  (7) (X) is an erased chunk
chunks  0   1   2   3   4  (5) (6)  7  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6  (7) (X) is an erased chunk
chunks  0   1   2   3   4   5  (6) (7) (X) is an erased chunk
0.008716    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 1 --erasures-generation exhaustive --parameter w=7 --parameter k=7 --parameter m=2 --parameter technique=blaum_roth
chunks (0)  1   2   3   4   5   6   7   8  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6   7   8  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6   7   8  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6   7   8  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6   7   8  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6   7   8  (X) is an erased chunk
chunks  0   1   2   3   4   5  (6)  7   8  (X) is an erased chunk
chunks  0   1   2   3   4   5   6  (7)  8  (X) is an erased chunk
chunks  0   1   2   3   4   5   6   7  (8) (X) is an erased chunk
0.002602    4
./ceph_erasure_code_benchmark --verbose --plugin jerasure --workload decode --iterations 1 --size 4096 --erasures 2 --erasures-generation exhaustive --parameter w=7 --parameter k=7 --parameter m=2 --parameter technique=blaum_roth
chunks (0) (1)  2   3   4   5   6   7   8  (X) is an erased chunk
chunks (0)  1  (2)  3   4   5   6   7   8  (X) is an erased chunk
chunks (0)  1   2  (3)  4   5   6   7   8  (X) is an erased chunk
chunks (0)  1   2   3  (4)  5   6   7   8  (X) is an erased chunk
chunks (0)  1   2   3   4  (5)  6   7   8  (X) is an erased chunk
chunks (0)  1   2   3   4   5  (6)  7   8  (X) is an erased chunk
chunks (0)  1   2   3   4   5   6  (7)  8  (X) is an erased chunk
chunks (0)  1   2   3   4   5   6   7  (8) (X) is an erased chunk
chunks  0  (1) (2)  3   4   5   6   7   8  (X) is an erased chunk
chunks  0  (1)  2  (3)  4   5   6   7   8  (X) is an erased chunk
chunks  0  (1)  2   3  (4)  5   6   7   8  (X) is an erased chunk
chunks  0  (1)  2   3   4  (5)  6   7   8  (X) is an erased chunk
chunks  0  (1)  2   3   4   5  (6)  7   8  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6  (7)  8  (X) is an erased chunk
chunks  0  (1)  2   3   4   5   6   7  (8) (X) is an erased chunk
chunks  0   1  (2) (3)  4   5   6   7   8  (X) is an erased chunk
chunks  0   1  (2)  3  (4)  5   6   7   8  (X) is an erased chunk
chunks  0   1  (2)  3   4  (5)  6   7   8  (X) is an erased chunk
chunks  0   1  (2)  3   4   5  (6)  7   8  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6  (7)  8  (X) is an erased chunk
chunks  0   1  (2)  3   4   5   6   7  (8) (X) is an erased chunk
chunks  0   1   2  (3) (4)  5   6   7   8  (X) is an erased chunk
chunks  0   1   2  (3)  4  (5)  6   7   8  (X) is an erased chunk
chunks  0   1   2  (3)  4   5  (6)  7   8  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6  (7)  8  (X) is an erased chunk
chunks  0   1   2  (3)  4   5   6   7  (8) (X) is an erased chunk
chunks  0   1   2   3  (4) (5)  6   7   8  (X) is an erased chunk
chunks  0   1   2   3  (4)  5  (6)  7   8  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6  (7)  8  (X) is an erased chunk
chunks  0   1   2   3  (4)  5   6   7  (8) (X) is an erased chunk
chunks  0   1   2   3   4  (5) (6)  7   8  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6  (7)  8  (X) is an erased chunk
chunks  0   1   2   3   4  (5)  6   7  (8) (X) is an erased chunk
chunks  0   1   2   3   4   5  (6) (7)  8  (X) is an erased chunk
chunks  0   1   2   3   4   5  (6)  7  (8) (X) is an erased chunk
chunks  0   1   2   3   4   5   6  (7) (8) (X) is an erased chunk
0.013623    4

Actions #5

Updated by Loïc Dachary over 9 years ago

  • Status changed from Fix Under Review to Resolved
  • % Done changed from 80 to 100
Actions

Also available in: Atom PDF