Can you capture stack trace on the broker and pastebin it ? Broker log may also provide some clue.
Thanks On Mon, Dec 18, 2017 at 4:46 AM, HKT <dushukuang...@163.com> wrote: > Hello, > > I was testing the transactional message on kafka. > but I get a problem. > the producer always blocking at second commitTransaction. > Here is my code: > > Properties kafkaProps = new Properties(); > kafkaProps.setProperty("bootstrap.servers", "localhost:9092"); > kafkaProps.setProperty("key.serializer", > LongSerializer.class.getName()); > kafkaProps.setProperty("value.serializer", > StringSerializer.class.getName()); > kafkaProps.setProperty("transactional.id", "hello"); > try (KafkaProducer<Long, String> producer = new > KafkaProducer<>(kafkaProps)) { > producer.initTransactions(); > producer.beginTransaction(); > ProducerRecord<Long, String> record = new > ProducerRecord<>("test", 0, (long) 0, Long.toString(0)); > producer.send(record); > producer.sendOffsetsToTransaction(new HashMap<>(), ""); > producer.commitTransaction(); > producer.beginTransaction(); > record = new ProducerRecord<>("test", 0, (long)0, > Long.toString(0)); > producer.send(record); > producer.commitTransaction(); // blocking here > } > > Enviroment: > Kafka broker: 1.0.0 > broker count: 1 > Kafka Client: 1.0.0 > and I use the default server.properties in config/ > > broker.id=0 > num.network.threads=3 > num.io.threads=8 > socket.send.buffer.bytes=102400 > socket.receive.buffer.bytes=102400 > socket.request.max.bytes=104857600 > log.dirs=/tmp/kafka-logs > num.partitions=1 > num.recovery.threads.per.data.dir=1 > offsets.topic.replication.factor=1 > transaction.state.log.replication.factor=1 > transaction.state.log.min.isr=1 > log.retention.hours=168 > log.segment.bytes=1073741824 > log.retention.check.interval.ms=300000 > zookeeper.connect=localhost:2181 > zookeeper.connection.timeout.ms=6000 > group.initial.rebalance.delay.ms=0 > > I have run the program in Windows 7 and CentOS 6.9. > but it blocking in the second commitTransaction. > > >