All of lore.kernel.org
 help / color / mirror / Atom feed
* rgw: bug#17111 ERROR: got unexpected error when trying to read object: -2
@ 2016-09-14  3:33 Yang Joseph
       [not found] ` <CADRKj5SZe1rQtqn7w3+Yw=ctdU=kkMBwGNUe_b_2rHs6dMesLQ@mail.gmail.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Yang Joseph @ 2016-09-14  3:33 UTC (permalink / raw)
  To: owasserm; +Cc: yehuda, ceph-devel

Hello Oritwas,

I am aware of that you are responsible for the issue 17111 
(http://tracker.ceph.com/issues/17111).
Actually, I proposed two fixes already. Could you please take a look at 
them?

1. 
https://github.com/ceph/ceph/pull/10820/commits/2e95e2c824c6cc829c39180b0f6809ff312e5892

In this proposal, I added two items into manifest :

src_instance
copied_object

"copied_object" is used to indicate whether this object is generated 
through COPY operation.
If so, we must overwrite "instance" with "src_instance" in the GET 
operation.
If not, go as before.

We don't need extra tools to fix the old object's manifest that created 
before this patch, because
copied_object's default value is false.

2. 
https://github.com/ceph/ceph/pull/10820/commits/5104f852d255cfc140be33885f696b7f93a6cfad

This is an optimized version.  Only src_instance is added to manifest.
In order to distinguish object generated through COPY operation from 
object generated through
PUT operation, I make the none copied object's src_instance equal to its 
instance value.
So if src_instance not equal to its instance, this is a copied object.

However, this proposal need an extra tool to migrate old objects to new 
version RGW with this patch.

Your comments are highly appreciated!

thx,

Yang Honggang


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: rgw: bug#17111 ERROR: got unexpected error when trying to read object: -2
       [not found] ` <CADRKj5SZe1rQtqn7w3+Yw=ctdU=kkMBwGNUe_b_2rHs6dMesLQ@mail.gmail.com>
@ 2016-09-14 10:26   ` Yang Joseph
  0 siblings, 0 replies; 2+ messages in thread
From: Yang Joseph @ 2016-09-14 10:26 UTC (permalink / raw)
  To: Yehuda Sadeh-Weinraub; +Cc: ceph-devel, Javen Wu



On 09/14/2016 02:15 PM, Yehuda Sadeh-Weinraub wrote:
> On Tue, Sep 13, 2016 at 8:33 PM, Yang Joseph <joseph.yang@xtaotech.com> wrote:
>> Hello Oritwas,
>>
>> I am aware of that you are responsible for the issue 17111
>> (http://tracker.ceph.com/issues/17111).
>> Actually, I proposed two fixes already. Could you please take a look at
>> them?
>>
>> 1.
>> https://github.com/ceph/ceph/pull/10820/commits/2e95e2c824c6cc829c39180b0f6809ff312e5892
>>
>> In this proposal, I added two items into manifest :
>>
>> src_instance
>> copied_object
>>
>> "copied_object" is used to indicate whether this object is generated through
>> COPY operation.
>> If so, we must overwrite "instance" with "src_instance" in the GET
>> operation.
>> If not, go as before.
>>
>> We don't need extra tools to fix the old object's manifest that created
>> before this patch, because
>> copied_object's default value is false.
>>
>> 2.
>> https://github.com/ceph/ceph/pull/10820/commits/5104f852d255cfc140be33885f696b7f93a6cfad
>>
>> This is an optimized version.  Only src_instance is added to manifest.
>> In order to distinguish object generated through COPY operation from object
>> generated through
>> PUT operation, I make the none copied object's src_instance equal to its
>> instance value.
>> So if src_instance not equal to its instance, this is a copied object.
>>
>> However, this proposal need an extra tool to migrate old objects to new
>> version RGW with this patch.
> Migration is really a no go. The way to go would be by having the
> decode function smart enough to know whether it's prior to the change
> or after the change and set the field accordingly. That been said, I
> think that instead of calling the field 'src_instance', call it
> 'tail_instance', and always use it when accessing the tail. When
> copying the object, copy that field. When creating a versioned object,
> that field should be equal to the instance field. When decoding an old
> object, it should be set appropriately. Does that make sense?
Good idea! I already commit a new modification according to your
suggestion. Please help review it 
(https://github.com/ceph/ceph/pull/10820/files).

thx,

Yang Honggang
>
> Yehuda
>
>> Your comments are highly appreciated!
>>
>> thx,
>>
>> Yang Honggang
>>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-09-14 10:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-14  3:33 rgw: bug#17111 ERROR: got unexpected error when trying to read object: -2 Yang Joseph
     [not found] ` <CADRKj5SZe1rQtqn7w3+Yw=ctdU=kkMBwGNUe_b_2rHs6dMesLQ@mail.gmail.com>
2016-09-14 10:26   ` Yang Joseph

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.