Hi,

I have a problem going through start guide on Windows. Basically what I
found are file path problems it seems:

If I try to set Kafka log dir path in server.properties using Windows file
separator, such as
D:\tmp\kafka-logs, or even
\tmp\kafka-logs
, then kafka cannot be started, since it throws 
 
[2014-01-25 08:04:00,495] FATAL Fatal error during KafkaServerStable
startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
java.io.IOException: The filename, directory name, or volume label syntax is
incorrect
        at java.io.WinNTFileSystem.canonicalize0(Native Method)
        at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:396)
        at java.io.File.getCanonicalPath(File.java:559)
        at
kafka.log.LogManager$$anonfun$createAndValidateLogDirs$1.apply(LogManager.sc
ala:70)
        at
kafka.log.LogManager$$anonfun$createAndValidateLogDirs$1.apply(LogManager.sc
ala:70)
        at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:
206)
        at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:
206)
        at
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala
:34)
        at
scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:32)
        at
scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
        at scala.collection.mutable.WrappedArray.map(WrappedArray.scala:32)
        at
kafka.log.LogManager.createAndValidateLogDirs(LogManager.scala:70)
        at kafka.log.LogManager.<init>(LogManager.scala:60)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:63)
        at
kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:34)
        at kafka.Kafka$.main(Kafka.scala:46)
                
If I use Unix file separator in settings, such as default /tmp/kafka-logs,
(and for those who don't use Windows, java on Windows accepts paths that
have unix path separator such as D:/tmp/some.file), then Kafka can be
started, but during topic creation I get following error which I assume is
due to trying to find the key using windows file separator as given in
exception log:

[2014-01-25 08:05:53,681] ERROR Error on broker 0 while processing
LeaderAndIsr request correlationId 6 received from controller 0 epoch 1 for
partition (mytopic,0) (state.change.logger)
java.util.NoSuchElementException: key not found: \tmp\kafka-logs
        at scala.collection.MapLike$class.default(MapLike.scala:223)
        at scala.collection.immutable.Map$Map1.default(Map.scala:93)
        at scala.collection.MapLike$class.apply(MapLike.scala:134)
        at scala.collection.immutable.Map$Map1.apply(Map.scala:93)
        at kafka.cluster.Partition.getOrCreateReplica(Partition.scala:88)
        at kafka.cluster.Partition$$anonfun$1.apply(Partition.scala:154)
        at kafka.cluster.Partition$$anonfun$1.apply(Partition.scala:154)
        at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:
206)
        at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:
206)
        at
scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:6
1)
        at scala.collection.immutable.List.foreach(List.scala:45)
        at
scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
        at scala.collection.immutable.List.map(List.scala:45)
        at kafka.cluster.Partition.makeLeader(Partition.scala:154)
        at
kafka.server.ReplicaManager.kafka$server$ReplicaManager$$makeLeader(ReplicaM
anager.scala:257)
        at
kafka.server.ReplicaManager$$anonfun$becomeLeaderOrFollower$3.apply(ReplicaM
anager.scala:221)
        at
kafka.server.ReplicaManager$$anonfun$becomeLeaderOrFollower$3.apply(ReplicaM
anager.scala:213)
        at scala.collection.immutable.Map$Map1.foreach(Map.scala:105)
        at
kafka.server.ReplicaManager.becomeLeaderOrFollower(ReplicaManager.scala:213)
        at
kafka.server.KafkaApis.handleLeaderAndIsrRequest(KafkaApis.scala:86)
        at kafka.server.KafkaApis.handle(KafkaApis.scala:69)
        at
kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:42)
        at java.lang.Thread.run(Thread.java:662)
        
Regards,
Vjeran


Reply via email to