Did you make sure there were no under replicated partitions before issuing
the preferred leader election?

Thanks,

Jun


On Mon, Apr 14, 2014 at 4:34 PM, Bello, Bob <bob.be...@dish.com> wrote:

> Hello All,
>
> After performing an upgrade of our Kafka 0.8.0 to Kafka 0.8.1, we are
> receiving a failure in the preferred replica election process. I am not
> sure if this is a known issue or not. This is a two node Kafka cluster in
> our QA environment (replica 2) with a total of 2100+ partitions over 20
> topics.
>
>
> Upon the first run, we get the following output:
>
> Performing Rebalancing Process...
> 2014-04-14 17:04:22 DEBUG zkclient.ZkConnection - Creating new ZookKeeper
> instance to connect to tvip-m1-mw-zookeeper.dish.com:2181.
> 2014-04-14 17:04:22 INFO zkclient.ZkEventThread - Starting ZkClient event
> thread.
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:zookeeper.version=3.3.3-1203054, built on 11/17/2011 05:47 GMT
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client environment:
> host.name=tm1mwdpl05
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.version=1.7.0_51
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.vendor=Oracle Corporation
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.home=/apps/des/jdk1.7.0_51/jre
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.class.path=:/apps/des/kafka/bin/../core/build/dependant-libs-2.8.0/*.jar:/apps/des/kafka/bin/../perf/build/libs//kafka-perf_2.8.0*.jar:/apps/des/kafka/bin/../clients/build/libs//kafka-clients*.jar:/apps/des/kafka/bin/../examples/build/libs//kafka-examples*.jar:/apps/des/kafka/bin/../contrib/hadoop-consumer/build/libs//kafka-hadoop-consumer*.jar:/apps/des/kafka/bin/../contrib/hadoop-producer/build/libs//kafka-hadoop-producer*.jar:/apps/des/kafka/bin/../libs/jopt-simple-3.2.jar:/apps/des/kafka/bin/../libs/kafka_2.10-0.8.1.jar:/apps/des/kafka/bin/../libs/log4j-1.2.15.jar:/apps/des/kafka/bin/../libs/metrics-annotation-2.2.0.jar:/apps/des/kafka/bin/../libs/metrics-core-2.2.0.jar:/apps/des/kafka/bin/../libs/scala-library-2.10.1.jar:/apps/des/kafka/bin/../libs/slf4j-api-1.7.2.jar:/apps/des/kafka/bin/../libs/snappy-java-1.0.5.jar:/apps/des/kafka/bin/../libs/zkclient-0.3.jar:/apps/des/kafka/bin/../libs/zookeeper-3.3.4.jar:/apps/des/kafka/bin/../core/build/libs/kafka_2.8.0*.jar
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.io.tmpdir=/tmp
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:java.compiler=<NA>
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client environment:os.name
> =Linux
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:os.arch=amd64
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:os.version=2.6.32-220.el6.x86_64
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client environment:
> user.name=desadmin
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:user.home=/apps/des
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Client
> environment:user.dir=/apps/des/bin
> 2014-04-14 17:04:22 INFO zookeeper.ZooKeeper - Initiating client
> connection, 
> connectString=tvip-m1-mw-zookeeper.dish.com:2181sessionTimeout=30000 
> watcher=org.I0Itec.zkclient.ZkClient@77a63a20
> 2014-04-14 17:04:22 DEBUG zookeeper.ClientCnxn -
> zookeeper.disableAutoWatchReset is false
> 2014-04-14 17:04:22 DEBUG zkclient.ZkClient - Awaiting connection to
> Zookeeper server
> 2014-04-14 17:04:22 DEBUG zkclient.ZkClient - Waiting for keeper state
> SyncConnected
> 2014-04-14 17:04:22 INFO zookeeper.ClientCnxn - Opening socket connection
> to server tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181
> 2014-04-14 17:04:22 INFO zookeeper.ClientCnxn - Socket connection
> established to tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181, initiating
> session
> 2014-04-14 17:04:22 DEBUG zookeeper.ClientCnxn - Session establishment
> request sent on tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181
> 2014-04-14 17:04:22 INFO zookeeper.ClientCnxn - Session establishment
> complete on server tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181,
> sessionid = 0x2453d08efcac215, negotiated timeout = 30000
> 2014-04-14 17:04:22 DEBUG zkclient.ZkClient - Received event: WatchedEvent
> state:SyncConnected type:None path:null
> 2014-04-14 17:04:22 INFO zkclient.ZkClient - zookeeper state changed
> (SyncConnected)
> 2014-04-14 17:04:22 DEBUG zkclient.ZkClient - Leaving process event
> 2014-04-14 17:04:22 DEBUG zkclient.ZkClient - State is SyncConnected
> 2014-04-14 17:04:22 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x2453d08efcac215, packet:: clientPath:null serverPath:null
> finished:false header:: 1,8  replyHeader:: 1,73101951651,0  request::
> '/brokers/topics,F  response::
> v{'bill-generated,'bob_test_topic,'rain-burn-in,'account-adjustment-issued,'account-access,'customer-cues,'submit-agreement,'logtest_v3,'account-created,'rain-load-test,'outbound-call-attempted,'account-info-updated,'rain-enhanced-consumer,'threshold-exceeded,'account-activated,'rain-enhanced,'outbound-communications}
> 2014-04-14 17:04:22 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x2453d08efcac215, packet:: clientPath:null serverPath:null
> finished:false header:: 2,8  replyHeader:: 2,73101951651,0  request::
> '/brokers/topics/bill-generated/partitions,F  response::
> v{'35,'36,'33,'34,'39,'37,'38,'43,'42,'41,'40,'22,'23,'24,'25,'26,'27,'28,'29,'3,'2,'1,'0,'30,'7,'6,'32,'5,'4,'31,'9,'8,'19,'17,'18,'15,'16,'13,'14,'11,'12,'21,'20,'109,'108,'107,'106,'105,'104,'103,'99,'102,'101,'100,'98,'97,'96,'95,'94,'93,'92,'91,'90,'10,'88,'89,'116,'79,'117,'114,'78,'77,'115,'112,'113,'110,'111,'118,'119,'82,'83,'80,'81,'86,'87,'84,'85,'67,'125,'126,'66,'69,'127,'68,'128,'121,'122,'123,'124,'129,'70,'71,'120,'72,'73,'74,'75,'76,'59,'58,'57,'56,'55,'64,'65,'62,'63,'60,'61,'130,'49,'48,'45,'44,'47,'46,'51,'52,'53,'54,'50}
> 2014-04-14 17:04:22 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x2453d08efcac215, packet:: clientPath:null serverPath:null
> finished:false header:: 3,8  replyHeader:: 3,73101951651,0  request::
> '/brokers/topics/bob_test_topic/partitions,F  response::
> v{'3,'2,'1,'0,'6,'5,'4}
>
>
>
> 2014-04-14 17:05:11 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x2453d08efcac215, packet:: clientPath:null serverPath:null
> finished:false header::
> 2122,1  replyHeader:: 2122,73101958104,0  request::
> '/admin/preferred_replica_election,#7b2276657273696f6e
>
> *big list of hex values*
>
> 6974696f6e223a35317d2c7b22746f706963223a2262696c6c2d67656e657261
>
> 746564222c22706172746974696f6e223a34377d2c7b22746f706963223a226c6f67746573745f7633222c22706172746974696f6e223a377d2c7b22746f706963223a227261696e2d656e68616e6
> 365642d636f6e73756d6572222c22706172746974696f6e223a357d5d7d,v{s{31,s{'world,'anyone}}},0
>  response:: '/admin/preferred_replica_election
>
> 2014-04-14 17:05:11 INFO admin.PreferredReplicaLeaderElectionCommand$ -
> Created preferred replica election path with
> {"version":1,"partitions":[{"topic":"acc
>
> ount-info-updated","partition":36},{"topic":"outbound-communications","partition":39},{"topic":"account-access","partition":107},{"topic":"account-created","
> partition":8},{"topic":"rain-burn-in","partition":46}
>
> *huge list of topics and partitions*
>
> [submit-agreement,31])
> 2014-04-14 17:05:11 DEBUG zkclient.ZkClient - Closing ZkClient...
> 2014-04-14 17:05:11 INFO zkclient.ZkEventThread - Terminate ZkClient event
> thread.
> 2014-04-14 17:05:11 DEBUG zkclient.ZkConnection - Closing ZooKeeper
> connected to tvip-m1-mw-zookeeper.dish.com:2181
> 2014-04-14 17:05:11 DEBUG zookeeper.ZooKeeper - Closing session:
> 0x2453d08efcac215
> 2014-04-14 17:05:11 DEBUG zookeeper.ClientCnxn - Closing client for
> session: 0x2453d08efcac215
> 2014-04-14 17:05:11 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x2453d08efcac215, packet:: clientPath:null serverPath:null
> finished:false header:: 2123,-11  replyHeader:: 2123,73101958105,0
>  request:: null response:: null
> 2014-04-14 17:05:11 DEBUG zookeeper.ClientCnxn - Disconnecting client for
> session: 0x2453d08efcac215
> 2014-04-14 17:05:11 INFO zookeeper.ZooKeeper - Session: 0x2453d08efcac215
> closed
> 2014-04-14 17:05:11 DEBUG zkclient.ZkClient - Closing ZkClient...done
> 2014-04-14 17:05:11 DEBUG zookeeper.ClientCnxn - An exception was thrown
> while closing send thread for session 0x2453d08efcac215 : Unable to read
> additional data from server sessionid 0x2453d08efcac215, likely server has
> closed socket
> 2014-04-14 17:05:11 INFO zookeeper.ClientCnxn - EventThread shut down
>
>
> If I perform a topic list, I will see the partitions balanced between the
> brokers. However if I check in zookeeper, I see the following admin node
> still existing:
>
> [zk: tm1-zookeeper101:2181(CONNECTED) 0] get
> /admin/preferred_replica_election
>
> {"version":1,"partitions":[{"topic":"account-info-updated","partition":36},
>
> *large list of topic and partitions*
>
> ,{"topic":"rain-enhanced-consumer","partition":5}]}
> cZxid = 0x1105375bd8
> ctime = Mon Apr 14 17:05:11 MDT 2014
> mZxid = 0x1105375bd8
> mtime = Mon Apr 14 17:05:11 MDT 2014
> pZxid = 0x1105375bd8
> cversion = 0
> dataVersion = 0
> aclVersion = 0
> ephemeralOwner = 0x0
> dataLength = 94578
> numChildren = 0
>
> It appears that node was not removed after the election occurred. It looks
> like this is taking over 30 seconds. Perhaps this process is taking over 30
> seconds as defined in the zookeeper session timeout?
>
> If I re-run the election (with the admin node still in place), I get the
> following error:
>
>
> Performing Rebalancing Process...
> 2014-04-14 17:18:13 DEBUG zkclient.ZkConnection - Creating new ZookKeeper
> instance to connect to tvip-m1-mw-zookeeper.dish.com:2181.
> 2014-04-14 17:18:13 INFO zkclient.ZkEventThread - Starting ZkClient event
> thread.
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:zookeeper.version=3.3.3-1203054, built on 11/17/2011 05:47 GMT
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client environment:
> host.name=tm1mwdpl05
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.version=1.7.0_51
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.vendor=Oracle Corporation
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.home=/apps/des/jdk1.7.0_51/jre
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.class.path=:/apps/des/kafka/bin/../core/build/dependant-libs-2.8.0/*.jar:/apps/des/kafka/bin/../perf/build/libs//kafka-perf_2.8.0*.jar:/apps/des/kafka/bin/../clients/build/libs//kafka-clients*.jar:/apps/des/kafka/bin/../examples/build/libs//kafka-examples*.jar:/apps/des/kafka/bin/../contrib/hadoop-consumer/build/libs//kafka-hadoop-consumer*.jar:/apps/des/kafka/bin/../contrib/hadoop-producer/build/libs//kafka-hadoop-producer*.jar:/apps/des/kafka/bin/../libs/jopt-simple-3.2.jar:/apps/des/kafka/bin/../libs/kafka_2.10-0.8.1.jar:/apps/des/kafka/bin/../libs/log4j-1.2.15.jar:/apps/des/kafka/bin/../libs/metrics-annotation-2.2.0.jar:/apps/des/kafka/bin/../libs/metrics-core-2.2.0.jar:/apps/des/kafka/bin/../libs/scala-library-2.10.1.jar:/apps/des/kafka/bin/../libs/slf4j-api-1.7.2.jar:/apps/des/kafka/bin/../libs/snappy-java-1.0.5.jar:/apps/des/kafka/bin/../libs/zkclient-0.3.jar:/apps/des/kafka/bin/../libs/zookeeper-3.3.4.jar:/apps/des/kafka/bin/../core/build/libs/kafka_2.8.0*.jar
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.io.tmpdir=/tmp
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:java.compiler=<NA>
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client environment:os.name
> =Linux
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:os.arch=amd64
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:os.version=2.6.32-220.el6.x86_64
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client environment:
> user.name=desadmin
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:user.home=/apps/des
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Client
> environment:user.dir=/apps/des/bin
> 2014-04-14 17:18:13 INFO zookeeper.ZooKeeper - Initiating client
> connection, 
> connectString=tvip-m1-mw-zookeeper.dish.com:2181sessionTimeout=30000 
> watcher=org.I0Itec.zkclient.ZkClient@73250065
> 2014-04-14 17:18:13 DEBUG zookeeper.ClientCnxn -
> zookeeper.disableAutoWatchReset is false
> 2014-04-14 17:18:13 DEBUG zkclient.ZkClient - Awaiting connection to
> Zookeeper server
> 2014-04-14 17:18:13 DEBUG zkclient.ZkClient - Waiting for keeper state
> SyncConnected
> 2014-04-14 17:18:13 INFO zookeeper.ClientCnxn - Opening socket connection
> to server tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181
> 2014-04-14 17:18:13 INFO zookeeper.ClientCnxn - Socket connection
> established to tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181, initiating
> session
> 2014-04-14 17:18:13 DEBUG zookeeper.ClientCnxn - Session establishment
> request sent on tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181
> 2014-04-14 17:18:13 INFO zookeeper.ClientCnxn - Session establishment
> complete on server tvip-m1-mw-zookeeper.dish.com/10.18.60.25:2181,
> sessionid = 0x1453d08efa2c2b7, negotiated timeout = 30000
> 2014-04-14 17:18:13 DEBUG zkclient.ZkClient - Received event: WatchedEvent
> state:SyncConnected type:None path:null
> 2014-04-14 17:18:13 INFO zkclient.ZkClient - zookeeper state changed
> (SyncConnected)
> 2014-04-14 17:18:13 DEBUG zkclient.ZkClient - Leaving process event
> 2014-04-14 17:18:13 DEBUG zkclient.ZkClient - State is SyncConnected
> 2014-04-14 17:18:13 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x1453d08efa2c2b7, packet:: clientPath:null serverPath:null
> finished:false header:: 1,8  replyHeader:: 1,73102061236,0  request::
> '/brokers/topics,F  response::
> v{'bill-generated,'bob_test_topic,'rain-burn-in,'account-adjustment-issued,'account-access,'customer-cues,'submit-agreement,'logtest_v3,'account-created,'rain-load-test,'outbound-call-attempted,'account-info-updated,'threshold-exceeded,'rain-enhanced-consumer,'account-activated,'outbound-communications,'rain-enhanced}
> 2014-04-14 17:18:13 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x1453d08efa2c2b7, packet:: clientPath:null serverPath:null
> finished:false header:: 2,8  replyHeader:: 2,73102061261,0  request::
> '/brokers/topics/bill-generated/partitions,F  response::
> v{'35,'36,'33,'34,'39,'37,'38,'43,'42,'41,'40,'22,'23,'24,'25,'26,'27,'28,'29,'3,'2,'1,'0,'7,'30,'6,'5,'32,'31,'4,'9,'8,'19,'17,'18,'15,'16,'13,'14,'11,'12,'21,'20,'109,'108,'107,'106,'105,'104,'103,'99,'102,'101,'100,'98,'97,'96,'95,'94,'93,'92,'91,'90,'10,'88,'89,'116,'79,'117,'114,'78,'77,'115,'112,'113,'110,'111,'118,'119,'82,'83,'80,'81,'86,'87,'84,'85,'67,'125,'126,'66,'69,'127,'68,'128,'121,'122,'123,'124,'129,'70,'120,'71,'72,'73,'74,'75,'76,'59,'58,'57,'56,'55,'64,'65,'62,'63,'60,'130,'61,'49,'48,'45,'44,'47,'46,'51,'52,'53,'54,'50}
>
> *large list of logging statements*
>
>
> Failed to start preferred replica election
> kafka.common.AdminCommandFailedException: Admin command failed
>         at
> kafka.admin.PreferredReplicaLeaderElectionCommand.moveLeaderToPreferredReplica(PreferredReplicaLeaderElectionCommand.scala:115)
>         at
> kafka.admin.PreferredReplicaLeaderElectionCommand$.main(PreferredReplicaLeaderElectionCommand.scala:60)
>         at
> kafka.admin.PreferredReplicaLeaderElectionCommand.main(PreferredReplicaLeaderElectionCommand.scala)
> Caused by: kafka.admin.AdminOperationException: Preferred replica leader
> election currently in progress for Set([account-adjustment-issued,77],
>
> *large list of topics and partitions*
>
>
> [submit-agreement,31]). Aborting operation
>         at
> kafka.admin.PreferredReplicaLeaderElectionCommand$.writePreferredReplicaElectionData(PreferredReplicaLeaderElectionCommand.scala:101)
>         at
> kafka.admin.PreferredReplicaLeaderElectionCommand.moveLeaderToPreferredReplica(PreferredReplicaLeaderElectionCommand.scala:113)
>         ... 2 more
>
> 2014-04-14 17:19:00 DEBUG zkclient.ZkClient - Closing ZkClient...
> 2014-04-14 17:19:00 INFO zkclient.ZkEventThread - Terminate ZkClient event
> thread.
> 2014-04-14 17:19:00 DEBUG zkclient.ZkConnection - Closing ZooKeeper
> connected to tvip-m1-mw-zookeeper.dish.com:2181
> 2014-04-14 17:19:00 DEBUG zookeeper.ZooKeeper - Closing session:
> 0x1453d08efa2c2b7
> 2014-04-14 17:19:00 DEBUG zookeeper.ClientCnxn - Closing client for
> session: 0x1453d08efa2c2b7
> 2014-04-14 17:19:00 DEBUG zookeeper.ClientCnxn - Reading reply
> sessionid:0x1453d08efa2c2b7, packet:: clientPath:null serverPath:null
> finished:false header:: 2124,-11  replyHeader:: 2124,73102067456,0
>  request:: null response:: null
> 2014-04-14 17:19:00 DEBUG zookeeper.ClientCnxn - Disconnecting client for
> session: 0x1453d08efa2c2b7
> 2014-04-14 17:19:00 INFO zookeeper.ZooKeeper - Session: 0x1453d08efa2c2b7
> closed
> 2014-04-14 17:19:00 DEBUG zookeeper.ClientCnxn - An exception was thrown
> while closing send thread for session 0x1453d08efa2c2b7 : Unable to read
> additional data from server sessionid 0x1453d08efa2c2b7, likely server has
> closed socket
> 2014-04-14 17:19:00 INFO zookeeper.ClientCnxn - EventThread shut down
> 2014-04-14 17:19:00 DEBUG zkclient.ZkClient - Closing ZkClient...done
>
>
> If I manually remove the /admin/preferred_replica_election node, the java
> exception goes away.
>
> A bit of other information:
>
> At worst ParNew GC time: 25-36 ms (total time per 15 second interval, 1-2
>  GCs per 15 second interval) per Broker during this operation. No CMS GCing
> occurring.
>
>
> Any ideas?
>
> Thanks
>
> /bob
>

Reply via email to