Hi Adrian , <div><br></div><div>Thanks for your explanation ...</div><div><br></div><div>About Q2 , manifest question</div><div>Is there any audit mechanism to delete segments of failure uploading object?</div><div>What if the uploading procedure is been interrupted by user . </div>
<div>As you said , I think the segments still available for accessing . </div><div>On the other hand , it means that those segmented objects will keep on disk in object-server , even though the uploading failure is caused by user him self.   </div>
<div><br></div><div>Is there any approach to remove those segmented objects? or it might waste some disk space. </div><div><br></div><div>Thanks  </div><div><br><br><div class="gmail_quote">2012/6/17 Adrian Smith <span dir="ltr"><<a href="mailto:adrian@17od.com" target="_blank">adrian@17od.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> Q1: Where's the metadata of an object ?<br>
</div>It's stored in extended attributes on the filesystem itself. This is<br>
reason XFS (or other filesystem supporting extended attributes) is<br>
required.<br>
<div class="im"><br>
> Could I find the value?<br>
</div>Sure. You just need some way of a) identifying the object on disk and,<br>
b) a means of querying the extended metadata (using for example the<br>
python xattrs package).<br>
<div class="im"><br>
> Q2: What if a large object be interrupted during upload , will the manifest objects be deleted?<br>
</div>Large objects (i.e. those > 5Gb) must be split up client-side and the<br>
segments uploaded individually. When all the segments are uploaded the<br>
manifest must then be created by the client. What I'm trying to get at<br>
is that each segment and even the manifest are completely independent<br>
objects. A failure during the upload of any one segment has no impact<br>
on other segments or the manifest.<br>
<br>
Adrian<br>
<div><div class="h5"><br>
<br>
On 16 June 2012 09:53, Kuo Hugo <<a href="mailto:tonytkdk@gmail.com">tonytkdk@gmail.com</a>> wrote:<br>
> Hi folks ,<br>
><br>
> Q1:<br>
> Where's the metadata of an object ?<br>
> For example the "X-Object-Manifest". Does it store in inode ?<br>
> I did not see the matadata "X-Object=Manifest" in container's DB.<br>
><br>
>  Could I find the value?<br>
><br>
> Q2:<br>
> What if a large object be interrupted during upload , will the manifest<br>
> objects be deleted?<br>
> For example ,<br>
> OBJ1 :200MB<br>
> I execute $>swift upload con1 OBJ1 -S 1024000<br>
> I do a force interrupt while send segment 10.<br>
><br>
> I believe that OBJ1 won't live in con1 , what will happen to the rest<br>
> manifest objects?<br>
><br>
> Those objects seems still live in con1_segments container. Is there any<br>
> mechanism to audit OBJ1 and delete those manifest objects ?<br>
><br>
><br>
><br>
> --<br>
> +Hugo Kuo+<br>
> <a href="mailto:tonytkdk@gmail.com">tonytkdk@gmail.com</a><br>
> <a href="tel:%2B886%20935004793" value="+886935004793">+886 935004793</a><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
> Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
> Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
> More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>+Hugo Kuo+</div><div><a href="mailto:tonytkdk@gmail.com" target="_blank">tonytkdk@gmail.com<br></a></div><div><a href="mailto:tonytkdk@gmail.com" target="_blank">+</a>886 935004793</div>
<br>
</div>