thanks for your reply.

yes, there are more than one controller. the msg of "soft failure" is
reported by the old controller.

2016-05-31 11:42 GMT+08:00 Muqtafi Akhmad <muqt...@traveloka.com>:

> hello Fredo,
>
> My guess is that there was partition leader election that was might be
> triggered by detection of offline partition in Kafka cluster. Somehow the
> broker try to trigger leader election while previous election has been
> completed hence this log :
>
> > [2016-05-28 12:33:31,511] ERROR Controller 1008 epoch 13 initiated state
> > change for partition [consup-0000000043,78] from OnlinePartition to
> > OnlinePartition failed (state.change.logger)
> > kafka.common.StateChangeFailedException: encountered error while electing
> > leader for partition [consup-0000000043,78] due to: aborted leader
> election
> > for partition [consup-0000000043,78]
> > since the LeaderAndIsr path was already written by another controller.
> This
> > probably means that the current controller 1008 went through a soft
> failure
> > and another controller was elec
> > ted with epoch 14..
>
> The question is,
> - was there any offline partition?
> - was there more than one active controller?
>
> CMIIW
>
>
> On Mon, May 30, 2016 at 2:41 PM, Fredo Lee <buaatianwa...@gmail.com>
> wrote:
>
> > my server.log >>>>>>>>>>>>>>>>
> >
> > lots of  error msg:
> >
> > [2016-05-28 12:12:31,132] WARN [ReplicaFetcherThread-0-1007], Replica
> 1008
> > for partition [consup-0000000003,16] reset its fetch offset from 13985537
> > to current leader 1007's latest offset 13985537
> > (kafka.server.ReplicaFetcherThread)
> > [2016-05-28 12:12:31,132] ERROR [ReplicaFetcherThread-0-1007], Current
> > offset 13987676 for partition [consup-0000000003,16] out of range; reset
> > offset to 13985537 (kafka.server.ReplicaFetcherThread)
> >
> >
> > the other error msg:
> >
> > [2016-05-28 12:12:31,708] ERROR [Replica Manager on Broker 1008]: Error
> > when processing fetch request for partition [consup-0000000003,35] offset
> > 13848954 from consumer with correlation id 0. Possible cause: Request for
> > offset 13848954 but we only have log segments in the range 12356946 to
> > 13847167. (kafka.server.ReplicaManager)
> >
> >
> >
> > 2016-05-30 15:37 GMT+08:00 Fredo Lee <buaatianwa...@gmail.com>:
> >
> > > My state-change.log>>>>>>>>>>>
> > >
> > >
> > > [2016-05-28 12:33:31,510] ERROR Controller 1008 epoch 13 aborted leader
> > > election for partition [consup-0000000043,78] since the LeaderAndIsr
> path
> > > was already written by another controll
> > > er. This probably means that the current controller 1008 went through a
> > > soft failure and another controller was elected with epoch 14.
> > > (state.change.logger)
> > > [2016-05-28 12:33:31,510] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(1020,-1) for a request sent to broker
> > id:1009,host:
> > > 22.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,510] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(1066,-1) for a request sent to broker
> > id:1001,host:
> > > consup-kafka20.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,510] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(777,-1) for a request sent to broker
> id:1006,host:
> > > consup-kafka11.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,510] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(742,-1) for a request sent to broker
> id:1018,host:
> > > consup-kafka10.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,510] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(1021,-1) for a request sent to broker
> > id:1009,host:
> > > consup-kafka22.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,511] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(1067,-1) for a request sent to broker
> > id:1001,host:
> > > consup-kafka20.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,511] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(778,-1) for a request sent to broker
> id:1006,host:
> > > consup-kafka11.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,511] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(1022,-1) for a request sent to broker
> > id:1009,host:
> > > consup-kafka22.com,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,511] ERROR Controller 1008 epoch 13 encountered
> > error
> > > while electing leader for partition [consup-0000000043,78] due to:
> > aborted
> > > leader election for partition [consup
> > > -0000000043,78] since the LeaderAndIsr path was already written by
> > another
> > > controller. This probably means that the current controller 1008 went
> > > through a soft failure and another con
> > > troller was elected with epoch 14.. (state.change.logger)
> > > [2016-05-28 12:33:31,511] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(743,-1) for a request sent to broker
> id:1018,host:
> > > consup-kafka10.co
> > > m,port:9092 (state.change.logger)
> > > [2016-05-28 12:33:31,511] ERROR Controller 1008 epoch 13 initiated
> state
> > > change for partition [consup-0000000043,78] from OnlinePartition to
> > > OnlinePartition failed (state.change.logger)
> > > kafka.common.StateChangeFailedException: encountered error while
> electing
> > > leader for partition [consup-0000000043,78] due to: aborted leader
> > election
> > > for partition [consup-0000000043,78]
> > > since the LeaderAndIsr path was already written by another controller.
> > > This probably means that the current controller 1008 went through a
> soft
> > > failure and another controller was elec
> > > ted with epoch 14..
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:380)
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine.kafka$controller$PartitionStateMachine$$handleStateChange(PartitionStateMachine.scala:208)
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine$$anonfun$handleStateChanges$2.apply(PartitionStateMachine.scala:146)
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine$$anonfun$handleStateChanges$2.apply(PartitionStateMachine.scala:145)
> > >         at scala.collection.immutable.Set$Set1.foreach(Set.scala:79)
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine.handleStateChanges(PartitionStateMachine.scala:145)
> > >         at
> > >
> >
> kafka.controller.KafkaController.onPreferredReplicaElection(KafkaController.scala:631)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4$$anonfun$apply$17$$anonfun$apply$5.apply$mcV$sp(KafkaControl
> > > ler.scala:1158)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4$$anonfun$apply$17$$anonfun$apply$5.apply(KafkaController.sca
> > > la:1153)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4$$anonfun$apply$17$$anonfun$apply$5.apply(KafkaController.sca
> > > la:1153)
> > >         at kafka.utils.Utils$.inLock(Utils.scala:535)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4$$anonfun$apply$17.apply(KafkaController.scala:1150)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4$$anonfun$apply$17.apply(KafkaController.scala:1148)
> > >         at
> > >
> >
> scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4.apply(KafkaController.scala:1148)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance$4.apply(KafkaController.scala:1127)
> > >         at
> > > scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:221)
> > >         at
> > >
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:428)
> > >         at
> > >
> >
> kafka.controller.KafkaController.kafka$controller$KafkaController$$checkAndTriggerPartitionRebalance(KafkaController.scala:1127)
> > >         at
> > >
> >
> kafka.controller.KafkaController$$anonfun$onControllerFailover$1.apply$mcV$sp(KafkaController.scala:326)
> > >         at
> > >
> >
> kafka.utils.KafkaScheduler$$anonfun$1.apply$mcV$sp(KafkaScheduler.scala:99)
> > >         at kafka.utils.Utils$$anon$1.run(Utils.scala:54)
> > >         at
> > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> > >         at
> > >
> >
> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
> > >         at
> > java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
> > >         at
> > >
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
> > >         at
> > >
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
> > >         at
> > >
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> > >         at
> > >
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> > >         at java.lang.Thread.run(Thread.java:679)
> > > Caused by: kafka.common.StateChangeFailedException: aborted leader
> > > election for partition [consup-0000000043,78] since the LeaderAndIsr
> path
> > > was already written by another controller. This probably means that the
> > > current controller 1008 went through a soft failure and another
> > controller
> > > was elected with epoch 14.
> > >         at
> > >
> >
> kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:354)
> > >         ... 33 more
> > > [2016-05-28 12:33:31,511] TRACE Controller 1008 epoch 13 received
> > response
> > > UpdateMetadataResponse(744,-1) for a request sent to broker
> id:1018,host:
> > > consup-kafka10.com,port:9092 (state.change.logger)
> > >
> > >
> > > 2016-05-28 15:31 GMT+08:00 Muqtafi Akhmad <muqt...@traveloka.com>:
> > >
> > >> hello Fredo,
> > >>
> > >> Can you elaborate the 'soft' failure?
> > >>
> > >>
> > >>
> > >> On Sat, May 28, 2016 at 1:53 PM, Fredo Lee <buaatianwa...@gmail.com>
> > >> wrote:
> > >>
> > >> > we have a kafka cluster with 19 nodes. every week we  suffer a soft
> > >> failure
> > >> > from this cluster. how to resolve this problem.
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> Muqtafi Akhmad
> > >> Software Engineer
> > >> Traveloka
> > >>
> > >
> > >
> >
>
>
>
> --
> Muqtafi Akhmad
> Software Engineer
> Traveloka
>

Reply via email to