Thanks I've created JIRA CASSANDRA-6367 for that functionality.

Regards.

On 17 Nov 2013, at 20:33, Jonathan Ellis <jbel...@gmail.com> wrote:

> Right.
> On Nov 17, 2013 11:00 AM, "Cyril Scetbon" <cyril.scet...@free.fr> wrote:
> 
>> and/or a nodetool purgelocalhints command ?
>> 
>> On 15 Nov 2013, at 05:56, Jonathan Ellis <jbel...@gmail.com> wrote:
>> 
>>> You're right.  You'd want to expose the node-local truncate over JMX.
>>> 
>>> On Sun, Nov 10, 2013 at 3:48 AM, Cyril Scetbon <cyril.scet...@free.fr>
>> wrote:
>>>> Are you really sure of that ? cause Tracing says the opposite when I do
>> it on one node :
>>>> 
>>>> cqlsh:system> TRUNCATE hints ;
>>>> 
>>>> Tracing session: fe0dbc80-49dd-11e3-a39b-e367b713537d
>>>> 
>>>> activity
>>                | timestamp    | source     | source_elapsed
>>>> 
>> ----------------------------------------------------------------------------------------+--------------+------------+----------------
>>>> 
>> execute_cql3_query | 07:59:15,019 |  10.0.0.37 |              0
>>>>                                                              Parsing
>> TRUNCATE hints ; | 07:59:15,020 |  10.0.0.37 |            991
>>>> 
>> Preparing statement | 07:59:15,021 |  10.0.0.37 |           2009
>>>> Enqueuing truncate messages to hosts [/10.0.0.185, /10.0.0.33, /
>> 10.0.0.17, /10.0.0.37] | 07:59:15,023 |  10.0.0.37 |           4459
>>>>                                                      Message received
>> from /10.0.0.37 | 07:59:15,186 |  10.0.0.33 |            121
>>>>                                                   Applying truncation
>> of system.hints | 07:59:15,200 |  10.0.0.33 |          11064
>>>>                                                         Sending
>> message to /10.0.0.37 | 07:59:15,214 |  10.0.0.37 |         195660
>>>>                                                         Sending
>> message to /10.0.0.33 | 07:59:15,217 |  10.0.0.37 |         198664
>>>>                                                      Message received
>> from /10.0.0.37 | 07:59:15,230 | 10.0.0.185 |            149
>>>>                                                   Applying truncation
>> of system.hints | 07:59:15,240 | 10.0.0.185 |           6248
>>>>                                                      Message received
>> from /10.0.0.37 | 07:59:15,244 |  10.0.0.17 |            117
>>>>                                                        Sending message
>> to /10.0.0.185 | 07:59:15,247 |  10.0.0.37 |         134087
>>>>                                                         Sending
>> message to /10.0.0.17 | 07:59:15,248 |  10.0.0.37 |         134760
>>>>                                                      Message received
>> from /10.0.0.37 | 07:59:15,251 |  10.0.0.37 |         232058
>>>>                                                   Applying truncation
>> of system.hints | 07:59:15,254 |  10.0.0.37 |         234904
>>>>                                                   Applying truncation
>> of system.hints | 07:59:15,259 |  10.0.0.17 |           8574
>>>>                                Enqueuing response to truncate
>> operation to /10.0.0.37 | 07:59:15,388 |  10.0.0.17 |         144491
>>>>                                                         Sending
>> message to /10.0.0.37 | 07:59:15,389 |  10.0.0.17 |         145341
>>>>                                                      Message received
>> from /10.0.0.17 | 07:59:15,461 |  10.0.0.37 |         441863
>>>>                                                   Processing response
>> from /10.0.0.17 | 07:59:15,502 |  10.0.0.37 |         482942
>>>>                                Enqueuing response to truncate
>> operation to /10.0.0.37 | 07:59:15,578 |  10.0.0.33 |         391940
>>>>                                                         Sending
>> message to /10.0.0.37 | 07:59:15,578 |  10.0.0.33 |         392364
>>>>                                                      Message received
>> from /10.0.0.33 | 07:59:15,632 |  10.0.0.37 |         613172
>>>>                                                   Processing response
>> from /10.0.0.33 | 07:59:15,632 |  10.0.0.37 |         613303
>>>>                                Enqueuing response to truncate
>> operation to /10.0.0.37 | 07:59:15,736 |  10.0.0.37 |         717066
>>>>                                                         Sending
>> message to /10.0.0.37 | 07:59:15,738 |  10.0.0.37 |         719165
>>>>                                                      Message received
>> from /10.0.0.37 | 07:59:15,739 |  10.0.0.37 |           null
>>>>                                                   Processing response
>> from /10.0.0.37 | 07:59:15,739 |  10.0.0.37 |           null
>>>>                                Enqueuing response to truncate
>> operation to /10.0.0.37 | 07:59:15,915 | 10.0.0.185 |         685116
>>>>                                                         Sending
>> message to /10.0.0.37 | 07:59:15,915 | 10.0.0.185 |         685519
>>>>                                                     Message received
>> from /10.0.0.185 | 07:59:15,936 |  10.0.0.37 |           null
>>>>                                                  Processing response
>> from /10.0.0.185 | 07:59:15,936 |  10.0.0.37 |           null
>>>> 
>> Request complete | 07:59:15,936 |  10.0.0.37 |         917846
>>>> 
>>>> I also tried to generate different hints on different nodes, and
>> truncating the table on one node removed data everywhere :
>>>> 
>>>> 
>>>> node 1
>>>> 
>>>> at t1
>>>> 
>>>> cqlsh> select * from system.hints ;
>>>> 
>>>> target_id                            | hint_id
>>     | message_version | mutation
>>>> 
>> --------------------------------------+--------------------------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>> 748cb454-da16-4218-b6ac-728f0fe0cf41 |
>> 9f152ea0-49e9-11e3-af88-ed7ea188ea44 |               6 |
>> 0x0006706e735f667200086373636574626f6e00000001019cad5323f2a6389388a31004124bdf2d7fffffff800000000000000000000000000000020003000000000004eacf278eb3a0000000000006000376616c00000004eacf278eb3a0000000040000270f
>>>> 78078974-1f02-4da8-9902-cca56291a9dc |
>> 474e4c30-49ec-11e3-af88-ed7ea188ea44 |               6 |
>> 0x0006706e735f6672000868706172736f6e7300000001019cad5323f2a6389388a31004124bdf2d7fffffff800000000000000000000000000000020003000000000004eacf6b945e10000000000006000376616c00000004eacf6b945e1000000004000010f7
>>>> 78078974-1f02-4da8-9902-cca56291a9dc |
>> 4e64df70-49ec-11e3-af88-ed7ea188ea44 |               6 |
>> 0x0006706e735f667200086373636574626f6e00000001019cad5323f2a6389388a31004124bdf2d7fffffff800000000000000000000000000000020003000000000004eacf6c49f270000000000006000376616c00000004eacf6c49f2700000000400001618
>>>> 
>>>> at t2
>>>> 
>>>> cqlsh:pns_fr> TRUNCATE system.hints ;
>>>> cqlsh:pns_fr> select * from system.hints ;
>>>> 
>>>> node 2
>>>> 
>>>> at t1
>>>> 
>>>> cqlsh:pns_fr> select * from system.hints ;
>>>> 
>>>> target_id                            | hint_id
>>     | message_version | mutation
>>>> 
>> --------------------------------------+--------------------------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>> 78078974-1f02-4da8-9902-cca56291a9dc |
>> aa8f4da0-49ea-11e3-a8dc-e367b713537d |               6 |
>> 0x0006706e735f667200086373636574626f6e00000001019cad5323f2a6389388a31004124bdf2d7fffffff800000000000000000000000000000020003000000000004eacf424d88b0000000000006000376616c00000004eacf424d88b000000004000004bc
>>>> 
>>>> at t2
>>>> 
>>>> cqlsh:pns_fr> select * from system.hints ;
>>>> 
>>>> Regards
>>>> --
>>>> Cyril SCETBON
>>>> 
>>>> On 09 Nov 2013, at 22:48, Jonathan Ellis <jbel...@gmail.com> wrote:
>>>> 
>>>>> Hints are not replicated (technically: replicated with LocalStrategy),
>>>>> so truncating hints will always only affect the local node.
>>>>> 
>>>>> On Sat, Nov 9, 2013 at 3:44 PM, Cyril Scetbon <cyril.scet...@free.fr>
>> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> I would like to add a feature request for local truncates of hints
>> but I want to know your opinion before.
>>>>>> 
>>>>>> We faced an issue last week concerning 3 new nodes that where not
>> seen by some other nodes in the ring. a week later we resolved the issues
>> but it was taking days with a high CPU load (85%) to apply GBytes of Hints.
>> I noticed that CF Hints is defined with LocalStategy and so thought the
>> truncate was only local but that wasn't. We had to remove sstables,
>> commitlog and cached to remove all that old hints stored but not removed
>> after max_hint_window_in_ms  as target nodes where not dead (they were only
>> not accepting hints).
>>>>>> 
>>>>>> So, I suggest that the truncate of hints stay local (maybe you need
>> it to stay global per default ?) or that we could do it locally (a truncate
>> argument or a new command like the one used for CONSISTENCY)
>>>>>> 
>>>>>> thanks
>>>>>> --
>>>>>> Cyril SCETBON
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Jonathan Ellis
>>>>> Project Chair, Apache Cassandra
>>>>> co-founder, http://www.datastax.com
>>>>> @spyced
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder, http://www.datastax.com
>>> @spyced
>> 
>> 

Reply via email to