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

Reply via email to