MINOR: Avoid compiler warnings when registering metrics in KafkaServer Author: Liquan Pei <[email protected]>
Reviewers: Ismael Juma <[email protected]> Closes #1280 from Ishiihara/minor-warning-fix Project: http://git-wip-us.apache.org/repos/asf/kafka/repo Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/346df727 Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/346df727 Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/346df727 Branch: refs/heads/0.10.0 Commit: 346df72736d03acb4a6f5681e705ce3e330900a8 Parents: fdded2d Author: Liquan Pei <[email protected]> Authored: Thu Apr 28 14:46:47 2016 -0700 Committer: Ismael Juma <[email protected]> Committed: Thu Apr 28 14:46:47 2016 -0700 ---------------------------------------------------------------------- .../scala/kafka/controller/KafkaController.scala | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kafka/blob/346df727/core/src/main/scala/kafka/controller/KafkaController.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/kafka/controller/KafkaController.scala b/core/src/main/scala/kafka/controller/KafkaController.scala index 103f6cf..6c503a5 100755 --- a/core/src/main/scala/kafka/controller/KafkaController.scala +++ b/core/src/main/scala/kafka/controller/KafkaController.scala @@ -23,15 +23,16 @@ import org.apache.kafka.common.protocol.ApiKeys import org.apache.kafka.common.requests.{AbstractRequest, AbstractRequestResponse} import scala.collection._ -import com.yammer.metrics.core.Gauge +import com.yammer.metrics.core.{Gauge, Meter} import java.util.concurrent.TimeUnit + import kafka.admin.AdminUtils import kafka.admin.PreferredReplicaLeaderElectionCommand import kafka.api._ import kafka.cluster.Broker import kafka.common._ import kafka.log.LogConfig -import kafka.metrics.{KafkaTimer, KafkaMetricsGroup} +import kafka.metrics.{KafkaMetricsGroup, KafkaTimer} import kafka.utils.ZkUtils._ import kafka.utils._ import kafka.utils.CoreUtils._ @@ -39,8 +40,9 @@ import org.apache.zookeeper.Watcher.Event.KeeperState import org.apache.kafka.common.metrics.Metrics import org.apache.kafka.common.utils.Time import org.I0Itec.zkclient.{IZkChildListener, IZkDataListener, IZkStateListener, ZkClient, ZkConnection} -import org.I0Itec.zkclient.exception.{ZkNodeExistsException, ZkNoNodeException} +import org.I0Itec.zkclient.exception.{ZkNoNodeException, ZkNodeExistsException} import java.util.concurrent.locks.ReentrantLock + import kafka.server._ import kafka.common.TopicAndPartition @@ -1468,6 +1470,13 @@ case class LeaderIsrAndControllerEpoch(leaderAndIsr: LeaderAndIsr, controllerEpo } object ControllerStats extends KafkaMetricsGroup { - val uncleanLeaderElectionRate = newMeter("UncleanLeaderElectionsPerSec", "elections", TimeUnit.SECONDS) - val leaderElectionTimer = new KafkaTimer(newTimer("LeaderElectionRateAndTimeMs", TimeUnit.MILLISECONDS, TimeUnit.SECONDS)) + + private val _uncleanLeaderElectionRate = newMeter("UncleanLeaderElectionsPerSec", "elections", TimeUnit.SECONDS) + private val _leaderElectionTimer = new KafkaTimer(newTimer("LeaderElectionRateAndTimeMs", TimeUnit.MILLISECONDS, TimeUnit.SECONDS)) + + // KafkaServer needs to initialize controller metrics during startup. We perform initialization + // through method calls to avoid Scala compiler warnings. + def uncleanLeaderElectionRate: Meter = _uncleanLeaderElectionRate + + def leaderElectionTimer: KafkaTimer = _leaderElectionTimer }
