Orwen Xiang created KAFKA-6076:
----------------------------------

             Summary: Using new producer api of transaction twice failed when 
server run on Windows OS
                 Key: KAFKA-6076
                 URL: https://issues.apache.org/jira/browse/KAFKA-6076
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 0.11.0.1
         Environment: OS: Windows 10 64bit
Kafka:  
kafka_2.11-0.11.0.1(https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.1/kafka_2.11-0.11.0.1.tgz)
JDK: 1.8.0_144  64bit
            Reporter: Orwen Xiang


Can't invoke twice (begin,commit transaction) on same Kafka Producer instance  
when it connected Kafka server run on windows 10.

But same code can run successfully when Kafka server run on CentOS 7.3 64bit 
with same Kafka server code base and config.

Producer code looks like:
Map<String, Object> props = new HashMap<>();
props.put("bootstrap.servers", "localhost:9092");
props.put("transactional.id", "my-transactional-id");
Producer<String, String> producer = new KafkaProducer<>(props, new 
StringSerializer(), new StringSerializer());
producer.initTransactions();
try {
     producer.beginTransaction();
     for (int i = 0; i < 100; i++)
        producer.send(new ProducerRecord<>("test-2", Integer.toString(i), 
Integer.toString(i)));
     producer.commitTransaction();
     System.out.println("sent one time done");
     producer.beginTransaction();
     for (int i = 0; i < 100; i++)
        producer.send(new ProducerRecord<>("test-2", Integer.toString(i), 
Integer.toString(i)));
      producer.commitTransaction();
      System.out.println("sent two time done");
      } catch (ProducerFencedException | OutOfOrderSequenceException | 
AuthorizationException e) {
           producer.close();
      } catch (KafkaException e) {
           producer.abortTransaction();
        }
      producer.close();



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to