From user-return-22653-apmail-cassandra-user-archive=cassandra.apache.org@cassandra.apache.org Thu Dec 1 12:06:12 2011 Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6BAB37E4B for ; Thu, 1 Dec 2011 12:06:12 +0000 (UTC) Received: (qmail 1252 invoked by uid 500); 1 Dec 2011 12:06:09 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 1216 invoked by uid 500); 1 Dec 2011 12:06:09 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 1206 invoked by uid 99); 1 Dec 2011 12:06:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Dec 2011 12:06:09 +0000 X-ASF-Spam-Status: No, hits=3.3 required=5.0 tests=HTML_MESSAGE,HTTP_ESCAPED_HOST,RCVD_IN_DNSWL_MED,SPF_NEUTRAL,TRACKER_ID X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [65.55.88.13] (HELO TX2EHSOBE006.bigfish.com) (65.55.88.13) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Dec 2011 12:06:03 +0000 Received: from mail127-tx2-R.bigfish.com (10.9.14.251) by TX2EHSOBE006.bigfish.com (10.9.40.26) with Microsoft SMTP Server id 14.1.225.22; Thu, 1 Dec 2011 12:05:40 +0000 Received: from mail127-tx2 (localhost [127.0.0.1]) by mail127-tx2-R.bigfish.com (Postfix) with ESMTP id 09E2120545 for ; Thu, 1 Dec 2011 12:05:40 +0000 (UTC) X-SpamScore: -3 X-BigFish: VPS-3(zzc858h62a3Kzz1202hzz8275bh8275dhz2dh2a8h668h839h61h) X-Spam-TCS-SCL: 0:0 X-Forefront-Antispam-Report: CIP:81.7.166.250;KIP:(null);UIP:(null);IPV:NLI;H:mail.adform.com;RD:none;EFVD:NLI Received: from mail127-tx2 (localhost.localdomain [127.0.0.1]) by mail127-tx2 (MessageSwitch) id 1322741138913796_2448; Thu, 1 Dec 2011 12:05:38 +0000 (UTC) Received: from TX2EHSMHS020.bigfish.com (unknown [10.9.14.250]) by mail127-tx2.bigfish.com (Postfix) with ESMTP id D1AC43A0044 for ; Thu, 1 Dec 2011 12:05:38 +0000 (UTC) Received: from mail.adform.com (81.7.166.250) by TX2EHSMHS020.bigfish.com (10.9.99.120) with Microsoft SMTP Server (TLS) id 14.1.225.22; Thu, 1 Dec 2011 12:05:34 +0000 Received: from DKEXC001.adform.com ([::1]) by DKEXC001.adform.com ([::1]) with mapi id 14.01.0355.002; Thu, 1 Dec 2011 14:05:14 +0200 From: Viktor Jevdokimov To: "user@cassandra.apache.org" Subject: NetworkTopologyStrategy bug? Thread-Topic: NetworkTopologyStrategy bug? Thread-Index: AcywHUwW8LTY+L4yTz2ISvklNHFxNg== Date: Thu, 1 Dec 2011 12:05:13 +0000 Message-ID: <2C85E14562B39345BCCAD90B8E7955C9011C8C@DKEXC001.adform.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [192.168.0.95] Content-Type: multipart/related; boundary="_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_"; type="multipart/alternative" MIME-Version: 1.0 X-OriginatorOrg: adform.com --_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: multipart/alternative; boundary="_000_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_" --_000_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable Assume for now we have 1 DC and 1 rack with 3 nodes. Ring will look like: (we use own snitch, which returns DC=3D0, Rack=3D0 for this case). Address DC Rack Token = 113427455640312821154458202477256070484 10.0.0.1 0 0 = 0 10.0.0.2 0 0 = 56713727820156410577229101238628035242 10.0.0.3 0 0 = 113427455640312821154458202477256070484 Schema: ReplicaPlacementStrategy=3DNetworkTopologyStrategy, options: [0:2] = (2 replicas in DC 0). When trying to run cleanup (same problem with repair), Cassandra reports: >From 10.0.0.1: DEBUG [time] 10.0.0.2,10.0.0.3 endpoints in datacenter 0 for token 0 DEBUG [time] 10.0.0.2,10.0.0.3 endpoints in datacenter 0 for token 56713727= 820156410577229101238628035242 DEBUG [time] 10.0.0.3,10.0.0.2 endpoints in datacenter 0 for token 11342745= 5640312821154458202477256070484 INFO [time] Cleanup cannot run before a node has joined the ring >From 10.0.0.2: DEBUG [time] 10.0.0.1,10.0.0.3 endpoints in datacenter 0 for token 0 DEBUG [time] 10.0.0.1,10.0.0.3 endpoints in datacenter 0 for token 56713727= 820156410577229101238628035242 DEBUG [time] 10.0.0.3,10.0.0.1 endpoints in datacenter 0 for token 11342745= 5640312821154458202477256070484 INFO [time] Cleanup cannot run before a node has joined the ring >From 10.0.0.3: DEBUG [time] 10.0.0.1,10.0.0.2 endpoints in datacenter 0 for token 0 DEBUG [time] 10.0.0.1,10.0.0.2 endpoints in datacenter 0 for token 56713727= 820156410577229101238628035242 DEBUG [time] 10.0.0.2,10.0.0.1 endpoints in datacenter 0 for token 11342745= 5640312821154458202477256070484 INFO [time] Cleanup cannot run before a node has joined the ring For me this means, that one node thinks that whole data range is on other t= wo nodes. As a result: WRITE request with any key/any token sent to 10.0.0.1 controller will be fo= rwarded and saved on 10.0.0.2 and 10.0.0.3 READ request with CL.One with any key/any token sent to 10.0.0.2 controller= will be forwarded to 10.0.0.1 or 10.0.0.3, and since 10.0.0.1 can't have d= ata for write above, some requests fails, some don't (if 10.0.0.3 answers). More of it, every READ request to any node will be forwarded to other node. That what we have right now with 0.8.6 and up to 1.0.5 as with 3 nodes in 1= DC, as with 8x2 nodes. Best regards/ Pagarbiai Viktor Jevdokimov Senior Developer Email: Viktor.Jevdokimov@adform.com Phone: +370 5 212 3063. Fax: +370 5 261 0453 J. Jasinskio 16C, LT-01112 Vilnius, Lithuania [Adform news] [Visit us!] Follow: [twitter] Visit our blog Disclaimer: The information contained in this message and attachments is in= tended solely for the attention and use of the named addressee and may be c= onfidential. If you are not the intended recipient, you are reminded that t= he information remains the property of the sender. You must not use, disclo= se, distribute, copy, print or rely on this e-mail. If you have received th= is message in error, please contact the sender immediately and irrevocably = delete this message and any copies. --_000_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable

Assume for now we have 1 DC and= 1 rack with 3 nodes. Ring will look like:

(we use own snitch, which retur= ns DC=3D0, Rack=3D0 for this case).

 

Address    =         DC     =             &nb= sp;     Rack       &= nbsp;           Token

     &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;     113427455640312821154458202477256070484<= /o:p>

10.0.0.1    = ;         0    =             &nb= sp;         0   &nbs= p;            &= nbsp;         0

10.0.0.2    = ;         0    =             &nb= sp;         0   &nbs= p;            &= nbsp;         567137278201564105772= 29101238628035242

10.0.0.3    = ;         0    =             &nb= sp;         0   &nbs= p;            &= nbsp;         113427455640312821154= 458202477256070484

 

Schema: ReplicaPlacementStrateg= y=3DNetworkTopologyStrategy, options: [0:2] (2 replicas in DC 0).

 

When trying to run cleanup (sam= e problem with repair), Cassandra reports:

 

From 10.0.0.1:

DEBUG [time] 10.0.0.2,10.0.0.3 = endpoints in datacenter 0 for token 0

DEBUG [time] 10.0.0.2,10.0.0.3 = endpoints in datacenter 0 for token 56713727820156410577229101238628035242

DEBUG [time] 10.0.0.3,10.0.0.2 = endpoints in datacenter 0 for token 113427455640312821154458202477256070484

INFO [time] Cleanup cannot run = before a node has joined the ring

 

From 10.0.0.2:

DEBUG [time] 10.0.0.1,10.0.0.3 = endpoints in datacenter 0 for token 0

DEBUG [time] 10.0.0.1,10.0.0.3 = endpoints in datacenter 0 for token 56713727820156410577229101238628035242

DEBUG [time] 10.0.0.3,10.0.0.1 = endpoints in datacenter 0 for token 113427455640312821154458202477256070484

INFO [time] Cleanup cannot run = before a node has joined the ring

 

From 10.0.0.3:

DEBUG [time] 10.0.0.1,10.0.0.2 = endpoints in datacenter 0 for token 0

DEBUG [time] 10.0.0.1,10.0.0.2 = endpoints in datacenter 0 for token 56713727820156410577229101238628035242

DEBUG [time] 10.0.0.2,10.0.0.1 = endpoints in datacenter 0 for token 113427455640312821154458202477256070484

INFO [time] Cleanup cannot run = before a node has joined the ring

 

For me this means, that one nod= e thinks that whole data range is on other two nodes.

 

As a result:<= /p>

 

WRITE request with any key/any = token sent to 10.0.0.1 controller will be forwarded and saved on 10.0.0.2 a= nd 10.0.0.3

READ request with CL.One with a= ny key/any token sent to 10.0.0.2 controller will be forwarded to 10.0.0.1 = or 10.0.0.3, and since 10.0.0.1 can’t have data for write above, some= requests fails, some don’t (if 10.0.0.3 answers).<= /p>

More of it, every READ request = to any node will be forwarded to other node.

 

That what we have right now wit= h 0.8.6 and up to 1.0.5 as with 3 nodes in 1 DC, as with 8x2 nodes.

 

 

 

Best regards/ Pagarbiai

 

Viktor Jevdokimov

Senior Developer

 

Email:  Viktor.Jevdokimov@adform.com

Phone: +370 5 212 3063. Fax: +370 5 261 0453

J. Jasinskio 16C, LT-01112 Vil= nius, Lithuania

 

 

3D"Adform

3D"Visit

Follow:

V= isit our blog

Disclaimer: The information c= ontained in this message and attachments is intended solely for the attenti= on and use of the named addressee and may be confidential. If you are not the intended recipient, you are remind= ed that the information remains the property of the sender. You must not us= e, disclose, distribute, copy, print or rely on this e-mail. If you have re= ceived this message in error, please contact the sender immediately and irrevocably delete this message and any= copies.


--_000_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_-- --_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: image/png; name="signature-logo29.png" Content-Description: signature-logo29.png Content-Disposition: inline; filename="signature-logo29.png"; size=2786; creation-date="Thu, 01 Dec 2011 12:05:14 GMT"; modification-date="Thu, 01 Dec 2011 12:05:14 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAGgAAAAcCAYAAACNr/p2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl SUQ9InhtcC5paWQ6Qzk5QzVCQzdEQjAyMTFFMEE0NDFCODQ4MzMzMkI3NzciIHhtcE1NOkRvY3Vt ZW50SUQ9InhtcC5kaWQ6Qzk5QzVCQzhEQjAyMTFFMEE0NDFCODQ4MzMzMkI3NzciPiA8eG1wTU06 RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOTlDNUJDNURCMDIxMUUwQTQ0 MUI4NDgzMzMyQjc3NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOTlDNUJDNkRCMDIxMUUw QTQ0MUI4NDgzMzMyQjc3NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqhJYX4AAAdWSURBVHja7FpNbFRVFD73zUwLpWlRKOFH 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 --_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: image/png; name="dm-exco4823.png" Content-Description: dm-exco4823.png Content-Disposition: inline; filename="dm-exco4823.png"; size=2585; creation-date="Thu, 01 Dec 2011 12:05:14 GMT"; modification-date="Thu, 01 Dec 2011 12:05:14 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAXAAAAANCAYAAACw0jWUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl SUQ9InhtcC5paWQ6Qzk5QzVCQ0JEQjAyMTFFMEE0NDFCODQ4MzMzMkI3NzciIHhtcE1NOkRvY3Vt ZW50SUQ9InhtcC5kaWQ6Qzk5QzVCQ0NEQjAyMTFFMEE0NDFCODQ4MzMzMkI3NzciPiA8eG1wTU06 RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOTlDNUJDOURCMDIxMUUwQTQ0 MUI4NDgzMzMyQjc3NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOTlDNUJDQURCMDIxMUUw QTQ0MUI4NDgzMzMyQjc3NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w bWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv5M8HoAAAaNSURBVHja7JuvU/Q8EMfbZ5gBBwocOHA4 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 fJTTc2dkkXAAAAAASUVORK5CYII= --_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_ Content-Type: image/png; name="tweet18be.png" Content-Description: tweet18be.png Content-Disposition: inline; filename="tweet18be.png"; size=1396; creation-date="Thu, 01 Dec 2011 12:05:14 GMT"; modification-date="Thu, 01 Dec 2011 12:05:14 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl SUQ9InhtcC5paWQ6QUY1MUU5NTREQjAzMTFFMEE0NDFCODQ4MzMzMkI3NzciIHhtcE1NOkRvY3Vt ZW50SUQ9InhtcC5kaWQ6QUY1MUU5NTVEQjAzMTFFMEE0NDFCODQ4MzMzMkI3NzciPiA8eG1wTU06 RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOTlDNUJDRERCMDIxMUUwQTQ0 MUI4NDgzMzMyQjc3NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOTlDNUJDRURCMDIxMUUw QTQ0MUI4NDgzMzMyQjc3NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgHDABAAAAHoSURBVHjajFTNSxtREP+9TWKzamKLpUYr Rajxo3gTPZgeBLH0T4geFXusSP+BUhRBkUKP4kH0ojeF4qUgvSgiBI0faQUVjBCqqI1JDInZfeO+ DfnYbBL9wSzvzcz7vZnZmceICIXw3YB+hoDfF0BUyekdVqC3Dhh5CzTIYPlnWD5RNAX6ekA6wWMY bAK+tDFmIhIkI9scRxE8Ga1OYMkj6WRSRjnm4/gbJhBPS+cLLY1XyO6LifCfDnA9Eqv4rJ5z2r5S Dbd977TBYQM+risIxalkVIunom6MdKKFUxUqNzoLEgGXHTiPUdkUV4IqrNEUUeC/WtJpvsdq2C+c KJjcVwy6XyGC9CfMwblZSqGv3mLyvU1qEYmg1TIHJ/xJBMI5u7i4sAx6scXf57x0DQ61tLcu1Udb QXr3XNIjKpTIfZq862Vxe77UyxqRs4Kx/gZz3nNHiXR/ddhx5q3Jyuz7SpPvh9eWdEMOtz4zGWf8 cczsxbORZdBYxUy+Qy323IiMbsRo+SRRNP8ely273vyXMti+dVXhU7vMDEP7eSNCS8eJJ8+at9mO Hx4nM02/wNROjKZ378oS1FQwjHc74HXLrOgzkkEwptLaWQJrwSQOrhXc3nO8qbago9YGj5bmgFvW yCTDe/QgwAAC7Ur/JIzd2wAAAABJRU5ErkJggg== --_006_2C85E14562B39345BCCAD90B8E7955C9011C8CDKEXC001adformcom_--