[openstack-dev] [Openstack] [Swift] Erasure coding reconstructor doesn't work

Changbin Liu changbin.liu at gmail.com
Tue Jul 21 20:38:56 UTC 2015


To test the latest feature of Swift erasure coding, I followed this
document (
http://docs.openstack.org/developer/swift/overview_erasure_code.html) to
deploy a simple cluster. I used Swift 2.3.0.

I am glad that operations like object PUT/GET/DELETE worked fine. I can see
that objects were correctly encoded/uploaded and downloaded at proxy and
object servers.

However, I noticed that swift-object-reconstructor seemed don't work as
expected. Here is my setup: my cluster has three object servers, and I use
this policy:

policy_type = erasure_coding
name = jerasure-rs-vand-2-1
ec_type = jerasure_rs_vand
ec_num_data_fragments = 2
ec_num_parity_fragments = 1
ec_object_segment_size = 1048576

After I uploaded one object, I verified that: there was one data fragment
on each of two object servers, and one parity fragment on the third object
server. However, when I deleted one data fragment, no matter how long I
waited, it never got repaired, i.e., the deleted data fragment was never
regenerated by the swift-object-reconstructor process.

My question: is swift-object-reconstructor supposed to be "NOT WORKING"
given the current implementation status? Or, is there any configuration I
missed in setting up swift-object-reconstructor?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150721/ae3c02c8/attachment.html>

More information about the OpenStack-dev mailing list