Re: Replication (k=1) in LRC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Loic
Commenting out the sanity check did the trick. The code is working as I'd expected.

Thanks

On Fri, Apr 28, 2017 at 1:48 AM, Loic Dachary <loic@xxxxxxxxxxx> wrote:


On 04/27/2017 11:43 PM, Oleg Kolosov wrote:
> Hi Loic,
> Of course.
> I'm implementing a version of Pyramid Code. In Pyramid you remove one of the global parities of Reed-Solomon and add one local parity for each local group. In my version, I'd like to add local parity to the global parity (meaning that for the case the global parity = 1, it would be replicated). This way in case of a failure in the global parity, you can reconstruct it using the replicated node instead of reconstructing it will all K nodes.
>
> This is my profile:
> ceph osd erasure-code-profile set myprofile \
> plugin=lrc \
> mapping=DD_DD___ \
> layers='[
> [ "DD_DD_c_", "" ],
> [ "DDc_____", "" ],
> [ "___DDc__", "" ],
> [ "______Dc", "" ],
> ]' \
> ruleset-steps='[
> [ "chooseleaf", "osd",  8  ],
> ]'

You could test and see if commenting out the sanity check at

https://github.com/ceph/ceph/blob/master/src/erasure-code/jerasure/ErasureCodeJerasure.cc#L89

does the trick. I don't remember enough about this border case to be sure it won't work. You can also give it a try with

https://github.com/ceph/ceph/blob/master/src/test/erasure-code/ceph_erasure_code_benchmark.cc

Cheers

> Regards,
> Oleg
>
> On Fri, Apr 28, 2017 at 12:33 AM, Loic Dachary <loic@xxxxxxxxxxx <mailto:loic@xxxxxxxxxxx>> wrote:
>
>     Hi Oleg,
>
>     On 04/27/2017 11:23 PM, Oleg Kolosov wrote:
>     > Hi,
>     > I'm working on various implementation of LRC codes for study purposes. The layers implementation in the LRC module is very convenient for this, but I've came upon a problem in one of the cases.
>     > I'm interested in having k=1, m=1 in one of the layers. However this gives out an error:
>     > Error EINVAL: k=1 must be >= 2
>     >
>     > I should point out that my erasure code has additional layers which are fine, only this one has k=1, m=1.
>     >
>     > What was the reason for this issue?
>     > Can replication be implemented in one of LRC's layers?
>
>     Could you provide the code for me to reproduce this problem ? Or a description of the layers ? I implemented this restriction because it made the code simpler. And also because I could not think of a valid use case.
>
>     Cheers
>
>     --
>     Loïc Dachary, Artisan Logiciel Libre
>
>

--
Loïc Dachary, Artisan Logiciel Libre

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux