You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by ChingShen <ch...@gmail.com> on 2010/07/08 10:11:21 UTC

Question about hinted handoff

Hi all,

  Please consider this case: (RF=1, CL=ONE)

  1. I have A, B and C nodes.
  2. A node is a coordinator node, it sends a request to B node to do write
operation.
  3. B node is down during write operation, so return failure message to
client, and write a hint to C node.
  4. B node comes back up, then C node forwards the data to it.
  5. B node own data right now, although the write operation is failure.

  Correctly?

Thanks.

Shen

Re: Question about hinted handoff

Posted by Schubert Zhang <zs...@gmail.com>.
The answer of Benjamin is very right.

On Sun, Jul 11, 2010 at 6:27 AM, Benjamin Black <b...@b3k.us> wrote:

> You constructed a pathological case and then got confused at the result.
>
> Consider instead a realistic case: RF=3, CL=QUORUM.  Writes should go
> to all of A, B, and C.  B is down when the write request arrives, so
> does not acknowledge the it.  A and C acknowledge the write.  Since
> quorum is achieved, success is returned to the client and a hint for B
> is written to A (since A is already a replica and since 0.6 hints go
> to existing replicas rather than non-replica nodes).  When B comes
> back up, it requests hints, A sends the missed write, bringing B back
> in sync.
>
>
> b
>
> On Thu, Jul 8, 2010 at 7:04 AM, ChingShen <ch...@gmail.com> wrote:
> > If so, when does hinted handoff work?
> >
> > On Thu, Jul 8, 2010 at 9:55 PM, Anty <an...@gmail.com> wrote:
> >>
> >>
> >> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com>
> wrote:
> >>>
> >>> Hi all,
> >>>
> >>>   Please consider this case: (RF=1, CL=ONE)
> >>>
> >>>   1. I have A, B and C nodes.
> >>>   2. A node is a coordinator node, it sends a request to B node to do
> >>> write operation.
> >>>   3. B node is down during write operation, so return failure message
> to
> >>> client, and write a hint to C node.
> >>
> >> I think node A will return failure message to client.
> >> and will not write a hint to C node.
> >>
> >>>
> >>>   4. B node comes back up, then C node forwards the data to it.
> >>>   5. B node own data right now, although the write operation is
> failure.
> >>>
> >>>   Correctly?
> >>>
> >>> Thanks.
> >>>
> >>> Shen
> >>
> >>
> >>
> >> --
> >> Best Regards
> >> Anty Rao
> >
> >
> >
>

Re: Question about hinted handoff

Posted by Benjamin Black <b...@b3k.us>.
You constructed a pathological case and then got confused at the result.

Consider instead a realistic case: RF=3, CL=QUORUM.  Writes should go
to all of A, B, and C.  B is down when the write request arrives, so
does not acknowledge the it.  A and C acknowledge the write.  Since
quorum is achieved, success is returned to the client and a hint for B
is written to A (since A is already a replica and since 0.6 hints go
to existing replicas rather than non-replica nodes).  When B comes
back up, it requests hints, A sends the missed write, bringing B back
in sync.


b

On Thu, Jul 8, 2010 at 7:04 AM, ChingShen <ch...@gmail.com> wrote:
> If so, when does hinted handoff work?
>
> On Thu, Jul 8, 2010 at 9:55 PM, Anty <an...@gmail.com> wrote:
>>
>>
>> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com> wrote:
>>>
>>> Hi all,
>>>
>>>   Please consider this case: (RF=1, CL=ONE)
>>>
>>>   1. I have A, B and C nodes.
>>>   2. A node is a coordinator node, it sends a request to B node to do
>>> write operation.
>>>   3. B node is down during write operation, so return failure message to
>>> client, and write a hint to C node.
>>
>> I think node A will return failure message to client.
>> and will not write a hint to C node.
>>
>>>
>>>   4. B node comes back up, then C node forwards the data to it.
>>>   5. B node own data right now, although the write operation is failure.
>>>
>>>   Correctly?
>>>
>>> Thanks.
>>>
>>> Shen
>>
>>
>>
>> --
>> Best Regards
>> Anty Rao
>
>
>

Re: Question about hinted handoff

Posted by Schubert Zhang <zs...@gmail.com>.
3. B node is down during write operation, so return failure message to
client, and write a hint to C node.
  Will write to the coordinator node.


On Thu, Jul 8, 2010 at 10:04 PM, ChingShen <ch...@gmail.com> wrote:

> If so, when does hinted handoff work?
>
>
> On Thu, Jul 8, 2010 at 9:55 PM, Anty <an...@gmail.com> wrote:
>
>>
>>
>> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com>
>> wrote:
>>
>>> Hi all,
>>>
>>>   Please consider this case: (RF=1, CL=ONE)
>>>
>>>   1. I have A, B and C nodes.
>>>   2. A node is a coordinator node, it sends a request to B node to do
>>> write operation.
>>>   3. B node is down during write operation, so return failure message to
>>> client, and write a hint to C node.
>>>
>> I think node A will return failure message to client.
>> and will not write a hint to C node.
>>
>>
>>>   4. B node comes back up, then C node forwards the data to it.
>>>   5. B node own data right now, although the write operation is failure.
>>>
>>>   Correctly?
>>>
>>> Thanks.
>>>
>>> Shen
>>>
>>
>>
>>
>> --
>> Best Regards
>> Anty Rao
>>
>
>
>

Re: Question about hinted handoff

Posted by ChingShen <ch...@gmail.com>.
If so, when does hinted handoff work?

On Thu, Jul 8, 2010 at 9:55 PM, Anty <an...@gmail.com> wrote:

>
>
> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com> wrote:
>
>> Hi all,
>>
>>   Please consider this case: (RF=1, CL=ONE)
>>
>>   1. I have A, B and C nodes.
>>   2. A node is a coordinator node, it sends a request to B node to do
>> write operation.
>>   3. B node is down during write operation, so return failure message to
>> client, and write a hint to C node.
>>
> I think node A will return failure message to client.
> and will not write a hint to C node.
>
>
>>   4. B node comes back up, then C node forwards the data to it.
>>   5. B node own data right now, although the write operation is failure.
>>
>>   Correctly?
>>
>> Thanks.
>>
>> Shen
>>
>
>
>
> --
> Best Regards
> Anty Rao
>

Re: Question about hinted handoff

Posted by Anty <an...@gmail.com>.
On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com> wrote:

> Hi all,
>
>   Please consider this case: (RF=1, CL=ONE)
>
>   1. I have A, B and C nodes.
>   2. A node is a coordinator node, it sends a request to B node to do write
> operation.
>   3. B node is down during write operation, so return failure message to
> client, and write a hint to C node.
>
I think node A will return failure message to client.
and will not write a hint to C node.


>   4. B node comes back up, then C node forwards the data to it.
>   5. B node own data right now, although the write operation is failure.
>
>   Correctly?
>
> Thanks.
>
> Shen
>



-- 
Best Regards
Anty Rao

Re: Question about hinted handoff

Posted by ChingShen <ch...@gmail.com>.
So, am I correctly?

Shen

On Thu, Jul 8, 2010 at 5:33 PM, Anty <an...@gmail.com> wrote:

> Sorry I am wrong .Miss the CF=one.
>
>
> On Thu, Jul 8, 2010 at 5:27 PM, Anty <an...@gmail.com> wrote:
>
>>
>>
>> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com>wrote:
>>
>>> Hi all,
>>>
>>>   Please consider this case: (RF=1, CL=ONE)
>>>
>>>   1. I have A, B and C nodes.
>>>   2. A node is a coordinator node, it sends a request to B node to do
>>> write operation.
>>>
>> No ,will not choose B , write the data locally in Node A.
>> if RF=2
>> may choose C as hint  and replica node.
>>
>>>   3. B node is down during write operation, so return failure message to
>>> client, and write a hint to C node.
>>>   4. B node comes back up, then C node forwards the data to it.
>>>   5. B node own data right now, although the write operation is failure.
>>>
>>>   Correctly?
>>>
>>> Thanks.
>>>
>>> Shen
>>>
>>
>>
>>
>> --
>> Best Regards
>> Anty Rao
>>
>
>
>
> --
> Best Regards
> Anty Rao
>

Re: Question about hinted handoff

Posted by Anty <an...@gmail.com>.
Sorry I am wrong .Miss the CF=one.

On Thu, Jul 8, 2010 at 5:27 PM, Anty <an...@gmail.com> wrote:

>
>
> On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com> wrote:
>
>> Hi all,
>>
>>   Please consider this case: (RF=1, CL=ONE)
>>
>>   1. I have A, B and C nodes.
>>   2. A node is a coordinator node, it sends a request to B node to do
>> write operation.
>>
> No ,will not choose B , write the data locally in Node A.
> if RF=2
> may choose C as hint  and replica node.
>
>>   3. B node is down during write operation, so return failure message to
>> client, and write a hint to C node.
>>   4. B node comes back up, then C node forwards the data to it.
>>   5. B node own data right now, although the write operation is failure.
>>
>>   Correctly?
>>
>> Thanks.
>>
>> Shen
>>
>
>
>
> --
> Best Regards
> Anty Rao
>



-- 
Best Regards
Anty Rao

Re: Question about hinted handoff

Posted by Anty <an...@gmail.com>.
On Thu, Jul 8, 2010 at 4:11 PM, ChingShen <ch...@gmail.com> wrote:

> Hi all,
>
>   Please consider this case: (RF=1, CL=ONE)
>
>   1. I have A, B and C nodes.
>   2. A node is a coordinator node, it sends a request to B node to do write
> operation.
>
No ,will not choose B , write the data locally in Node A.
if RF=2
may choose C as hint  and replica node.

>   3. B node is down during write operation, so return failure message to
> client, and write a hint to C node.
>   4. B node comes back up, then C node forwards the data to it.
>   5. B node own data right now, although the write operation is failure.
>
>   Correctly?
>
> Thanks.
>
> Shen
>



-- 
Best Regards
Anty Rao