incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée <nicolas.lale...@hibnet.org>
Subject Re: Dead node still being pinged
Date Tue, 12 Jun 2012 10:25:51 GMT
Le 12 juin 2012 à 11:03, aaron morton a écrit :

> Try purging the hints for 10.10.0.24 using the HintedHandOffManager MBean.

As far as I could tell, there were no hinted hand off to be delivered. Nevertheless I have
called "deleteHintsForEndpoint" on every node for the two expected to be out nodes.
Nothing changed, I still see packet being send to these old nodes.

I looked closer to ResponsePendingTasks of MessagingService. Actually the numbers change,
between 0 and about 4. So tasks are ending but new ones come just after.

Nicolas

> 
> Cheers
> 
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
> 
> On 12/06/2012, at 3:33 AM, Nicolas Lalevée wrote:
> 
>> finally, thanks to the groovy jmx builder, it was not that hard.
>> 
>> 
>> Le 11 juin 2012 à 12:12, Samuel CARRIERE a écrit :
>> 
>>> If I were you, I would connect (through JMX, with jconsole) to one of the nodes
that is sending messages to an old node, and would have a look at these MBean : 
>>>   - org.apache.net.FailureDetector : does SimpleStates looks good ? (or do you
see an IP of an old node)
>> 
>> SimpleStates:[/10.10.0.22:DOWN, /10.10.0.24:DOWN, /10.10.0.26:UP, /10.10.0.25:UP,
/10.10.0.27:UP]
>> 
>>>   - org.apache.net.MessagingService : do you see one of the old IP in one of
the attributes ?
>> 
>> data-5:
>> CommandCompletedTasks:
>> [10.10.0.22:2, 10.10.0.26:6147307, 10.10.0.27:6084684, 10.10.0.24:2]
>> CommandPendingTasks:
>> [10.10.0.22:0, 10.10.0.26:0, 10.10.0.27:0, 10.10.0.24:0]
>> ResponseCompletedTasks:
>> [10.10.0.22:1487, 10.10.0.26:6187204, 10.10.0.27:6062890, 10.10.0.24:1495]
>> ResponsePendingTasks:
>> [10.10.0.22:0, 10.10.0.26:0, 10.10.0.27:0, 10.10.0.24:0]
>> 
>> data-6:
>> CommandCompletedTasks:
>> [10.10.0.22:2, 10.10.0.27:6064992, 10.10.0.24:2, 10.10.0.25:6308102]
>> CommandPendingTasks:
>> [10.10.0.22:0, 10.10.0.27:0, 10.10.0.24:0, 10.10.0.25:0]
>> ResponseCompletedTasks:
>> [10.10.0.22:1463, 10.10.0.27:6067943, 10.10.0.24:1474, 10.10.0.25:6367692]
>> ResponsePendingTasks:
>> [10.10.0.22:0, 10.10.0.27:0, 10.10.0.24:2, 10.10.0.25:0]
>> 
>> data-7:
>> CommandCompletedTasks:
>> [10.10.0.22:2, 10.10.0.26:6043653, 10.10.0.24:2, 10.10.0.25:5964168]
>> CommandPendingTasks:
>> [10.10.0.22:0, 10.10.0.26:0, 10.10.0.24:0, 10.10.0.25:0]
>> ResponseCompletedTasks:
>> [10.10.0.22:1424, 10.10.0.26:6090251, 10.10.0.24:1431, 10.10.0.25:6094954]
>> ResponsePendingTasks:
>> [10.10.0.22:4, 10.10.0.26:0, 10.10.0.24:1, 10.10.0.25:0]
>> 
>>>   - org.apache.net.StreamingService : do you see an old IP in StreamSources or
StreamDestinations ?
>> 
>> nothing streaming on the 3 nodes.
>> nodetool netstats confirmed that.
>> 
>>>   - org.apache.internal.HintedHandoff : are there non-zero ActiveCount, CurrentlyBlockedTasks,
PendingTasks, TotalBlockedTask ?
>> 
>> On the 3 nodes, all at 0.
>> 
>> I don't know much what I'm looking at, but it seems that some ResponsePendingTasks
needs to end.
>> 
>> Nicolas
>> 
>>> 
>>> Samuel 
>>> 
>>> 
>>> 
>>> Nicolas Lalevée <nicolas.lalevee@hibnet.org>
>>> 08/06/2012 21:03
>>> Veuillez répondre à
>>> user@cassandra.apache.org
>>> 
>>> A
>>> user@cassandra.apache.org
>>> cc
>>> Objet
>>> Re: Dead node still being pinged
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> Le 8 juin 2012 à 20:02, Samuel CARRIERE a écrit :
>>> 
>>>> I'm in the train but just a guess : maybe it's hinted handoff. A look in
the logs of the new nodes could confirm that : look for the IP of an old node and maybe you'll
find hinted handoff related messages.
>>> 
>>> I grepped on every node about every old node, I got nothing since the "crash".
>>> 
>>> If it can be of some help, here is some grepped log of the crash:
>>> 
>>> system.log.1: WARN [RMI TCP Connection(1037)-10.10.0.26] 2012-05-06 00:39:30,241
StorageService.java (line 2417) Endpoint /10.10.0.24 is down and will not receive data for
re-replication of /10.10.0.22
>>> system.log.1: WARN [RMI TCP Connection(1037)-10.10.0.26] 2012-05-06 00:39:30,242
StorageService.java (line 2417) Endpoint /10.10.0.24 is down and will not receive data for
re-replication of /10.10.0.22
>>> system.log.1: WARN [RMI TCP Connection(1037)-10.10.0.26] 2012-05-06 00:39:30,242
StorageService.java (line 2417) Endpoint /10.10.0.24 is down and will not receive data for
re-replication of /10.10.0.22
>>> system.log.1: WARN [RMI TCP Connection(1037)-10.10.0.26] 2012-05-06 00:39:30,243
StorageService.java (line 2417) Endpoint /10.10.0.24 is down and will not receive data for
re-replication of /10.10.0.22
>>> system.log.1: WARN [RMI TCP Connection(1037)-10.10.0.26] 2012-05-06 00:39:30,243
StorageService.java (line 2417) Endpoint /10.10.0.24 is down and will not receive data for
re-replication of /10.10.0.22
>>> system.log.1: INFO [GossipStage:1] 2012-05-06 00:44:33,822 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> system.log.1: INFO [GossipStage:1] 2012-05-06 04:25:23,894 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> system.log.1: INFO [OptionalTasks:1] 2012-05-06 04:25:23,895 HintedHandOffManager.java
(line 179) Deleting any stored hints for /10.10.0.24
>>> system.log.1: INFO [GossipStage:1] 2012-05-06 04:25:23,895 StorageService.java
(line 1157) Removing token 127605887595351923798765477786913079296 for /10.10.0.24
>>> system.log.1: INFO [GossipStage:1] 2012-05-09 04:26:25,015 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> 
>>> 
>>> Maybe its the way I have removed nodes ? AFAIR I didn't used the decommission
command. For each node I got the node down and then issue a remove token command.
>>> Here is what I can find in the log about when I removed one of them:
>>> 
>>> system.log.1: INFO [GossipTasks:1] 2012-05-02 17:21:10,281 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 17:21:21,496 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [GossipStage:1] 2012-05-02 17:21:59,307 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 17:31:20,336 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 17:41:06,177 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 17:51:18,148 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:00:31,709 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:11:02,521 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:20:38,282 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:31:09,513 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:40:31,565 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 18:51:10,566 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 19:00:32,197 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 19:11:17,018 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [HintedHandoff:1] 2012-05-02 19:21:21,759 HintedHandOffManager.java
(line 292) Endpoint /10.10.0.24 died before hint delivery, aborting
>>> system.log.1: INFO [GossipStage:1] 2012-05-02 20:05:57,281 Gossiper.java (line
818) InetAddress /10.10.0.24 is now dead.
>>> system.log.1: INFO [OptionalTasks:1] 2012-05-02 20:05:57,281 HintedHandOffManager.java
(line 179) Deleting any stored hints for /10.10.0.24
>>> system.log.1: INFO [GossipStage:1] 2012-05-02 20:05:57,281 StorageService.java
(line 1157) Removing token 145835300108973619103103718265651724288 for /10.10.0.24
>>> 
>>> 
>>> Nicolas
>>> 
>>> 
>>>> 
>>>> 
>>>> ----- Message d'origine -----
>>>> De : Nicolas Lalevée [nicolas.lalevee@hibnet.org]
>>>> Envoyé : 08/06/2012 19:26 ZE2
>>>> À : user@cassandra.apache.org
>>>> Objet : Re: Dead node still being pinged
>>>> 
>>>> 
>>>> 
>>>> Le 8 juin 2012 à 15:17, Samuel CARRIERE a écrit :
>>>> 
>>>>> What does nodetool ring says ? (Ask every node)
>>>> 
>>>> currently, each of new node see only the tokens of the new nodes.
>>>> 
>>>>> Have you checked that the list of seeds in every yaml is correct ?
>>>> 
>>>> yes, it is correct, every of my new node point to the first of my new node
>>>> 
>>>>> What version of cassandra are you using ?
>>>> 
>>>> Sorry I should have wrote this in my first mail.
>>>> I use the 1.0.9
>>>> 
>>>> Nicolas
>>>> 
>>>>> 
>>>>> Samuel
>>>>> 
>>>>> 
>>>>> 
>>>>> Nicolas Lalevée <nicolas.lalevee@hibnet.org>
>>>>> 08/06/2012 14:10
>>>>> Veuillez répondre à
>>>>> user@cassandra.apache.org
>>>>> 
>>>>> A
>>>>> user@cassandra.apache.org
>>>>> cc
>>>>> Objet
>>>>> Dead node still being pinged
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> I had a configuration where I had 4 nodes, data-1,4. We then bought 3
bigger machines, data-5,7. And we moved all data from data-1,4 to data-5,7.
>>>>> To move all the data without interruption of service, I added one new
node at a time. And then I removed one by one the old machines via a "remove token".
>>>>> 
>>>>> Everything was working fine. Until there was an expected load on our
cluster, the machine started to swap and become unresponsive. We fixed the unexpected load
and the three new machines were restarted. After that the new cassandra machines were stating
that some old token were not assigned, namely from data-2 and data-4. To fix this I issued
again some "remove token" commands.
>>>>> 
>>>>> Everything seems to be back to normal, but on the network I still see
some packet from the new cluster to the old machines. On the port 7000.
>>>>> How I can tell cassandra to completely forget about the old machines
?
>>>>> 
>>>>> Nicolas
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
> 


Mime
View raw message