[jira] [Created] (KAFKA-8131) Add --version parameter to command line help outputs & docs

2019-03-20 Thread JIRA
Sönke Liebau created KAFKA-8131:
---

 Summary: Add --version parameter to command line help outputs & 
docs
 Key: KAFKA-8131
 URL: https://issues.apache.org/jira/browse/KAFKA-8131
 Project: Kafka
  Issue Type: Improvement
  Components: tools
Reporter: Sönke Liebau
Assignee: Sönke Liebau


KAFKA-2061 added the --version flag to kafka-run-class.sh which prints the 
Kafka version to the commandline.

As this is in kafka-run-class.sh this will effectively work for all commandline 
tools that use this file to run a class, so it should be added to the help 
output of these scripts as well. A quick grep leads me to these suspects:
 * connect-distributed.sh
 * connect-standalone.sh
 * kafka-acls.sh
 * kafka-broker-api-versions.sh
 * kafka-configs.sh
 * kafka-console-consumer.sh
 * kafka-console-producer.sh
 * kafka-consumer-groups.sh
 * kafka-consumer-perf-test.sh
 * kafka-delegation-tokens.sh
 * kafka-delete-records.sh
 * kafka-dump-log.sh
 * kafka-log-dirs.sh
 * kafka-mirror-maker.sh
 * kafka-preferred-replica-election.sh
 * kafka-producer-perf-test.sh
 * kafka-reassign-partitions.sh
 * kafka-replica-verification.sh
 * kafka-server-start.sh
 * kafka-streams-application-reset.sh
 * kafka-topics.sh
 * kafka-verifiable-consumer.sh
 * kafka-verifiable-producer.sh
 * trogdor.sh
 * zookeeper-security-migration.sh
 * zookeeper-server-start.sh
 * zookeeper-shell.sh

Currently this parameter is not documented at all, neither in the output nor in 
the official docs.

I'd propose to add it to the docs as well as part of this issue, I'll look for 
a suitable place.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-7760) Add broker configuration to set minimum value for segment.bytes and segment.ms

2019-03-26 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-7760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16801472#comment-16801472
 ] 

洪朝阳 commented on KAFKA-7760:


How can it get the broker config when creating a topic by using the 
TopicCommand class?

It set min.topic.segment.bytes property when start a broker by the kafka.Kafka 
class. But than, how can it get this property when create a topic by the 
kafka.admin.TopicCommand class? Can it store this property in a public place, 
such as zookeeper?

> Add broker configuration to set minimum value for segment.bytes and segment.ms
> --
>
> Key: KAFKA-7760
> URL: https://issues.apache.org/jira/browse/KAFKA-7760
> Project: Kafka
>  Issue Type: Improvement
>Reporter: Badai Aqrandista
>Priority: Major
>  Labels: kip, newbie
>
> If someone set segment.bytes or segment.ms at topic level to a very small 
> value (e.g. segment.bytes=1000 or segment.ms=1000), Kafka will generate a 
> very high number of segment files. This can bring down the whole broker due 
> to hitting the maximum open file (for log) or maximum number of mmap-ed file 
> (for index).
> To prevent that from happening, I would like to suggest adding two new items 
> to the broker configuration:
>  * min.topic.segment.bytes, defaults to 1048576: The minimum value for 
> segment.bytes. When someone sets topic configuration segment.bytes to a value 
> lower than this, Kafka throws an error INVALID VALUE.
>  * min.topic.segment.ms, defaults to 360: The minimum value for 
> segment.ms. When someone sets topic configuration segment.ms to a value lower 
> than this, Kafka throws an error INVALID VALUE.
> Thanks
> Badai



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-6181) Examining log messages with {{--deep-iteration}} should show superset of fields

2019-03-26 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-6181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16802420#comment-16802420
 ] 

洪朝阳 commented on KAFKA-6181:


Although I am new to Kafka, I think it's a little easy.

> Examining log messages with {{--deep-iteration}} should show superset of 
> fields
> ---
>
> Key: KAFKA-6181
> URL: https://issues.apache.org/jira/browse/KAFKA-6181
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Affects Versions: 0.11.0.0
>Reporter: Yeva Byzek
>Priority: Minor
>  Labels: newbie
>
> Printing log data on Kafka brokers using {{kafka.tools.DumpLogSegments}}:
> {{--deep-iteration}} should show a superset of fields in each message, as 
> compared to without this parameter, however some fields are missing.  Impact: 
> users need to execute both commands to get the full set of fields.
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log
> Dumping .log
> Starting offset: 0
> baseOffset: 0 lastOffset: 35 baseSequence: -1 lastSequence: -1 producerId: -1 
> producerEpoch: -1 partitionLeaderEpoch: 0 isTransactional: false position: 0 
> CreateTime: 1509987569448 isvalid: true size: 3985 magic: 2 compresscodec: 
> NONE crc: 4227905507
> {noformat}
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log \
> --deep-iteration
> Dumping .log
> Starting offset: 0
> offset: 0 position: 0 CreateTime: 1509987569420 isvalid: true keysize: -1 
> valuesize: 100
> magic: 2 compresscodec: NONE producerId: -1 sequence: -1 isTransactional: 
> false headerKeys: [] payload: 
> SSXVNJHPDQDXVCRASTVYBCWVMGNYKRXVZXKGXTSPSJDGYLUEGQFLAQLOCFLJBEPOWFNSOMYARHAOPUFOJHHDXEHXJBHW
> {noformat}
> Notice, for example, that {{partitionLeaderEpoch}} and {{crc}} are missing. 
> Print these and all missing fields.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Issue Comment Deleted] (KAFKA-6181) Examining log messages with {{--deep-iteration}} should show superset of fields

2019-03-26 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-6181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

洪朝阳 updated KAFKA-6181:
---
Comment: was deleted

(was: Although I am new to Kafka, I think it's a little easy.)

> Examining log messages with {{--deep-iteration}} should show superset of 
> fields
> ---
>
> Key: KAFKA-6181
> URL: https://issues.apache.org/jira/browse/KAFKA-6181
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Affects Versions: 0.11.0.0
>Reporter: Yeva Byzek
>Priority: Minor
>  Labels: newbie
>
> Printing log data on Kafka brokers using {{kafka.tools.DumpLogSegments}}:
> {{--deep-iteration}} should show a superset of fields in each message, as 
> compared to without this parameter, however some fields are missing.  Impact: 
> users need to execute both commands to get the full set of fields.
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log
> Dumping .log
> Starting offset: 0
> baseOffset: 0 lastOffset: 35 baseSequence: -1 lastSequence: -1 producerId: -1 
> producerEpoch: -1 partitionLeaderEpoch: 0 isTransactional: false position: 0 
> CreateTime: 1509987569448 isvalid: true size: 3985 magic: 2 compresscodec: 
> NONE crc: 4227905507
> {noformat}
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log \
> --deep-iteration
> Dumping .log
> Starting offset: 0
> offset: 0 position: 0 CreateTime: 1509987569420 isvalid: true keysize: -1 
> valuesize: 100
> magic: 2 compresscodec: NONE producerId: -1 sequence: -1 isTransactional: 
> false headerKeys: [] payload: 
> SSXVNJHPDQDXVCRASTVYBCWVMGNYKRXVZXKGXTSPSJDGYLUEGQFLAQLOCFLJBEPOWFNSOMYARHAOPUFOJHHDXEHXJBHW
> {noformat}
> Notice, for example, that {{partitionLeaderEpoch}} and {{crc}} are missing. 
> Print these and all missing fields.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-6181) Examining log messages with {{--deep-iteration}} should show superset of fields

2019-03-26 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-6181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16802423#comment-16802423
 ] 

洪朝阳 commented on KAFKA-6181:


Hi, has this issue been closed? If not, can I pick it? I am very glad to pick 
this.

> Examining log messages with {{--deep-iteration}} should show superset of 
> fields
> ---
>
> Key: KAFKA-6181
> URL: https://issues.apache.org/jira/browse/KAFKA-6181
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Affects Versions: 0.11.0.0
>Reporter: Yeva Byzek
>Priority: Minor
>  Labels: newbie
>
> Printing log data on Kafka brokers using {{kafka.tools.DumpLogSegments}}:
> {{--deep-iteration}} should show a superset of fields in each message, as 
> compared to without this parameter, however some fields are missing.  Impact: 
> users need to execute both commands to get the full set of fields.
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log
> Dumping .log
> Starting offset: 0
> baseOffset: 0 lastOffset: 35 baseSequence: -1 lastSequence: -1 producerId: -1 
> producerEpoch: -1 partitionLeaderEpoch: 0 isTransactional: false position: 0 
> CreateTime: 1509987569448 isvalid: true size: 3985 magic: 2 compresscodec: 
> NONE crc: 4227905507
> {noformat}
> {noformat}
> kafka-run-class kafka.tools.DumpLogSegments \
> --print-data-log \
> --files .log \
> --deep-iteration
> Dumping .log
> Starting offset: 0
> offset: 0 position: 0 CreateTime: 1509987569420 isvalid: true keysize: -1 
> valuesize: 100
> magic: 2 compresscodec: NONE producerId: -1 sequence: -1 isTransactional: 
> false headerKeys: [] payload: 
> SSXVNJHPDQDXVCRASTVYBCWVMGNYKRXVZXKGXTSPSJDGYLUEGQFLAQLOCFLJBEPOWFNSOMYARHAOPUFOJHHDXEHXJBHW
> {noformat}
> Notice, for example, that {{partitionLeaderEpoch}} and {{crc}} are missing. 
> Print these and all missing fields.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (KAFKA-8160) To add ACL with SSL authentication

2019-03-27 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-8160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau resolved KAFKA-8160.
-
Resolution: Information Provided

Hi [~suseem...@gmail.com]

 

you can absolutely use SSL based authentication with ACLs, please refer to the 
docs [here|https://kafka.apache.org/documentation/#security_ssl] and 
[here|https://kafka.apache.org/documentation/#security_authz] for more 
information.

For your specific question, you will have to use a custom PrincipalBuilder to 
ensure that principals that are extracted from certificates conform to what you 
set as username for your SCRAM users. 

 

As this is more of a support request, not a new feature I'll close this ticket, 
if you have any further questions, please don't hesitate to reach out on the 
users mailing list!

> To add ACL with SSL authentication
> --
>
> Key: KAFKA-8160
> URL: https://issues.apache.org/jira/browse/KAFKA-8160
> Project: Kafka
>  Issue Type: New Feature
>  Components: consumer, producer 
>Affects Versions: 1.1.0
>Reporter: suseendramani
>Priority: Major
>
> We want to setup the SSL based authentication along with ACL in place.  Is 
> that doable and can it be added as a feature ? 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8170) To add kafka data at rest encryption

2019-03-28 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16803940#comment-16803940
 ] 

Sönke Liebau commented on KAFKA-8170:
-

Hi [~ashelke], 

I've proposed 
[KIP-317|https://cwiki.apache.org/confluence/display/KAFKA/KIP-317%3A+Add+transparent+data+encryption+functionality]
 a while ago, which would probably cover this - though it would do so 
client-side.

It has been dormant for a while now due to lots of other things to do on my end 
to be honest, but I plan on reviving this very shortly.

 

 

> To add kafka data at rest encryption
> 
>
> Key: KAFKA-8170
> URL: https://issues.apache.org/jira/browse/KAFKA-8170
> Project: Kafka
>  Issue Type: New Feature
>  Components: log
>Reporter: Akash
>Priority: Minor
>  Labels: features, security
>
> Kafka have mechanism for wire encryption of data.
> But the kafka data at rest which exist in /- 
> is still unencrypted.
> This directories now have log files with actual messages embedded metadata, 
> but unauthorised user can still recover messages from this files
> Addiding encryption for this data would be valuable for preventing message 
> protection from disk theft, unauthorised user access on servers.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-7755) Kubernetes - Kafka clients are resolving DNS entries only one time

2019-04-07 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-7755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16811841#comment-16811841
 ] 

Loïc Monney commented on KAFKA-7755:


@Tim: This is not only specific to Kubernetes, but, as you suggested, this is 
affecting all environments where IP addresses of Kafka broker are changed at 
some time

> Kubernetes - Kafka clients are resolving DNS entries only one time
> --
>
> Key: KAFKA-7755
> URL: https://issues.apache.org/jira/browse/KAFKA-7755
> Project: Kafka
>  Issue Type: Bug
>  Components: clients
>Affects Versions: 2.1.0
> Environment: Kubernetes
>Reporter: Loïc Monney
>Priority: Blocker
> Fix For: 2.2.0, 2.1.1
>
> Attachments: pom.xml
>
>
> *Introduction*
>  Since 2.1.0 Kafka clients are supporting multiple DNS resolved IP addresses 
> if the first one fails. This change has been introduced by 
> https://issues.apache.org/jira/browse/KAFKA-6863. However this DNS resolution 
> is now performed only one time by the clients. This is not a problem if all 
> brokers have fixed IP addresses, however this is definitely an issue when 
> Kafka brokers are run on top of Kubernetes. Indeed, new Kubernetes pods will 
> receive another IP address, so as soon as all brokers will have been 
> restarted clients won't be able to reconnect to any broker.
> *Impact*
>  Everyone running Kafka 2.1 or later on top of Kubernetes is impacted when a 
> rolling restart is performed.
> *Root cause*
>  Since https://issues.apache.org/jira/browse/KAFKA-6863 Kafka clients are 
> resolving DNS entries only once.
> *Proposed solution*
>  In 
> [https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java#L368]
>  Kafka clients should perform the DNS resolution again when all IP addresses 
> have been "used" (when _index_ is back to 0)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8218) IllegalStateException while accessing context in Transformer

2019-04-11 Thread JIRA
Bartłomiej Kępa created KAFKA-8218:
--

 Summary: IllegalStateException while accessing context in 
Transformer
 Key: KAFKA-8218
 URL: https://issues.apache.org/jira/browse/KAFKA-8218
 Project: Kafka
  Issue Type: Bug
  Components: streams
Affects Versions: 2.1.1
Reporter: Bartłomiej Kępa


Custom Kotlin implementation of Transformer throws 
{code}
java.lang.IllegalStateException: This should not happen as headers() should 
only be called while a record is processed
{code}

while being plugged into the stream topology that actually works. Invocation of 
transform() method has valid arguments (Key and GenericRecord).

The exception is being thrown because in our implementation of transform we 
need to access headers from context.  


{code:java}
 override fun transform(key: String?, value: GenericRecord): KeyValue {
  val headers = context.headers()
  ...
}
 {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8226) New MirrorMaker option partition.to.partition

2019-04-12 Thread JIRA
Ernestas Vaiciukevičius created KAFKA-8226:
--

 Summary: New MirrorMaker option partition.to.partition
 Key: KAFKA-8226
 URL: https://issues.apache.org/jira/browse/KAFKA-8226
 Project: Kafka
  Issue Type: Improvement
  Components: core
Reporter: Ernestas Vaiciukevičius


Currently when MirrorMaker moves data between topics with records with null 
keys - it shuffles records between destination topic's partitions. Sometimes 
it's desirable trying to preserve the original partition.

Related PR adds new command line option to do that:

When partition.to.partition=true MirrorMaker retains the partition number when 
mirroring records even without the keys. 
When using this option - source and destination topics are assumed to have the 
same number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (KAFKA-8226) New MirrorMaker option partition.to.partition

2019-04-12 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-8226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ernestas Vaiciukevičius updated KAFKA-8226:
---
Description: 
Currently when MirrorMaker moves data between topics with records with null 
keys - it shuffles records between destination topic's partitions. Sometimes 
it's desirable to try preserving the original partition.

Related PR adds new command line option to do that:

When partition.to.partition=true MirrorMaker retains the partition number when 
mirroring records even without the keys. 
 When using this option - source and destination topics are assumed to have the 
same number of partitions.

  was:
Currently when MirrorMaker moves data between topics with records with null 
keys - it shuffles records between destination topic's partitions. Sometimes 
it's desirable trying to preserve the original partition.

Related PR adds new command line option to do that:

When partition.to.partition=true MirrorMaker retains the partition number when 
mirroring records even without the keys. 
When using this option - source and destination topics are assumed to have the 
same number of partitions.


> New MirrorMaker option partition.to.partition
> -
>
> Key: KAFKA-8226
> URL: https://issues.apache.org/jira/browse/KAFKA-8226
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Reporter: Ernestas Vaiciukevičius
>Priority: Major
>
> Currently when MirrorMaker moves data between topics with records with null 
> keys - it shuffles records between destination topic's partitions. Sometimes 
> it's desirable to try preserving the original partition.
> Related PR adds new command line option to do that:
> When partition.to.partition=true MirrorMaker retains the partition number 
> when mirroring records even without the keys. 
>  When using this option - source and destination topics are assumed to have 
> the same number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8226) New MirrorMaker option partition.to.partition

2019-04-15 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817610#comment-16817610
 ] 

Sönke Liebau commented on KAFKA-8226:
-

Hi [~ernisv],

the functionality that you are implementing is definitely useful, however it 
can also easily be achieved by implementing a custom MessageHandler that 
preserves partitioning. 

Personally I think we should try to avoid adding too many features for which 
extensions point were already designed in Kafka.

Additionally there is [MirrorMaker 
2.0|[https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-RemoteTopics,Partitions]]
 coming up, which I believe has this functionality built in.

> New MirrorMaker option partition.to.partition
> -
>
> Key: KAFKA-8226
> URL: https://issues.apache.org/jira/browse/KAFKA-8226
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Reporter: Ernestas Vaiciukevičius
>Priority: Major
>
> Currently when MirrorMaker moves data between topics with records with null 
> keys - it shuffles records between destination topic's partitions. Sometimes 
> it's desirable to try preserving the original partition.
> Related PR adds new command line option to do that:
> When partition.to.partition=true MirrorMaker retains the partition number 
> when mirroring records even without the keys. 
>  When using this option - source and destination topics are assumed to have 
> the same number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (KAFKA-8226) New MirrorMaker option partition.to.partition

2019-04-15 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817610#comment-16817610
 ] 

Sönke Liebau edited comment on KAFKA-8226 at 4/15/19 7:14 AM:
--

Hi [~ernisv],

the functionality that you are implementing is definitely useful, however it 
can also easily be achieved by implementing a custom MessageHandler that 
preserves partitioning. 

Personally I think we should try to avoid adding too many features for which 
extensions point were already designed in Kafka.

Additionally there is [MirrorMaker 
2.0|https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-RemoteTopics,Partitions]
 coming up, which I believe has this functionality built in.


was (Author: sliebau):
Hi [~ernisv],

the functionality that you are implementing is definitely useful, however it 
can also easily be achieved by implementing a custom MessageHandler that 
preserves partitioning. 

Personally I think we should try to avoid adding too many features for which 
extensions point were already designed in Kafka.

Additionally there is [MirrorMaker 
2.0|https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-RemoteTopics,Partitions]]
 coming up, which I believe has this functionality built in.

> New MirrorMaker option partition.to.partition
> -
>
> Key: KAFKA-8226
> URL: https://issues.apache.org/jira/browse/KAFKA-8226
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Reporter: Ernestas Vaiciukevičius
>Priority: Major
>
> Currently when MirrorMaker moves data between topics with records with null 
> keys - it shuffles records between destination topic's partitions. Sometimes 
> it's desirable to try preserving the original partition.
> Related PR adds new command line option to do that:
> When partition.to.partition=true MirrorMaker retains the partition number 
> when mirroring records even without the keys. 
>  When using this option - source and destination topics are assumed to have 
> the same number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (KAFKA-8226) New MirrorMaker option partition.to.partition

2019-04-15 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817610#comment-16817610
 ] 

Sönke Liebau edited comment on KAFKA-8226 at 4/15/19 7:14 AM:
--

Hi [~ernisv],

the functionality that you are implementing is definitely useful, however it 
can also easily be achieved by implementing a custom MessageHandler that 
preserves partitioning. 

Personally I think we should try to avoid adding too many features for which 
extensions point were already designed in Kafka.

Additionally there is [MirrorMaker 
2.0|https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-RemoteTopics,Partitions]]
 coming up, which I believe has this functionality built in.


was (Author: sliebau):
Hi [~ernisv],

the functionality that you are implementing is definitely useful, however it 
can also easily be achieved by implementing a custom MessageHandler that 
preserves partitioning. 

Personally I think we should try to avoid adding too many features for which 
extensions point were already designed in Kafka.

Additionally there is [MirrorMaker 
2.0|[https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-RemoteTopics,Partitions]]
 coming up, which I believe has this functionality built in.

> New MirrorMaker option partition.to.partition
> -
>
> Key: KAFKA-8226
> URL: https://issues.apache.org/jira/browse/KAFKA-8226
> Project: Kafka
>  Issue Type: Improvement
>  Components: core
>Reporter: Ernestas Vaiciukevičius
>Priority: Major
>
> Currently when MirrorMaker moves data between topics with records with null 
> keys - it shuffles records between destination topic's partitions. Sometimes 
> it's desirable to try preserving the original partition.
> Related PR adds new command line option to do that:
> When partition.to.partition=true MirrorMaker retains the partition number 
> when mirroring records even without the keys. 
>  When using this option - source and destination topics are assumed to have 
> the same number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-1579) End-to-End tool to measure performance and correctness test

2019-04-15 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817888#comment-16817888
 ] 

Sönke Liebau commented on KAFKA-1579:
-

Hi [~raulcf]

this has been open for a few years now without comments, are you still 
interested in picking up this piece of work?

Otherwise I'd say we can close this down?

> End-to-End tool to measure performance and correctness test
> ---
>
> Key: KAFKA-1579
> URL: https://issues.apache.org/jira/browse/KAFKA-1579
> Project: Kafka
>  Issue Type: New Feature
>Reporter: Raul Castro Fernandez
>Assignee: Raul Castro Fernandez
>Priority: Major
>
> Producer and Consumer tool that can:
> - measure performance (throughput and RTT)
> - test for atomic writes (AW) correctness
> - test for read isolation/partition (RI/partition) correctness



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8246) refactor topic/group instance id validation condition

2019-04-17 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16819899#comment-16819899
 ] 

Sönke Liebau commented on KAFKA-8246:
-

I believe that used to be a regular expression but was changed for better 
performance, see this [pull request|https://github.com/apache/kafka/pull/3234].

> refactor topic/group instance id validation condition
> -
>
> Key: KAFKA-8246
> URL: https://issues.apache.org/jira/browse/KAFKA-8246
> Project: Kafka
>  Issue Type: Improvement
>Reporter: Boyang Chen
>Assignee: Boyang Chen
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2019-04-17 Thread JIRA
Sönke Liebau created KAFKA-8247:
---

 Summary: Duplicate error handling in kafka-server-start.sh and 
actual Kafka class
 Key: KAFKA-8247
 URL: https://issues.apache.org/jira/browse/KAFKA-8247
 Project: Kafka
  Issue Type: Bug
  Components: core
Affects Versions: 2.1.1
Reporter: Sönke Liebau


There is some duplication of error handling for command line parameters that 
are passed into kafka-server-start.sh

 

The shell script prints an error, if no arguments are passed in, effectively 
causing the same check in 
[Kafka|https://github.com/apache/kafka/blob/92db08cba582668d77160b0c2853efd45a1b809b/core/src/main/scala/kafka/Kafka.scala#L43]
 to never be triggered, unless the only option that is specified is -daemon, 
which would be removed before passing arguments to the java class.

 

While not in any way critical I don't think that this is intended behavior. I 
think we should remove the extra check in kafka-server-start.sh and leave 
argument handling up to the Kafka class.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8274) Old Committed messages got replayed after Kafka cluster Restart

2019-04-23 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16824252#comment-16824252
 ] 

Sönke Liebau commented on KAFKA-8274:
-

hi [~hrishi_dypim], can you add some more detail around this issue if you have 
it?

In principle this is something that is extensively tested for and should not 
occur.

A few questions that come to mind:

Was this a planned restart or did the cluster crash? 

Was the consumer group active immediately before the restart or was it inactive 
for a while? 

What clients are you using? 

How many messages were replayed?

> Old Committed messages got replayed after Kafka cluster Restart
> ---
>
> Key: KAFKA-8274
> URL: https://issues.apache.org/jira/browse/KAFKA-8274
> Project: Kafka
>  Issue Type: Bug
>  Components: consumer
>Affects Versions: 1.0.0
> Environment: PROD
>Reporter: Hrishikesh tiwary
>Priority: Major
>
> I got a very serious issue in PROD Env . after restarting the Kafka cluster 
> my old committed messages by same group if got replayed.
> Its very shocking that if messages are already committed  by a group id then 
> how comes same messages will be replayed by same group id.
> I have a consumer which runs in web based application, at start up it starts 
> the consumer by providing a group id. there is only one group id for the 
> given web app.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2019-04-24 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825442#comment-16825442
 ] 

Sönke Liebau commented on KAFKA-8247:
-

Actually, upon further digging, the same check can also be found in the 
following scripts:
 * zookeeper-server-start.sh
 * zookeeper-shell.sh
 * connect-standalone.sh
 * connect-distributed.sh
 * kafka-run-class.sh

I'll do some further digging, but suspect that we can remove all of these 
checks and simply leave parameter handling up to the executed classes 
themselves.

> Duplicate error handling in kafka-server-start.sh and actual Kafka class
> 
>
> Key: KAFKA-8247
> URL: https://issues.apache.org/jira/browse/KAFKA-8247
> Project: Kafka
>  Issue Type: Bug
>  Components: core
>Affects Versions: 2.1.1
>Reporter: Sönke Liebau
>Priority: Minor
>
> There is some duplication of error handling for command line parameters that 
> are passed into kafka-server-start.sh
>  
> The shell script prints an error, if no arguments are passed in, effectively 
> causing the same check in 
> [Kafka|https://github.com/apache/kafka/blob/92db08cba582668d77160b0c2853efd45a1b809b/core/src/main/scala/kafka/Kafka.scala#L43]
>  to never be triggered, unless the only option that is specified is -daemon, 
> which would be removed before passing arguments to the java class.
>  
> While not in any way critical I don't think that this is intended behavior. I 
> think we should remove the extra check in kafka-server-start.sh and leave 
> argument handling up to the Kafka class.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8292) Add support for --version parameter to command line tools

2019-04-25 Thread JIRA
Sönke Liebau created KAFKA-8292:
---

 Summary: Add support for --version parameter to command line tools
 Key: KAFKA-8292
 URL: https://issues.apache.org/jira/browse/KAFKA-8292
 Project: Kafka
  Issue Type: Improvement
Reporter: Sönke Liebau


During the implemenation of 
[KAFKA-8131|https://issues.apache.org/jira/browse/KAFKA-8131] we noticed that 
command line tools implement parsing of parameters in different ways.
For most of the tools the --version parameter was correctly implemented in that 
issue, for the following this still remains to be done:
* ConnectDistributed
* ConnectStandalone
* ProducerPerformance
* VerifiableConsumer
* VerifiableProducer



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2019-05-07 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau reassigned KAFKA-8247:
---

Assignee: Sönke Liebau

> Duplicate error handling in kafka-server-start.sh and actual Kafka class
> 
>
> Key: KAFKA-8247
> URL: https://issues.apache.org/jira/browse/KAFKA-8247
> Project: Kafka
>  Issue Type: Bug
>  Components: core
>Affects Versions: 2.1.1
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Minor
>
> There is some duplication of error handling for command line parameters that 
> are passed into kafka-server-start.sh
>  
> The shell script prints an error, if no arguments are passed in, effectively 
> causing the same check in 
> [Kafka|https://github.com/apache/kafka/blob/92db08cba582668d77160b0c2853efd45a1b809b/core/src/main/scala/kafka/Kafka.scala#L43]
>  to never be triggered, unless the only option that is specified is -daemon, 
> which would be removed before passing arguments to the java class.
>  
> While not in any way critical I don't think that this is intended behavior. I 
> think we should remove the extra check in kafka-server-start.sh and leave 
> argument handling up to the Kafka class.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2019-05-07 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16835344#comment-16835344
 ] 

Sönke Liebau commented on KAFKA-8247:
-

So..these checks actually have a little bit of sense, because the error message 
that is shown here is the only place where the -daemon parameter is documented 
that can be used to send tasks to the background.
Since this parameter is handled in kafka-run-class it is honored by all command 
line tools though, regardless of whether this makes sense or not, so we might 
just add it in the default options next to --help and --version. Downside to 
this is that this will make the inconsistency between --help/version and 
-daemon glaringly obvious, not much we can do about that.

I'm afraid there is no perfect solution here, handling parameters in two 
different places is just not possible in a clean way. I'll create a pull 
request to remove these duplicate checks for now, as it shouldn't break 
anything and fixes the immediate issue.

> Duplicate error handling in kafka-server-start.sh and actual Kafka class
> 
>
> Key: KAFKA-8247
>     URL: https://issues.apache.org/jira/browse/KAFKA-8247
> Project: Kafka
>  Issue Type: Bug
>  Components: core
>Affects Versions: 2.1.1
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Minor
>
> There is some duplication of error handling for command line parameters that 
> are passed into kafka-server-start.sh
>  
> The shell script prints an error, if no arguments are passed in, effectively 
> causing the same check in 
> [Kafka|https://github.com/apache/kafka/blob/92db08cba582668d77160b0c2853efd45a1b809b/core/src/main/scala/kafka/Kafka.scala#L43]
>  to never be triggered, unless the only option that is specified is -daemon, 
> which would be removed before passing arguments to the java class.
>  
> While not in any way critical I don't think that this is intended behavior. I 
> think we should remove the extra check in kafka-server-start.sh and leave 
> argument handling up to the Kafka class.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-7362) enable kafka broker to remove orphan partitions automatically

2019-05-09 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-7362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16836320#comment-16836320
 ] 

Ferlin-Sutton Léo commented on KAFKA-7362:
--

I can see the implementation is being worked on and discussed.

In the meantime is there a recommended way to manually delete an orphan 
partition ? We were thinking of :
 # Stopping the Kafka process on the concerned broker
 # `rm -rf` the directory containing the orphaned partition
 # Turning the kafka broker back on

> enable kafka broker to remove orphan partitions automatically 
> --
>
> Key: KAFKA-7362
> URL: https://issues.apache.org/jira/browse/KAFKA-7362
> Project: Kafka
>  Issue Type: Improvement
>  Components: core, log
>Reporter: xiongqi wu
>Assignee: xiongqi wu
>Priority: Major
>
> When partition reassignment removes topic partitions from a offline broker, 
> those removed partitions become orphan partitions to the broker. When the 
> offline broker comes back online, it is not able to clean up both data and 
> folders that belong to orphan partitions.  Log manager will scan all all dirs 
> during startup, but the time based retention policy on a topic partition will 
> not be kicked out until the broker is either a follower or a leader of the 
> partition.  In addition, we do not have logic to delete folders that belong 
> to orphan partition today. 
> Open this ticket to provide a mechanism (when enabled) to safely remove 
> orphan partitions automatically.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2019-05-10 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16837510#comment-16837510
 ] 

Sönke Liebau commented on KAFKA-8247:
-

I've experimented a bit with this, I removed all those checks and diff'ed the 
output of all shell scripts when ran without parameters.

See the results below, the number at the very end is the return code, but this 
stays the same in all instances.
 There is one additional script that differs: kafka-consumer-perf-test.sh - but 
this is only because it has a random element in the output that changes every 
run (how useful that is is another debate).

Overall this looks good to me, in some cases the output is even signicifantly 
better, because we are not killing uage reporting from the java class anymore.

The output from the two connect classes might be improved a little I guess..

zookeeper-shell is a bit of a special case, as we change behavior by removing 
this check. Currently it returns with a help message, without that check it 
would default to connecting to localhost (behavior that I actually would 
prefer).
 If anybody has this call in a script somewhere this would hang post-change, as 
it never returns. I'm not sure why someone would have that though, save for 
testing purposes..

So overall I think we'd be good to make the change, unsure about Zookeeper 
shell and the -daemon flag, anybody have an opinion on that?

Ping [~hachikuji] since you noticed this duplicate check as well.

 
{noformat}
==
./connect-distributed.sh.out
==

Old output:
USAGE: ./connect-distributed.sh [-daemon] connect-distributed.properties
0

-

New output:
[2019-05-10 09:53:16,310] INFO Usage: ConnectDistributed worker.properties 
(org.apache.kafka.connect.cli.ConnectDistributed:64)
0


==
./connect-standalone.sh.out
==

Old output:
USAGE: ./connect-standalone.sh [-daemon] connect-standalone.properties
0

-

New output:
[2019-05-10 09:53:18,139] INFO Usage: ConnectStandalone worker.properties 
connector1.properties [connector2.properties ...] 
(org.apache.kafka.connect.cli.ConnectStandalone:62)
0


==
./kafka-run-class.sh.out
==

Old output:
USAGE: ./kafka-run-class.sh [-daemon] [-name servicename] [-loggc] classname 
[opts]
0

-

New output:
Usage: java [-options] class [args...]
   (to execute a class)
   or  java [-options] -jar jarfile [args...]
   (to execute a jar file)
where options include:
-d32  use a 32-bit data model if available
-d64  use a 64-bit data model if available
-server   to select the "server" VM
  The default VM is server,
  because you are running on a server-class machine.


-cp 
-classpath 
  A : separated list of directories, JAR archives,
  and ZIP archives to search for class files.
-D=
  set a system property
-verbose:[class|gc|jni]
  enable verbose output
-version  print product version and exit
-version:
  Warning: this feature is deprecated and will be removed
  in a future release.
  require the specified version to run
-showversion  print product version and continue
-jre-restrict-search | -no-jre-restrict-search
  Warning: this feature is deprecated and will be removed
  in a future release.
  include/exclude user private JREs in the version search
-? -help  print this help message
-Xprint help on non-standard options
-ea[:...|:]
-enableassertions[:...|:]
  enable assertions with specified granularity
-da[:...|:]
-disableassertions[:...|:]
  disable assertions with specified granularity
-esa | -enablesystemassertions
  enable system assertions
-dsa | -disablesystemassertions
  disable system assertions
-agentlib:[=]
  load native agent library , e.g. -agentlib:hprof
  see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:[=]
  load native agent library by full pathname
-javaagent:[=]
  load Java programming language agent, see java.lang.instrument
-splash:
  show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for 
more details.
0


==
./kafka-server-start.sh.out
==

Old output:
USAGE: ./kafka-server-start.sh [-daemon] server.properties [--override 
property=value]*
0

-

New output:
[2019-05-10 09:53:58,855] INFO Registered kafka

[jira] [Commented] (KAFKA-8359) Reconsider default for leader imbalance percentage

2019-05-15 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16840262#comment-16840262
 ] 

Sönke Liebau commented on KAFKA-8359:
-

I dug around a little as to where this default comes from, but the only thing 
that I could find is [this brief 
conversation|https://reviews.apache.org/r/15711/#comment56318].

Personally I think between the ability to customize this parameter, monitoring 
PreferredReplicaImbalanceCount and manually triggering a leader rebalance there 
is no real need to change the default behavior, but I am very happy to be 
convinced otherwise.

 

Would it as an alternative be useful to make this parameter dynamically 
updateable without cluster restart?

> Reconsider default for leader imbalance percentage
> --
>
> Key: KAFKA-8359
> URL: https://issues.apache.org/jira/browse/KAFKA-8359
> Project: Kafka
>  Issue Type: Improvement
>Reporter: Dhruvil Shah
>Priority: Major
>
> By default, the leader imbalance ratio is 10%. This means that the controller 
> won't trigger preferred leader election for a broker unless the ratio of the 
> number of partitions a broker is the current leader of and the number of 
> partitions it is the preferred leader of is off by more than 10%. The problem 
> is when a broker is catching up after a restart, the smallest topics tend to 
> catch up first and the largest ones later, so the 10% remaining difference 
> may not be proportional to the broker's load. To keep better balance in the 
> cluster, we should consider setting 
> `leader.imbalance.per.broker.percentage=0` by default so that the preferred 
> leaders are always elected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8163) SetSchemaMetadata SMT does not apply to nested types

2019-05-16 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16841564#comment-16841564
 ] 

Marc Löhe commented on KAFKA-8163:
--

I experience the same problem with Connect 2.2 and Debezium 0.9.5.

Not sure if this is implemented Connect or Debezium, though?

> SetSchemaMetadata SMT does not apply to nested types
> 
>
> Key: KAFKA-8163
> URL: https://issues.apache.org/jira/browse/KAFKA-8163
> Project: Kafka
>  Issue Type: Bug
>Reporter: pierre bouvret
>Priority: Minor
>
> In a schema, I want to replace the pg.public.foufou namespace by the 
> pg.other_public.foufou namespace.
> The schema (Envelope from Debezium) has an inner definition for Value also 
> belonging to the pg.public.foufou namespace
> Using a SetSchemaMetadata SMT, the inner namespace is not updated.
> {quote}{
>     "type": "record",
>     "name": "Envelope",
>     "namespace": "pg.other_public.foufou",
>     "fields": [
>         {
>             "name": "before",
>             "type": [
>                 "null",
>                 {
>                     "type": "record",
>                     "name": "Value",
>                     "namespace": "pg.public.foufou",
>                     "fields": [
>                         {
>                             "name": "id",
>                             "type": "int"
>                         },
>                         {
>                             "name": "lib",
>                             "type": [
>                                 "null",
>                                 "string"
>                             ],
>                             "default": null
>                         }
>                     ],
>                     "connect.name": "pg.public.foufou.Value"
>                 }
>             ],
>             "default": null
>         },{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8393) Kafka Connect: Kafka Connect: could not get type for name org.osgi.framework.BundleListener on Windows

2019-05-20 Thread JIRA
Loïc created KAFKA-8393:
---

 Summary: Kafka Connect: Kafka Connect: could not get type for name 
org.osgi.framework.BundleListener on Windows
 Key: KAFKA-8393
 URL: https://issues.apache.org/jira/browse/KAFKA-8393
 Project: Kafka
  Issue Type: Bug
  Components: KafkaConnect
Affects Versions: 2.2.0
 Environment: Windows 10
Reporter: Loïc


Hi guys,

according the documentation 
[https://kafka.apache.org/quickstart#quickstart_kafkaconnect]

I've tried the command

`c:\dev\Tools\servers\kafka_2.12-2.2.0>bin\windows\connect-standalone.bat 
config\connect-standalone.properties config\connect-file-source.properties 
config\connect-file-sink.properties`

and got this error:

c:\dev\Tools\servers\kafka_2.12-2.2.0>bin\windows\connect-standalone.bat 
config\connect-standalone.properties config\connect-file-source.properties 
config\connect-file-sink.properties
[2019-05-17 10:21:25,049] WARN could not get type for name 
org.osgi.framework.BundleListener from any class loader 
(org.reflections.Reflections)
org.reflections.ReflectionsException: could not get type for name 
org.osgi.framework.BundleListener
 at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:390)
 at org.reflections.Reflections.expandSuperTypes(Reflections.java:381)
 at org.reflections.Reflections.(Reflections.java:126)
 at 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader$InternalReflections.(DelegatingClassLoader.java:400)
 at 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:299)
 at 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:237)
 at 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:185)

 

Environment:  Windows 10, Kafka 2.12-2.2.0 [current]

 

Many thanks for your help.

Regards

Loïc



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-6983) Error while deleting segments - The process cannot access the file because it is being used by another process

2019-05-28 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-6983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16849545#comment-16849545
 ] 

Gérald Quintana commented on KAFKA-6983:


Still occurs on Kafka 2.2.0.

It makes developping Kafka Streams applications on Windows really complicated. 
As the Kafka brokers are killed by this error.
{noformat}
[2019-05-28 10:57:03,991] ERROR Error while deleting segments for 
groupby-stream-word_table-repartition-0 in dir 
C:\Java\kafka_2.12-2.2.0\data\k-0 (kafka.server.LogDirFailureChannel)
java.nio.file.FileSystemException: 
C:\Java\kafka_2.12-2.2.0\data\k-0\groupby-stream-word_table-repartition-0\.timeindex
 -> 
C:\Java\kafka_2.12-2.2.0\data\k-0\groupby-stream-word_table-repartition-0\.timeindex.deleted:
 Le processus ne peut pas accÚder au fichier car ce fichier est utilisÚ par un 
autre processus.

    at 
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
    at 
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
    at 
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
    at java.nio.file.Files.move(Files.java:1395)
    at 
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:805)
    at kafka.log.AbstractIndex.renameTo(AbstractIndex.scala:205)
    at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:490)
    at kafka.log.Log.asyncDeleteSegment(Log.scala:1924)
    at kafka.log.Log.deleteSegment(Log.scala:1909)
    at kafka.log.Log.$anonfun$deleteSegments$3(Log.scala:1455)
    at kafka.log.Log.$anonfun$deleteSegments$3$adapted(Log.scala:1455)
    at 
scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
    at 
scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
    at kafka.log.Log.$anonfun$deleteSegments$2(Log.scala:1455)
    at 
scala.runtime.java8.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:23)
    at kafka.log.Log.maybeHandleIOException(Log.scala:2013)
    at kafka.log.Log.deleteSegments(Log.scala:1446)
    at kafka.log.Log.deleteOldSegments(Log.scala:1441)
    at kafka.log.Log.deleteLogStartOffsetBreachedSegments(Log.scala:1541)
    at kafka.log.Log.deleteOldSegments(Log.scala:1509)
    at kafka.log.LogManager.$anonfun$cleanupLogs$3(LogManager.scala:913)
    at 
kafka.log.LogManager.$anonfun$cleanupLogs$3$adapted(LogManager.scala:910)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at kafka.log.LogManager.cleanupLogs(LogManager.scala:910)
    at kafka.log.LogManager.$anonfun$startup$2(LogManager.scala:395)
    at 
kafka.utils.KafkaScheduler.$anonfun$schedule$2(KafkaScheduler.scala:114)
    at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:63)
    at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Suppressed: java.nio.file.FileSystemException: 
C:\Java\kafka_2.12-2.2.0\data\k-0\groupby-stream-word_table-repartition-0\.timeindex
 -> 
C:\Java\kafka_2.12-2.2.0\data\k-0\groupby-stream-word_table-repartition-0\.timeindex.deleted:
 Le processus ne peut pas accÚder au fichier car ce fichier est utilisÚ par un 
autre processus.

    at 
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
    at 
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)
    at 
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
    at java.nio.file.Files.move(Files.java:1395)
    at 
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:802)
    ... 30 more{noformat}

> Error while deleting segments - The process cannot access the file because it 
> is being used by another process
> --
>
> Key: KAFKA-6983
> URL: https://issues.

[jira] [Created] (KAFKA-8466) Remove 'jackson-module-scala' dependency (and replace it with some code)

2019-06-03 Thread JIRA
Dejan Stojadinović created KAFKA-8466:
-

 Summary: Remove 'jackson-module-scala' dependency (and replace it 
with some code)
 Key: KAFKA-8466
 URL: https://issues.apache.org/jira/browse/KAFKA-8466
 Project: Kafka
  Issue Type: Improvement
  Components: core
Reporter: Dejan Stojadinović
Assignee: Dejan Stojadinović


*Prologue:* 
 * [https://github.com/apache/kafka/pull/5454#issuecomment-497323889]
 * [https://github.com/apache/kafka/pull/5726/files#r289078080]

*Rationale:* one dependency less is always a good thing.

 

 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8517) A lot of WARN messages in kafka log "Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch:

2019-06-10 Thread JIRA
Jacek Żoch created KAFKA-8517:
-

 Summary: A lot of WARN messages in kafka log "Received a 
PartitionLeaderEpoch assignment for an epoch < latestEpoch: 
 Key: KAFKA-8517
 URL: https://issues.apache.org/jira/browse/KAFKA-8517
 Project: Kafka
  Issue Type: Bug
  Components: logging
Affects Versions: 0.11.0.1
 Environment: PRD
Reporter: Jacek Żoch


We have 2.0 version but it was happening in version 0.11

In kafka log there is a lot of messages

"Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch. This 
implies messages have arrived out of order."

On 23.05 we had 

Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch. This 
implies messages have arrived out of order. New: \{epoch:181, 
offset:23562380995}, Current: \{epoch:362, offset10365488611} for Partition: 
__consumer_offsets-30 (kafka.server.epoch.LeaderEpochFileCache)

Currently we have

Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch. This 
implies messages have arrived out of order. New: \{epoch:199, 
offset:24588072027}, Current: \{epoch:362, offset:10365488611} for Partition: 
__consumer_offsets-30 (kafka.server.epoch.LeaderEpochFileCache)

I think kafka should either fix it "under the hood" or have information how to 
fix it

There is no information, how dangerous is it and how to fix it

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-3288) Update ZK dependency to 3.5.1 when it is marked as stable

2019-06-18 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-3288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16866761#comment-16866761
 ] 

Gérald Quintana commented on KAFKA-3288:


Zookeeper 3.5.5 is marked as stable

> Update ZK dependency to 3.5.1 when it is marked as stable
> -
>
> Key: KAFKA-3288
> URL: https://issues.apache.org/jira/browse/KAFKA-3288
> Project: Kafka
>  Issue Type: Sub-task
>Reporter: Ashish Singh
>Assignee: Ashish Singh
>Priority: Major
>
> When a stable version of ZK 3.5.1+ is released, update Kafka's ZK dependency.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-3287) Add over-wire encryption support between KAFKA and ZK

2019-06-18 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-3287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16866772#comment-16866772
 ] 

Gérald Quintana commented on KAFKA-3287:


This means adding Zookeeper client SSL support in Kafka Server and also in 
Kafka tooling like kafka-topics.sh, kafka-acls.sh, kafka-configs.sh...

> Add over-wire encryption support between KAFKA and ZK
> -
>
> Key: KAFKA-3287
> URL: https://issues.apache.org/jira/browse/KAFKA-3287
> Project: Kafka
>  Issue Type: Improvement
>Reporter: Ashish Singh
>Assignee: Ashish Singh
>Priority: Major
>
> ZOOKEEPER-2125 added support for SSL. After Kafka upgrades ZK's dependency to 
> 3.5.1+ or 3.6.0+, SSL support between kafka broker and zk can be added.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8568) MirrorMaker 2.0 resource leak

2019-06-19 Thread JIRA
Péter Gergő Barna created KAFKA-8568:


 Summary: MirrorMaker 2.0 resource leak
 Key: KAFKA-8568
 URL: https://issues.apache.org/jira/browse/KAFKA-8568
 Project: Kafka
  Issue Type: Bug
  Components: KafkaConnect, mirrormaker
Affects Versions: 2.2.2
Reporter: Péter Gergő Barna


This issue produced by the branch  KIP-382 (I am not sure which version is 
affected by that)

While MirrorMaker 2.0 is running, the following command returns a number that 
is getting larger and larger. 

 
{noformat}
lsof -p  | grep ESTABLISHED | wc -l{noformat}
 

In the error log, NullPointers pops up from the MirrorSourceTask.cleanup, 
because either the consumer or the producer is null when the cleanup method 
tries to close it.

 
{noformat}
Exception in thread "Thread-790" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-792" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-791" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:116)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-793" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748){noformat}
When the number of the established connections (returned by lsof) reaches a 
certain limit, new exceptions start to pop up in the logs: Too many open files

 

 
{noformat}
[2019-06-19 12:56:43,949] ERROR WorkerSourceTask{id=MirrorHeartbeatConnector-0} 
failed to send record to heartbeats: {} 
(org.apache.kafka.connect.runtime.WorkerSourceTask)
org.apache.kafka.common.errors.SaslAuthenticationException: An error: 
(java.security.PrivilegedActionException: javax.security.sasl.SaslException: 
GSS initiate failed [Caused by 
GSSException: No valid credentials provided (Mechanism level: Too many open 
files)]) occurred when evaluating SASL token received from the Kafka Broker. 
Kafka Client will go to A
UTHENTICATION_FAILED state.
Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by 
GSSException: No valid credentials provided (Mechanism level: Too many open 
files)]
        at 
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.lambda$createSaslToken$1(SaslClientAuthenticator.java:461)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.createSaslToken(SaslClientAuthenticator.java:461)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:370)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendInitialToken(SaslClientAuthenticator.java:290)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:230)
        at 
org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:173)
        at 
org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:536)
        at org.apache.kafka.common.network.Selector.poll(Selector.java:472)
        at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:535)
        at 
org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:311)
        at 
org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:235)
        at java.lang.Thread.run(Thread.java:748)
Caused by: GSSException: No valid credentials provided (Mechanism level: Too 
many open files)
        at 
sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:775)
        at 
sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:248)
        at 
sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)
        at 
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:192)
        ... 14 more
Caused by: java.net.SocketException: Too many open files
        at java.net.Socket.createImpl(Socket.java:460)
        at java.net.Socket.connect(Socket.java:587)
        at sun.security.krb5.internal.TCPClient.(NetClient.java:63)
        at sun.security.krb5.internal.NetClient.getInstance(NetClient.java:43)
        at sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:393)
        at sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:364)
        at java.secur

[jira] [Updated] (KAFKA-8568) MirrorMaker 2.0 resource leak

2019-06-19 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-8568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Péter Gergő Barna updated KAFKA-8568:
-
Description: 
This issue produced by the branch  KIP-382 (I am not sure which version is 
affected by that branch).

While MirrorMaker 2.0 is running, the following command returns a number that 
is getting larger and larger. 

 
{noformat}
lsof -p  | grep ESTABLISHED | wc -l{noformat}
 

Meanwhile, in the error log, NullPointers pop up from the 
MirrorSourceTask.cleanup, because either the consumer or the producer is null 
when the cleanup method tries to close them.

 
{noformat}
Exception in thread "Thread-790" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-792" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-791" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:116)
 at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-793" java.lang.NullPointerException
 at 
org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
 at java.lang.Thread.run(Thread.java:748){noformat}
When the number of the established connections (returned by lsof) reaches a 
certain limit, new exceptions start to pop up in the logs: Too many open files
{noformat}
[2019-06-19 12:56:43,949] ERROR WorkerSourceTask{id=MirrorHeartbeatConnector-0} 
failed to send record to heartbeats: {} 
(org.apache.kafka.connect.runtime.WorkerSourceTask)
org.apache.kafka.common.errors.SaslAuthenticationException: An error: 
(java.security.PrivilegedActionException: javax.security.sasl.SaslException: 
GSS initiate failed [Caused by 
GSSException: No valid credentials provided (Mechanism level: Too many open 
files)]) occurred when evaluating SASL token received from the Kafka Broker. 
Kafka Client will go to A
UTHENTICATION_FAILED state.
Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by 
GSSException: No valid credentials provided (Mechanism level: Too many open 
files)]
        at 
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.lambda$createSaslToken$1(SaslClientAuthenticator.java:461)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.createSaslToken(SaslClientAuthenticator.java:461)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:370)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendInitialToken(SaslClientAuthenticator.java:290)
        at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:230)
        at 
org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:173)
        at 
org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:536)
        at org.apache.kafka.common.network.Selector.poll(Selector.java:472)
        at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:535)
        at 
org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:311)
        at 
org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:235)
        at java.lang.Thread.run(Thread.java:748)
Caused by: GSSException: No valid credentials provided (Mechanism level: Too 
many open files)
        at 
sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:775)
        at 
sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:248)
        at 
sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)
        at 
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:192)
        ... 14 more
Caused by: java.net.SocketException: Too many open files
        at java.net.Socket.createImpl(Socket.java:460)
        at java.net.Socket.connect(Socket.java:587)
        at sun.security.krb5.internal.TCPClient.(NetClient.java:63)
        at sun.security.krb5.internal.NetClient.getInstance(NetClient.java:43)
        at sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:393)
        at sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:364)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.krb5.KdcComm.send(KdcComm.java:348)
        at sun.security.krb5.KdcComm.sendIfPossible(KdcCom

[jira] [Commented] (KAFKA-8568) MirrorMaker 2.0 resource leak

2019-06-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16867719#comment-16867719
 ] 

Péter Gergő Barna commented on KAFKA-8568:
--

tried to add null checks, it made the NullpointerExceptions go away, but the 
leakage remained

 
{noformat}
private void cleanup() {
lock.lock();
try {
if (consumer != null){
consumer.close();
} else {
log.warn("Consumer was null in MirrorSourceTask cleanup");
}
// re-use the poll-timeout to approximate round-trip time
if (!outstandingOffsetSyncs.tryAcquire(MAX_OUTSTANDING_OFFSET_SYNCS, 2 
* pollTimeout.toMillis(),
TimeUnit.MILLISECONDS)) {
log.warn("Timed out waiting for outstanding offset syncs.");
}
if (offsetProducer != null) {
offsetProducer.close();
} else {
log.warn("OffsetProducer was null in MirrorSourceTask cleanup");
}
} catch (InterruptedException e) {
log.info("Interrupted waiting for outstanding offset syncs.");
} finally {
lock.unlock();
}
}
{noformat}

> MirrorMaker 2.0 resource leak
> -
>
> Key: KAFKA-8568
> URL: https://issues.apache.org/jira/browse/KAFKA-8568
> Project: Kafka
>  Issue Type: Bug
>  Components: KafkaConnect, mirrormaker
>Affects Versions: 2.2.2
>Reporter: Péter Gergő Barna
>Priority: Major
>
> This issue produced by the branch  KIP-382 (I am not sure which version is 
> affected by that branch).
> While MirrorMaker 2.0 is running, the following command returns a number that 
> is getting larger and larger. 
>  
> {noformat}
> lsof -p  | grep ESTABLISHED | wc -l{noformat}
>  
> Meanwhile, in the error log, NullPointers pop up from the 
> MirrorSourceTask.cleanup, because either the consumer or the producer is null 
> when the cleanup method tries to close them.
>  
> {noformat}
> Exception in thread "Thread-790" java.lang.NullPointerException
>  at 
> org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
>  at java.lang.Thread.run(Thread.java:748)
> Exception in thread "Thread-792" java.lang.NullPointerException
>  at 
> org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
>  at java.lang.Thread.run(Thread.java:748)
> Exception in thread "Thread-791" java.lang.NullPointerException
>  at 
> org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:116)
>  at java.lang.Thread.run(Thread.java:748)
> Exception in thread "Thread-793" java.lang.NullPointerException
>  at 
> org.apache.kafka.connect.mirror.MirrorSourceTask.cleanup(MirrorSourceTask.java:110)
>  at java.lang.Thread.run(Thread.java:748){noformat}
> When the number of the established connections (returned by lsof) reaches a 
> certain limit, new exceptions start to pop up in the logs: Too many open files
> {noformat}
> [2019-06-19 12:56:43,949] ERROR 
> WorkerSourceTask{id=MirrorHeartbeatConnector-0} failed to send record to 
> heartbeats: {} (org.apache.kafka.connect.runtime.WorkerSourceTask)
> org.apache.kafka.common.errors.SaslAuthenticationException: An error: 
> (java.security.PrivilegedActionException: javax.security.sasl.SaslException: 
> GSS initiate failed [Caused by 
> GSSException: No valid credentials provided (Mechanism level: Too many open 
> files)]) occurred when evaluating SASL token received from the Kafka Broker. 
> Kafka Client will go to A
> UTHENTICATION_FAILED state.
> Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by 
> GSSException: No valid credentials provided (Mechanism level: Too many open 
> files)]
>         at 
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211)
>         at 
> org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.lambda$createSaslToken$1(SaslClientAuthenticator.java:461)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at 
> org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.createSaslToken(SaslClientAuthenticator.java:461)
>         at 
> org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:370)
>         at 
> org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendInitialToken(SaslClientAuthenticator.java:290)
>         at 
> org.apache.kafka.co

[jira] [Commented] (KAFKA-5115) Use bootstrap.servers to refresh metadata

2019-06-25 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16872476#comment-16872476
 ] 

Sönke Liebau commented on KAFKA-5115:
-

Hi [~MiniMizer],

we've just discussed this today and while the change itself would be fairly 
simple, I believe there are a lot of areas that would need investigating / 
testing before this could be recommended for a production deployment.

Specifically everything around transactions and idempotent producers seem to me 
to be worth a dedicated look.

On the consumer side, the immediate concern I think is offsets, stored offsets 
might not create issues (but may also not work) - but anything cached inside 
the Fetcher cause havoc..

Bottom line: it is a good idea that I'd fully support, but probably needs more 
work than is immediately apparent.

> Use bootstrap.servers to refresh metadata
> -
>
> Key: KAFKA-5115
> URL: https://issues.apache.org/jira/browse/KAFKA-5115
> Project: Kafka
>  Issue Type: Improvement
>Affects Versions: 0.10.2.0
>Reporter: Dan
>Priority: Major
>
> Currently, it seems that bootstrap.servers list is used only when the 
> producer starts, to discover the cluster, and subsequent metadata refreshes 
> go to the discovered brokers directly.
> We would like to use the bootstrap.servers list for metadata refresh to 
> support a failover mechanism by providing a VIP which can dynamically 
> redirect requests to a secondary Kafka cluster if the primary is down.
> Consider the following use case, where "kafka-cluster.local" is a VIP on a 
> load balancer with priority server pools that point to two different Kafka 
> clusters (so when all servers of cluster #1 are down, it automatically 
> redirects to servers from cluster #2).
> bootstrap.servers: kafka-cluster.local:9092
> 1) Producer starts, connects to kafka-cluster.local and discovers all servers 
> from cluster #1
> 2) Producer starts producing to cluster #1
> 3) cluster #1 goes down
> 4) Producer detects the failure, refreshes metadata from kafka-cluster.local 
> (which now returns nodes from cluster #2)
> 5) Producer starts producing to cluster #2
> 6) cluster #1 is brought back online, and kafka-cluster.local now points to 
> it again
> In the current state, it seems that the producer will never revert to cluster 
> #1 because it continues to refresh its metadata from the brokers of cluster 
> #2, even though kafka-cluster.local no longer points to that cluster.
> If we could force the metadata refresh to happen against 
> "kafka-cluster.local", it would enable automatic failover and failback 
> between the clusters.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-7077) KIP-318: Make Kafka Connect Source idempotent

2019-06-26 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-7077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16873440#comment-16873440
 ] 

Jose A. Iñigo commented on KAFKA-7077:
--

Hi [~stephane.maa...@gmail.com], are there any plans to address this in the 
near future?

> KIP-318: Make Kafka Connect Source idempotent
> -
>
> Key: KAFKA-7077
> URL: https://issues.apache.org/jira/browse/KAFKA-7077
> Project: Kafka
>  Issue Type: Improvement
>  Components: KafkaConnect
>Affects Versions: 2.0.0
>Reporter: Stephane Maarek
>Assignee: Stephane Maarek
>Priority: Major
>
> KIP Link: 
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-318%3A+Make+Kafka+Connect+Source+idempotent



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8624) 这边是服务端的kafka,版本是 kafka_2.11-1.0.0.2,当客户端向主题发送消息的时候抛出如下异常,客户端跟服务端的版本不一致吗?

2019-07-03 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16877560#comment-16877560
 ] 

许晋瑞 commented on KAFKA-8624:


Could you provide the versions of client and server that you use? Maybe I can 
offer some help.

> 这边是服务端的kafka,版本是 kafka_2.11-1.0.0.2,当客户端向主题发送消息的时候抛出如下异常,客户端跟服务端的版本不一致吗?
> 
>
> Key: KAFKA-8624
> URL: https://issues.apache.org/jira/browse/KAFKA-8624
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 1.0.0
>Reporter: CHARELS
>Priority: Major
>  Labels: pull-request-available
>   Original Estimate: 12h
>  Remaining Estimate: 12h
>
> ERROR [KafkaApi-1004] Error when handling request 
> \{replica_id=-1,max_wait_time=1,min_bytes=0,topics=[{topic=ETE,partitions=[{partition=3,fetch_offset=119224671,max_bytes=1048576}]}]}
>  (kafka.server.KafkaApis)
> java.lang.IllegalArgumentException: Magic v0 does not support record headers
>  at 
> org.apache.kafka.common.record.MemoryRecordsBuilder.appendWithOffset(MemoryRecordsBuilder.java:403)
>  at 
> org.apache.kafka.common.record.MemoryRecordsBuilder.append(MemoryRecordsBuilder.java:586)
>  at 
> org.apache.kafka.common.record.AbstractRecords.convertRecordBatch(AbstractRecords.java:134)
>  at 
> org.apache.kafka.common.record.AbstractRecords.downConvert(AbstractRecords.java:109)
>  at 
> org.apache.kafka.common.record.FileRecords.downConvert(FileRecords.java:253)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$convertedPartitionData$1$1$$anonfun$apply$4.apply(KafkaApis.scala:519)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$convertedPartitionData$1$1$$anonfun$apply$4.apply(KafkaApis.scala:517)
>  at scala.Option.map(Option.scala:146)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$convertedPartitionData$1$1.apply(KafkaApis.scala:517)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$convertedPartitionData$1$1.apply(KafkaApis.scala:507)
>  at scala.Option.flatMap(Option.scala:171)
>  at 
> kafka.server.KafkaApis.kafka$server$KafkaApis$$convertedPartitionData$1(KafkaApis.scala:507)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$createResponse$2$1.apply(KafkaApis.scala:555)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$createResponse$2$1.apply(KafkaApis.scala:554)
>  at scala.collection.Iterator$class.foreach(Iterator.scala:891)
>  at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
>  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>  at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>  at 
> kafka.server.KafkaApis.kafka$server$KafkaApis$$createResponse$2(KafkaApis.scala:554)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$fetchResponseCallback$1$1.apply(KafkaApis.scala:568)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$fetchResponseCallback$1$1.apply(KafkaApis.scala:568)
>  at 
> kafka.server.KafkaApis$$anonfun$sendResponseMaybeThrottle$1.apply$mcVI$sp(KafkaApis.scala:2033)
>  at 
> kafka.server.ClientRequestQuotaManager.maybeRecordAndThrottle(ClientRequestQuotaManager.scala:54)
>  at kafka.server.KafkaApis.sendResponseMaybeThrottle(KafkaApis.scala:2032)
>  at 
> kafka.server.KafkaApis.kafka$server$KafkaApis$$fetchResponseCallback$1(KafkaApis.scala:568)
>  at 
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$processResponseCallback$1$1.apply$mcVI$sp(KafkaApis.scala:587)
>  at 
> kafka.server.ClientQuotaManager.maybeRecordAndThrottle(ClientQuotaManager.scala:176)
>  at 
> kafka.server.KafkaApis.kafka$server$KafkaApis$$processResponseCallback$1(KafkaApis.scala:586)
>  at 
> kafka.server.KafkaApis$$anonfun$handleFetchRequest$3.apply(KafkaApis.scala:603)
>  at 
> kafka.server.KafkaApis$$anonfun$handleFetchRequest$3.apply(KafkaApis.scala:603)
>  at kafka.server.ReplicaManager.fetchMessages(ReplicaManager.scala:820)
>  at kafka.server.KafkaApis.handleFetchRequest(KafkaApis.scala:595)
>  at kafka.server.KafkaApis.handle(KafkaApis.scala:99)
>  at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:65)
>  at java.lang.Thread.run(Thread.java:748)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-8659) SetSchemaMetadata SMT fails on records with null value and schema

2019-07-12 Thread JIRA
Marc Löhe created KAFKA-8659:


 Summary: SetSchemaMetadata SMT fails on records with null value 
and schema
 Key: KAFKA-8659
 URL: https://issues.apache.org/jira/browse/KAFKA-8659
 Project: Kafka
  Issue Type: Bug
  Components: KafkaConnect
Reporter: Marc Löhe


If you use the {{SetSchemaMetadata}} SMT with records for which the key or 
value and corresponding schema are {{null}} (i.e. tombstone records from 
[Debezium|[https://debezium.io/]), the transform will fail.
{code:java}
org.apache.kafka.connect.errors.ConnectException: Tolerance exceeded in error 
handler
at 
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:178)
at 
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execute(RetryWithToleranceOperator.java:104)
at 
org.apache.kafka.connect.runtime.TransformationChain.apply(TransformationChain.java:50)
at 
org.apache.kafka.connect.runtime.WorkerSourceTask.sendRecords(WorkerSourceTask.java:293)
at 
org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:229)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:175)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:219)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.kafka.connect.errors.DataException: Schema required for 
[updating schema metadata]
at 
org.apache.kafka.connect.transforms.util.Requirements.requireSchema(Requirements.java:31)
at 
org.apache.kafka.connect.transforms.SetSchemaMetadata.apply(SetSchemaMetadata.java:67)
at 
org.apache.kafka.connect.runtime.TransformationChain.lambda$apply$0(TransformationChain.java:50)
at 
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:128)
at 
org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:162)
... 11 more

{code}
 

I don't see any problem in passing those records as is in favor of failing and 
will shortly add this in a PR.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (KAFKA-8660) Make ValueToKey SMT work only on a whitelist of topics

2019-07-12 Thread JIRA
Marc Löhe created KAFKA-8660:


 Summary: Make ValueToKey SMT work only on a whitelist of topics
 Key: KAFKA-8660
 URL: https://issues.apache.org/jira/browse/KAFKA-8660
 Project: Kafka
  Issue Type: Improvement
  Components: KafkaConnect
Reporter: Marc Löhe


For source connectors that publish on multiple topics it is essential to be 
able to configure transforms to be active only for certain topics. I'll add a 
PR to implement this on the example of the ValueToKey SMT.

I'm also interested if this would make sense to add as a configurable option to 
all packaged SMTs or even as a capability for SMTs in general.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Updated] (KAFKA-8660) Make ValueToKey SMT work only on a whitelist of topics

2019-07-12 Thread JIRA


 [ 
https://issues.apache.org/jira/browse/KAFKA-8660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marc Löhe updated KAFKA-8660:
-
Description: 
For source connectors that publish on multiple topics it is essential to be 
able to configure transforms to be active only for certain topics. I'll add a 
PR to implement this on the example of the ValueToKey SMT.

I'm also interested in opionions if this would make sense to add as a 
configurable option to all packaged SMTs or even as a capability for SMTs in 
general.

  was:
For source connectors that publish on multiple topics it is essential to be 
able to configure transforms to be active only for certain topics. I'll add a 
PR to implement this on the example of the ValueToKey SMT.

I'm also interested if this would make sense to add as a configurable option to 
all packaged SMTs or even as a capability for SMTs in general.


> Make ValueToKey SMT work only on a whitelist of topics
> --
>
> Key: KAFKA-8660
> URL: https://issues.apache.org/jira/browse/KAFKA-8660
> Project: Kafka
>  Issue Type: Improvement
>  Components: KafkaConnect
>Reporter: Marc Löhe
>Priority: Minor
>
> For source connectors that publish on multiple topics it is essential to be 
> able to configure transforms to be active only for certain topics. I'll add a 
> PR to implement this on the example of the ValueToKey SMT.
> I'm also interested in opionions if this would make sense to add as a 
> configurable option to all packaged SMTs or even as a capability for SMTs in 
> general.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-8679) kafka-topics.sh --describe with --zookeeper throws error when there is no topic

2019-07-18 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16887719#comment-16887719
 ] 

Sönke Liebau commented on KAFKA-8679:
-

Hi [~weichu], this looks to me to be a duplicate of KAFKA-8670, you even 
followed the trail to the same ticket as introducing this error. 
Can you perhaps double check that ticket and confirm if this is indeed covered 
by it?

> kafka-topics.sh --describe with --zookeeper throws error when there is no 
> topic
> ---
>
> Key: KAFKA-8679
> URL: https://issues.apache.org/jira/browse/KAFKA-8679
> Project: Kafka
>  Issue Type: Bug
>Reporter: Weichu Liu
>Priority: Minor
>
> h3. Step to Reproduce:
> First, start a Kafka server (2.2.0+), with no topic on it.
> Then run `kafka-topics.sh --describe --zookeeper ...:2181` to get topic 
> details
> h3. Expected Behavior
> Expected Behavior should be the command prints nothing and return 0.
> h3. Actual Behavior
> The command throws an exception and exit with 1.
> {code}
> $ kafka_2.12-2.2.1/bin/kafka-topics.sh --describe --zookeeper localhost:2181
> Error while executing topic command : Topics in [] does not exist
> [2019-07-18 06:29:21,336] ERROR java.lang.IllegalArgumentException: Topics in 
> [] does not exist
>   at 
> kafka.admin.TopicCommand$.kafka$admin$TopicCommand$$ensureTopicExists(TopicCommand.scala:416)
>   at 
> kafka.admin.TopicCommand$ZookeeperTopicService.describeTopic(TopicCommand.scala:332)
>   at kafka.admin.TopicCommand$.main(TopicCommand.scala:66)
>   at kafka.admin.TopicCommand.main(TopicCommand.scala)
>  (kafka.admin.TopicCommand$)
> {code}
> h3. Others
> IIRC, the version before 2.2.0 did not throw exceptions.
> Also, {{--describing}} with {{--bootstrap-server}} will exit 0 and print 
> nothing.
> Also {{--list}} with either {{--bootstrap-server}} and {{--zookeeper}} will 
> also exit 0 and prints nothing.
> I did some quick search and seems this issue is introduced by 
> https://issues.apache.org/jira/browse/KAFKA-7054. I didn't check which exact 
> line caused the exception. Hope that will help.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-1016) Broker should limit purgatory size

2019-07-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-1016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888768#comment-16888768
 ] 

Sönke Liebau commented on KAFKA-1016:
-

Is this still relevant after the Purgatory redesign in KAFKA-1430 and 
KAFKA-1989 ?
It seems to me that the improvements made there would at least alleviate the 
issue described here due to vast performance improvements, even if no hard 
limit is introduced (which I'm not sure we want to do, as this basically would 
mean limiting the number of consumers that we are willing to serve).

> Broker should limit purgatory size
> --
>
> Key: KAFKA-1016
> URL: https://issues.apache.org/jira/browse/KAFKA-1016
> Project: Kafka
>  Issue Type: Bug
>  Components: purgatory
>Affects Versions: 0.8.0
>Reporter: Chris Riccomini
>Assignee: Joel Koshy
>Priority: Major
>
> I recently ran into a case where a poorly configured Kafka consumer was able 
> to trigger out of memory exceptions in multiple Kafka brokers. The consumer 
> was configured to have a fetcher.max.wait of Int.MaxInt.
> For low volume topics, this configuration causes the consumer to block for 
> frequently, and for long periods of time. [~junrao] informs me that the fetch 
> request will time out after the socket timeout is reached. In our case, this 
> was set to 30s.
> With several thousand consumer threads, the fetch request purgatory got into 
> the 100,000-400,000 range, which we believe triggered the out of memory 
> exception. [~nehanarkhede] claims to have seem similar behavior in other high 
> volume clusters.
> It kind of seems like a bad thing that a poorly configured consumer can 
> trigger out of memory exceptions in the broker. I was thinking maybe it makes 
> sense to have the broker try and protect itself from this situation. Here are 
> some potential solutions:
> 1. Have a broker-side max wait config for fetch requests.
> 2. Threshold the purgatory size, and either drop the oldest connections in 
> purgatory, or reject the newest fetch requests when purgatory is full.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-822) Reassignment of partitions needs a cleanup

2019-07-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888771#comment-16888771
 ] 

Sönke Liebau commented on KAFKA-822:


While not 100% sure how this looks in today's code, but I do believe that the 
/admin/reassign_partitons znode gets deleted after a finished reassignment at 
least (see for example KAFKA-6193).

I'd be in favor of closing this due to no activity for more than 6 years.

> Reassignment of partitions needs a cleanup
> --
>
> Key: KAFKA-822
> URL: https://issues.apache.org/jira/browse/KAFKA-822
> Project: Kafka
>  Issue Type: Bug
>  Components: controller, tools
>Affects Versions: 0.8.0
>Reporter: Swapnil Ghike
>Assignee: Swapnil Ghike
>Priority: Major
>  Labels: bugs
>
> 1. This is probably a left-over from when the ReassignPartitionsCommand used 
> to be blocking: 
> Currently, for each partition that is reassigned, controller deletes the 
> /admin/reassign_partitions zk path, and populates it with a new list with the 
> reassigned partition removed from the original list. This is probably an 
> overkill, and we can delete the zk path completely once the reassignment of 
> all partitions has completed successfully or in error. 
> 2. It will help to clarify that there could be no replicas that have started 
> and are not in the ISR when KafkaController.onPartitionReassignment() is 
> called.
> 3. We should batch the requests in 
> KafkaController.StopOldReplicasOfReassignedPartition()
> 4. Update controllerContext.partitionReplicaAssignment only once in 
> KafkaController.updateAssignedReplicasForPartition().
> 5. Need to thoroughly test.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-1234) All kafka-run-class.sh to source in user config file (to set env vars like KAFKA_OPTS)

2019-07-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-1234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888782#comment-16888782
 ] 

Sönke Liebau commented on KAFKA-1234:
-

I'm unsure what the "gospel" way of doing this is, but my personal belief is 
that tools that run Kafka as a service should allow for management of 
environment variables.
Most prevalent these days is probably systemd, which makes this very easy. I 
have limited experience with Upstart but do believe this is possible, if 
somewhat awkward. For init.d scripts I have not really found an acceptable 
solution apart from sourcing an env file from the init.d script, but as Kafka 
does not include these you would have to create them yourself anyway, so 
sourcing something should not create any conflicts with updates etc.

Relying on a file in the Kafka base dir bears the risk of losing this file 
during an update, depending on how that update is performed, so I'd prefer 
relying on external methods.



> All kafka-run-class.sh to source in user config file (to set env vars like 
> KAFKA_OPTS)
> --
>
> Key: KAFKA-1234
>     URL: https://issues.apache.org/jira/browse/KAFKA-1234
> Project: Kafka
>  Issue Type: Improvement
>  Components: config
>Affects Versions: 0.8.0
>Reporter: Alex Gray
>Priority: Trivial
> Attachments: patch.txt
>
>
> We are using the distributed version of kafka:
> http://apache.mirrors.lucidnetworks.net/kafka/0.8.0/kafka_2.8.0-0.8.0.tar.gz
> And we would like to set some environment variables, particularly KAFKA_OPTS 
> when the kafka service starts.
> In other words, when someone does a "sudo service kafka start" we would like 
> to set some environment variables.
> We cannot do this *without* modifying either /etc/init.d/kafka or 
> bin/kafka-run-class.sh, and we don't want to modify files that we don't own.
> The solution is to have kafka source in a user specific file that may have 
> these environment variables set.
> I'm attaching the patch file to show you what I mean.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-1099) StopReplicaRequest and StopReplicaResponse should also carry the replica ids

2019-07-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-1099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888786#comment-16888786
 ] 

Sönke Liebau commented on KAFKA-1099:
-

Pretty sure this information has not been included in the requests until now 
(at least I cannot find it in the code), but as this is now 6 years old, is 
this still relevant or has become obsolete by different changes in the meantime?

> StopReplicaRequest and StopReplicaResponse should also carry the replica ids
> 
>
> Key: KAFKA-1099
> URL: https://issues.apache.org/jira/browse/KAFKA-1099
> Project: Kafka
>  Issue Type: Bug
>  Components: controller
>Affects Versions: 0.8.1
>Reporter: Neha Narkhede
>Assignee: Neha Narkhede
>Priority: Major
>
> The stop replica request and response only contain a list of partitions for 
> which a replica should be moved to offline/nonexistent state. But the replica 
> id information is implicit in the network layer as the receiving broker. This 
> complicates stop replica response handling on the controller. This blocks the 
> right fix for KAFKA-1097 since it requires invoking callback for processing a 
> StopReplicaResponse and it requires to know the replica id from the 
> StopReplicaResponse.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-1111) Broker prematurely accepts TopicMetadataRequests on startup

2019-07-19 Thread JIRA


[ 
https://issues.apache.org/jira/browse/KAFKA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888789#comment-16888789
 ] 

Sönke Liebau commented on KAFKA-:
-

I've not tested this, but there has been some work around TopicMetadataRequests 
creating topics. Most notably KAFKA-5291 which is at least related to this, but 
certainly doesn't fix it.

Looking at the date on this though, is this still an issue or can we close this?

> Broker prematurely accepts TopicMetadataRequests on startup
> ---
>
> Key: KAFKA-
> URL: https://issues.apache.org/jira/browse/KAFKA-
> Project: Kafka
>  Issue Type: Bug
>Reporter: Jason Rosenberg
>Assignee: Neha Narkhede
>Priority: Major
>
> I have an issue where on startup, the broker starts accepting 
> TopicMetadataRequests before it has had metadata sync'd from the controller.  
> This results in a bunch of log entries that look like this:
> 013-11-01 03:26:01,577  INFO [kafka-request-handler-0] admin.AdminUtils$ - 
> Topic creation { "partitions":{ "0":[ 9, 10 ] }, "version":1 }
> 2013-11-01 03:26:07,767  INFO [kafka-request-handler-1] admin.AdminUtils$ - 
> Topic creation { "partitions":{ "0":[ 9, 11 ] }, "version":1 }
> 2013-11-01 03:26:07,823  INFO [kafka-request-handler-1] admin.AdminUtils$ - 
> Topic creation { "partitions":{ "0":[ 10, 11 ] }, "version":1 }
> 2013-11-01 03:26:11,183  INFO [kafka-request-handler-2] admin.AdminUtils$ - 
> Topic creation { "partitions":{ "0":[ 10, 11 ] }, "version":1 }
> From an email thread, Neha remarks:
> Before a broker receives the first
> LeaderAndIsrRequest/UpdateMetadataRequest, it is technically not ready to
> start serving any request. But it still ends up serving
> TopicMetadataRequest which can re-create topics accidentally. It shouldn't
> succeed, but this is still a problem.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Created] (KAFKA-8698) ListOffsets Response protocol documentation

2019-07-23 Thread JIRA
Fábio Silva created KAFKA-8698:
--

 Summary: ListOffsets Response protocol documentation
 Key: KAFKA-8698
 URL: https://issues.apache.org/jira/browse/KAFKA-8698
 Project: Kafka
  Issue Type: Bug
  Components: documentation
Reporter: Fábio Silva


The documentation of ListOffsets Response (Version: 0) appears to have an error 
on offsets field name, suffixed with `'`.
{code:java}
[offsets']{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-9308) Misses SAN after certificate creation

2019-12-17 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16998337#comment-16998337
 ] 

Sönke Liebau commented on KAFKA-9308:
-

I believe this is due to the fact that the x509 module of openssl only adds 
extensions to signed certificates that are passed via the -extfile parameter. 
Any extensions that are requested in the CSR are ignored.
For this to work you'd need to create a proper CA with signing profiles like 
shown here: https://stackoverflow.com/a/21340898/7183757

Might make sense to update the docs for this.

> Misses SAN after certificate creation
> -
>
> Key: KAFKA-9308
> URL: https://issues.apache.org/jira/browse/KAFKA-9308
> Project: Kafka
>  Issue Type: Bug
>  Components: documentation
>Affects Versions: 2.3.1
>Reporter: Agostino Sarubbo
>Priority: Minor
>
> Hello,
> I followed the documentation to use kafka with ssl, however the entire 
> 'procedure' loses at the end the specified SAN.
> To test, run (after the first keytool command and after the latest):
>  
> {code:java}
> keytool -list -v -keystore server.keystore.jks
> {code}
> Reference:
>  [http://kafka.apache.org/documentation.html#security_ssl]
>  
> {code:java}
> #!/bin/bash
> #Step 1
> keytool -keystore server.keystore.jks -alias localhost -validity 365 -keyalg 
> RSA -genkey -ext SAN=DNS:test.test.com
> #Step 2
> openssl req -new -x509 -keyout ca-key -out ca-cert -days 365
> keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert
> keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
> #Step 3
> keytool -keystore server.keystore.jks -alias localhost -certreq -file 
> cert-file 
> openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed 
> -days 365 -CAcreateserial -passin pass:test1234 
> keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert 
> keytool -keystore server.keystore.jks -alias localhost -import -file 
> cert-signed
> {code}
>  
> In the detail, the SAN is losed after:
> {code:java}
> keytool -keystore server.keystore.jks -alias localhost -import -file 
> cert-signed
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (KAFKA-9311) Jumbled table content for broker config doc

2019-12-17 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau resolved KAFKA-9311.
-
Resolution: Not A Problem

This is not an error but was a conscious change in KAFKA-8474 to improve the 
readability of that section.

> Jumbled table content for broker config doc
> ---
>
> Key: KAFKA-9311
> URL: https://issues.apache.org/jira/browse/KAFKA-9311
> Project: Kafka
>  Issue Type: Bug
>  Components: documentation
>Affects Versions: 2.4.0
>Reporter: Joel Hamill
>Priority: Major
> Attachments: image-2019-12-17-14-48-19-927.png, 
> image-2019-12-17-14-48-50-800.png
>
>
> The current version of the broker configs has broken table formatting:
> [https://kafka.apache.org/documentation/#brokerconfigs]
> !image-2019-12-17-14-48-50-800.png!
> Previous version: 
> [https://kafka.apache.org/23/documentation/#brokerconfigs]
> !image-2019-12-17-14-48-19-927.png!
>  
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9376) Plugin class loader not found using MM2

2020-01-07 Thread Jira
Sinóros-Szabó Péter created KAFKA-9376:
--

 Summary: Plugin class loader not found using MM2
 Key: KAFKA-9376
 URL: https://issues.apache.org/jira/browse/KAFKA-9376
 Project: Kafka
  Issue Type: Bug
  Components: mirrormaker
Affects Versions: 2.4.0
Reporter: Sinóros-Szabó Péter


I am using MM2 (release 2.4.0 with scala 2.12) I geta bunch of classloader 
errors. MM2 seems to be working, but I do not know if all of it components are 
working as expected as this is the first time I use MM2.

I run MM2 with the following command:
{code:java}
./bin/connect-mirror-maker.sh config/connect-mirror-maker.properties
{code}
Errors are:
{code:java}
[2020-01-07 15:06:17,892] ERROR Plugin class loader for connector: 
'org.apache.kafka.connect.mirror.MirrorHeartbeatConnector' was not found. 
Returning: 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader@6ebf0f36 
(org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:165)
[2020-01-07 15:06:17,889] ERROR Plugin class loader for connector: 
'org.apache.kafka.connect.mirror.MirrorHeartbeatConnector' was not found. 
Returning: 
org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader@6ebf0f36 
(org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:165)
[2020-01-07 15:06:17,904] INFO ConnectorConfig values:
 config.action.reload = restart
 connector.class = org.apache.kafka.connect.mirror.MirrorHeartbeatConnector
 errors.log.enable = false
 errors.log.include.messages = false
 errors.retry.delay.max.ms = 6
 errors.retry.timeout = 0
 errors.tolerance = none
 header.converter = null
 key.converter = null
 name = MirrorHeartbeatConnector
 tasks.max = 1
 transforms = []
 value.converter = null
 (org.apache.kafka.connect.runtime.ConnectorConfig:347)
[2020-01-07 15:06:17,904] INFO EnrichedConnectorConfig values:
 config.action.reload = restart
 connector.class = org.apache.kafka.connect.mirror.MirrorHeartbeatConnector
 errors.log.enable = false
 errors.log.include.messages = false
 errors.retry.delay.max.ms = 6
 errors.retry.timeout = 0
 errors.tolerance = none
 header.converter = null
 key.converter = null
 name = MirrorHeartbeatConnector
 tasks.max = 1
 transforms = []
 value.converter = null
 (org.apache.kafka.connect.runtime.ConnectorConfig$EnrichedConnectorConfig:347)
[2020-01-07 15:06:17,905] INFO TaskConfig values:
 task.class = class org.apache.kafka.connect.mirror.MirrorHeartbeatTask
 (org.apache.kafka.connect.runtime.TaskConfig:347)
[2020-01-07 15:06:17,905] INFO Instantiated task MirrorHeartbeatConnector-0 
with version 1 of type org.apache.kafka.connect.mirror.MirrorHeartbeatTask 
(org.apache.kafka.connect.runtime.Worker:434){code}
After a while, these errors are not logged any more.

Config is:
{code:java}
clusters = eucmain, euwbackup
eucmain.bootstrap.servers = kafka1:9092,kafka2:9092
euwbackup.bootstrap.servers = 172.30.197.203:9092,172.30.213.104:9092
eucmain->euwbackup.enabled = true
eucmain->euwbackup.topics = .*
eucmain->euwbackup.topics.blacklist = ^(kafka|kmf|__|pricing).*
eucmain->euwbackup.rename.topics = false
rename.topics = false
eucmain->euwbackup.sync.topic.acls.enabled = false
sync.topic.acls.enabled = false{code}
Using OpenJDK 8 or 11, I get the same error.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9397) Deprecate Direct Zookeeper access in Kafka Administrative Tools

2020-01-10 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17013151#comment-17013151
 ] 

Gérald Quintana commented on KAFKA-9397:


kafka-acl.sh doesn''t have --zookeeper argument, but --authorizer-property 
zookeeper.connect is the same at the end

> Deprecate Direct Zookeeper access in Kafka Administrative Tools
> ---
>
> Key: KAFKA-9397
> URL: https://issues.apache.org/jira/browse/KAFKA-9397
> Project: Kafka
>  Issue Type: Improvement
>  Components: tools
>Affects Versions: 2.5.0
>Reporter: Colin McCabe
>Assignee: Colin McCabe
>Priority: Major
> Fix For: 2.5.0
>
>
> KIP-555: Deprecate Direct Zookeeper access in Kafka Administrative Tools



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9308) Misses SAN after certificate creation

2020-01-14 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17014989#comment-17014989
 ] 

Sönke Liebau commented on KAFKA-9308:
-

Hi [~ago], thanks for the update. Would you be interested in creating a pull 
request to update the documentation?

Regarding your second question, that is a bit hard to diagnose without further 
detail, does it give any reason why the handshake failed?

> Misses SAN after certificate creation
> -
>
> Key: KAFKA-9308
> URL: https://issues.apache.org/jira/browse/KAFKA-9308
> Project: Kafka
>  Issue Type: Bug
>  Components: documentation
>Affects Versions: 2.3.1
>Reporter: Agostino Sarubbo
>Priority: Minor
>
> Hello,
> I followed the documentation to use kafka with ssl, however the entire 
> 'procedure' loses at the end the specified SAN.
> To test, run (after the first keytool command and after the latest):
>  
> {code:java}
> keytool -list -v -keystore server.keystore.jks
> {code}
> Reference:
>  [http://kafka.apache.org/documentation.html#security_ssl]
>  
> {code:java}
> #!/bin/bash
> #Step 1
> keytool -keystore server.keystore.jks -alias localhost -validity 365 -keyalg 
> RSA -genkey -ext SAN=DNS:test.test.com
> #Step 2
> openssl req -new -x509 -keyout ca-key -out ca-cert -days 365
> keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert
> keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
> #Step 3
> keytool -keystore server.keystore.jks -alias localhost -certreq -file 
> cert-file 
> openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed 
> -days 365 -CAcreateserial -passin pass:test1234 
> keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert 
> keytool -keystore server.keystore.jks -alias localhost -import -file 
> cert-signed
> {code}
>  
> In the detail, the SAN is losed after:
> {code:java}
> keytool -keystore server.keystore.jks -alias localhost -import -file 
> cert-signed
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira
Sönke Liebau created KAFKA-9423:
---

 Summary: Refine layout of configuration options on website and 
make individual settings directly linkable
 Key: KAFKA-9423
 URL: https://issues.apache.org/jira/browse/KAFKA-9423
 Project: Kafka
  Issue Type: Improvement
  Components: documentation
Reporter: Sönke Liebau
 Attachments: image-2020-01-14-11-17-55-277.png, 
image-2020-01-14-11-18-12-190.png, image-2020-01-14-11-18-24-939.png, 
image-2020-01-14-11-18-36-825.png

KAKFA-8474 changed the layout of configuration options on the website from a 
table which over time ran out of horizontal space to a list.
This vastly improved readability but is not yet ideal. Further discussion was 
had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
This ticket is to move that discussion to a separate thread and make it more 
visible to other people and to give subsequent PRs a home.

Currently proposed options are listed below.

Option 1: 
 !image-2020-01-14-11-17-55-277.png|thumbnail! 

Option 2:
 !image-2020-01-14-11-18-12-190.png|thumbnail! 

Option 3:
 !image-2020-01-14-11-18-24-939.png|thumbnail! 

Option 4:
 !image-2020-01-14-11-18-36-825.png|thumbnail! 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau reassigned KAFKA-9423:
---

Assignee: Sönke Liebau

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: image-2020-01-14-11-17-55-277.png, 
> image-2020-01-14-11-18-12-190.png, image-2020-01-14-11-18-24-939.png, 
> image-2020-01-14-11-18-36-825.png
>
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are listed below.
> Option 1: 
>  !image-2020-01-14-11-17-55-277.png|thumbnail! 
> Option 2:
>  !image-2020-01-14-11-18-12-190.png|thumbnail! 
> Option 3:
>  !image-2020-01-14-11-18-24-939.png|thumbnail! 
> Option 4:
>  !image-2020-01-14-11-18-36-825.png|thumbnail! 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Attachment: (was: image-2020-01-14-11-17-55-277.png)

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Description: 
KAKFA-8474 changed the layout of configuration options on the website from a 
table which over time ran out of horizontal space to a list.
This vastly improved readability but is not yet ideal. Further discussion was 
had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
This ticket is to move that discussion to a separate thread and make it more 
visible to other people and to give subsequent PRs a home.

Currently proposed options are attached to this issue.

  was:
KAKFA-8474 changed the layout of configuration options on the website from a 
table which over time ran out of horizontal space to a list.
This vastly improved readability but is not yet ideal. Further discussion was 
had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
This ticket is to move that discussion to a separate thread and make it more 
visible to other people and to give subsequent PRs a home.

Currently proposed options are listed below.

Option 1: 
 !image-2020-01-14-11-17-55-277.png|thumbnail! 

Option 2:
 !image-2020-01-14-11-18-12-190.png|thumbnail! 

Option 3:
 !image-2020-01-14-11-18-24-939.png|thumbnail! 

Option 4:
 !image-2020-01-14-11-18-36-825.png|thumbnail! 


> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Attachment: (was: image-2020-01-14-11-18-12-190.png)

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Attachment: (was: image-2020-01-14-11-18-24-939.png)

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Attachment: (was: image-2020-01-14-11-18-36-825.png)

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Attachment: option4.png
option3.png
option2.png
option1.png

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: option1.png, option2.png, option3.png, option4.png
>
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17014995#comment-17014995
 ] 

Sönke Liebau commented on KAFKA-9423:
-

Personally I am in favor of one of the options that list options vertically (1 
& 3).
If we have the specifications on one line, we risk running out of horizontal 
space again for example if a setting has a very long default value.

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: option1.png, option2.png, option3.png, option4.png
>
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17015040#comment-17015040
 ] 

Sönke Liebau commented on KAFKA-9423:
-

I've taken the liberty of creating a pull request with option 3 
ping [~hachikuji] & [~mimaison] if you find a bit of time for a review.

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: option1.png, option2.png, option3.png, option4.png
>
>
> KAKFA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-14 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau updated KAFKA-9423:

Description: 
KAFKA-8474 changed the layout of configuration options on the website from a 
table which over time ran out of horizontal space to a list.
This vastly improved readability but is not yet ideal. Further discussion was 
had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
This ticket is to move that discussion to a separate thread and make it more 
visible to other people and to give subsequent PRs a home.

Currently proposed options are attached to this issue.

  was:
KAKFA-8474 changed the layout of configuration options on the website from a 
table which over time ran out of horizontal space to a list.
This vastly improved readability but is not yet ideal. Further discussion was 
had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
This ticket is to move that discussion to a separate thread and make it more 
visible to other people and to give subsequent PRs a home.

Currently proposed options are attached to this issue.


> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: option1.png, option2.png, option3.png, option4.png
>
>
> KAFKA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9423) Refine layout of configuration options on website and make individual settings directly linkable

2020-01-16 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17017063#comment-17017063
 ] 

Sönke Liebau commented on KAFKA-9423:
-

Thinking this a little further, is there any appetite for replacing all that 
string concatenation with some form of HTML generation lib?
I've just used [j2html|https://j2html.com/] and found it fairly lightweight and 
usable.
Since that code is not needed at runtime but only to build the site during the 
Gradle run we could probably just have it as a compile only dependency and not 
clutter the release tars with any additional dependencies.

> Refine layout of configuration options on website and make individual 
> settings directly linkable
> 
>
> Key: KAFKA-9423
> URL: https://issues.apache.org/jira/browse/KAFKA-9423
> Project: Kafka
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Trivial
> Attachments: option1.png, option2.png, option3.png, option4.png
>
>
> KAFKA-8474 changed the layout of configuration options on the website from a 
> table which over time ran out of horizontal space to a list.
> This vastly improved readability but is not yet ideal. Further discussion was 
> had in the [PR|https://github.com/apache/kafka/pull/6870] for KAFKA-8474.
> This ticket is to move that discussion to a separate thread and make it more 
> visible to other people and to give subsequent PRs a home.
> Currently proposed options are attached to this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9456) EndToEndLatency: Add support for printing all latencies

2020-01-20 Thread Jira
Fábio Silva created KAFKA-9456:
--

 Summary: EndToEndLatency: Add support for printing all latencies
 Key: KAFKA-9456
 URL: https://issues.apache.org/jira/browse/KAFKA-9456
 Project: Kafka
  Issue Type: New Feature
  Components: tools
Reporter: Fábio Silva
Assignee: Fábio Silva


The EndToEndLatency tool already stores all the latencies but it only prints a 
brief report containing the mean latency and some percentiles. The main idea of 
this feature is to have a flag to enable printing all the latencies instead of 
a report.

Printing all the latencies is important if the goal of testing is to plot a 
chart (such a boxplot) for example, extract confidence intervals, wherever.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9456) EndToEndLatency: Add support for printing all latencies

2020-01-20 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fábio Silva updated KAFKA-9456:
---
Priority: Minor  (was: Major)

> EndToEndLatency: Add support for printing all latencies
> ---
>
> Key: KAFKA-9456
> URL: https://issues.apache.org/jira/browse/KAFKA-9456
> Project: Kafka
>  Issue Type: New Feature
>  Components: tools
>Reporter: Fábio Silva
>Assignee: Fábio Silva
>Priority: Minor
>  Labels: pull-request-available
>
> The EndToEndLatency tool already stores all the latencies but it only prints 
> a brief report containing the mean latency and some percentiles. The main 
> idea of this feature is to have a flag to enable printing all the latencies 
> instead of a report.
> Printing all the latencies is important if the goal of testing is to plot a 
> chart (such a boxplot) for example, extract confidence intervals, wherever.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-8843) Zookeeper migration tool support for TLS

2020-01-27 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17024606#comment-17024606
 ] 

Gérald Quintana commented on KAFKA-8843:


I am probably dreaming, but it would be great to have 
_zookeeper-client.properties_ config file on par with 
producer/consumer.properties config files, containing both TLS and JAAS 
authentication settings:

 
{code:java}
zookeeper.client.secure=true
zookeeper.sasl.jaas.config=org.apache.zookeeper.server.auth.DigestLoginModule 
required username="kafka" password="kafkapass";
zookeeper.ssl.truststore.location=/etc/kafka/truststore.jks
zookeeper.ssl.truststore.password=truststorepass
{code}
As a result, the command line argument could be named _-zk-config-file_ instead 
of _-zk-tls-config-file_

> Zookeeper migration tool support for TLS
> 
>
> Key: KAFKA-8843
> URL: https://issues.apache.org/jira/browse/KAFKA-8843
> Project: Kafka
>  Issue Type: Bug
>Reporter: Pere Urbon-Bayes
>Assignee: Pere Urbon-Bayes
>Priority: Minor
>
> Currently zookeeper-migration tool works based on SASL authentication. What 
> means only digest and kerberos authentication is supported.
>  
> With the introduction of ZK 3.5, TLS is added, including a new X509 
> authentication provider. 
>  
> To support this great future and utilise the TLS principals, the 
> zookeeper-migration-tool script should support the X509 authentication as 
> well.
>  
> In my newbie view, this should mean adding a new parameter to allow other 
> ways of authentication around 
> [https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/admin/ZkSecurityMigrator.scala#L65.
>  
> |https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/admin/ZkSecurityMigrator.scala#L65]
>  
> If I understand the process correct, this will require a KIP, right?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-8843) Zookeeper migration tool support for TLS

2020-01-27 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17024606#comment-17024606
 ] 

Gérald Quintana edited comment on KAFKA-8843 at 1/27/20 7:39 PM:
-

I am probably dreaming, but it would be great to have 
_zookeeper-client.properties_ config file on par with 
producer/consumer.properties config files, containing both TLS and optionnaly 
JAAS authentication settings:
{code:java}
zookeeper.client.secure=true
zookeeper.sasl.jaas.config=org.apache.zookeeper.server.auth.DigestLoginModule 
required username="kafka" password="kafkapass";
zookeeper.ssl.truststore.location=/etc/kafka/truststore.jks
zookeeper.ssl.truststore.password=truststorepass
{code}
As a result, the command line argument could be named _-zk-config-file_ instead 
of _-zk-tls-config-file_


was (Author: gquintana):
I am probably dreaming, but it would be great to have 
_zookeeper-client.properties_ config file on par with 
producer/consumer.properties config files, containing both TLS and JAAS 
authentication settings:

 
{code:java}
zookeeper.client.secure=true
zookeeper.sasl.jaas.config=org.apache.zookeeper.server.auth.DigestLoginModule 
required username="kafka" password="kafkapass";
zookeeper.ssl.truststore.location=/etc/kafka/truststore.jks
zookeeper.ssl.truststore.password=truststorepass
{code}
As a result, the command line argument could be named _-zk-config-file_ instead 
of _-zk-tls-config-file_

> Zookeeper migration tool support for TLS
> 
>
> Key: KAFKA-8843
> URL: https://issues.apache.org/jira/browse/KAFKA-8843
> Project: Kafka
>  Issue Type: Bug
>Reporter: Pere Urbon-Bayes
>Assignee: Pere Urbon-Bayes
>Priority: Minor
>
> Currently zookeeper-migration tool works based on SASL authentication. What 
> means only digest and kerberos authentication is supported.
>  
> With the introduction of ZK 3.5, TLS is added, including a new X509 
> authentication provider. 
>  
> To support this great future and utilise the TLS principals, the 
> zookeeper-migration-tool script should support the X509 authentication as 
> well.
>  
> In my newbie view, this should mean adding a new parameter to allow other 
> ways of authentication around 
> [https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/admin/ZkSecurityMigrator.scala#L65.
>  
> |https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/admin/ZkSecurityMigrator.scala#L65]
>  
> If I understand the process correct, this will require a KIP, right?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9504) Memory leak in KafkaMetrics registered to MBean

2020-02-04 Thread Jira
Andreas Holmén created KAFKA-9504:
-

 Summary: Memory leak in KafkaMetrics registered to MBean
 Key: KAFKA-9504
 URL: https://issues.apache.org/jira/browse/KAFKA-9504
 Project: Kafka
  Issue Type: Bug
  Components: clients
Affects Versions: 2.4.0
Reporter: Andreas Holmén


After close() called on a KafkaConsumer some registered MBeans are not 
unregistered causing leak.

 

 
{code:java}
import static 
org.apache.kafka.clients.consumer.ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG;
import java.lang.management.ManagementFactory;
import java.util.HashMap;
import java.util.Map;
import javax.management.MBeanServer;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.ByteArrayDeserializer;
public class Leaker {
 private static String bootstrapServers = "hostname:9092";
 
 public static void main(String[] args) throws InterruptedException {
  MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
  Map props = new HashMap<>();
  props.put(BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
 
  int beans = mBeanServer.getMBeanCount();
  for (int i = 0; i < 100; i++) {
   KafkaConsumer consumer = new KafkaConsumer<>(props, new 
ByteArrayDeserializer(), new ByteArrayDeserializer());
   consumer.close();
  }
  int newBeans = mBeanServer.getMBeanCount();
  System.out.println("\nbeans delta: " + (newBeans - beans));
 }
}
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-12 Thread Jira
Rafał Boniecki created KAFKA-9543:
-

 Summary: Consumer offset reset after new segment rolling
 Key: KAFKA-9543
 URL: https://issues.apache.org/jira/browse/KAFKA-9543
 Project: Kafka
  Issue Type: Bug
Affects Versions: 2.4.0
Reporter: Rafał Boniecki
 Attachments: Untitled.png

After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
offset resets.

Consumer:
{code:java}
2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
[2020-02-12T11:12:58,402][INFO 
][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of range 
for partition stats-5, resetting offset
{code}
Broker:
{code:java}
2020-02-12 11:12:58:400 CET INFO  
[data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
All resets are perfectly correlated to rolling new segments at the broker - 
segment is rolled first, then, couple of ms later, reset on the consumer 
occurs. Attached is grafana graph with consumer lag per partition. All sudden 
spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-18 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17039336#comment-17039336
 ] 

Rafał Boniecki commented on KAFKA-9543:
---

Yes it is consumer lag. As you can see before update there was practically none 
of it (it can be easily deduced when upgrade took place ;)). I will try to 
reproduce it and let you know how it went.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-18 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17039336#comment-17039336
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/18/20 6:33 PM:


Yes it is consumer lag (every color represents different partition). As you can 
see before update there was practically none of it (it can be easily deduced 
when upgrade took place ;)). I will try to reproduce it and let you know how it 
went.


was (Author: boniek):
Yes it is consumer lag. As you can see before update there was practically none 
of it (it can be easily deduced when upgrade took place ;)). I will try to 
reproduce it and let you know how it went.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9609) Memory Leak in Kafka Producer

2020-02-26 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17045652#comment-17045652
 ] 

Sönke Liebau commented on KAFKA-9609:
-

Is that really a bug though?

If I checked the record-send-total, record-error-total or byte-total metrics 
for a specific topic I would expect to get the correct number reported no 
matter how long ago I sent the last record to that topic. 

I would say that this works as designed, even though it may not be perfect for 
your use case. 

> Memory Leak in Kafka Producer
> -
>
> Key: KAFKA-9609
> URL: https://issues.apache.org/jira/browse/KAFKA-9609
> Project: Kafka
>  Issue Type: Bug
>  Components: clients, producer 
>Affects Versions: 2.4.0
>Reporter: Satish
>Priority: Major
>
> org.apache.kafka.clients.producer.internals.Sender adds Topic Metrics for 
> every topic that we are writing messages to but it never been cleaned up 
> until we close the producer.
> This is an issue if we use single producer and have more number of Dynamic 
> topics (eg: ~ 500 topics per hour) and writing messages to them.  As this 
> Metrics map is getting accumulated for every topic, over a period of time we 
> notice the memory usage gets increased gradually. 
> It can be easily reproducible by writing messages to the more # of dynamic 
> topics using the same KafkaProducer from apache kafka client libraries or 
> KafkaTemplate from Spring.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9609) Memory Leak in Kafka Producer

2020-02-26 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17045741#comment-17045741
 ] 

Sönke Liebau commented on KAFKA-9609:
-

Hi [~satish.gudl...@gmail.com],
I am not aware of any way to remove Producer metrics tbh. Just had a quick look 
(2 minutes) at the code and couldn't find anything either.
If this is a problem for you, it would probably be best to periodically 
reinitialize your producers, how that would best be done depends heavily on how 
you use them though. Using a 1:1 assignment of producer to topic is one option 
- if it is a sensible one depends again on your setup though.

> Memory Leak in Kafka Producer
> -
>
> Key: KAFKA-9609
> URL: https://issues.apache.org/jira/browse/KAFKA-9609
> Project: Kafka
>  Issue Type: Bug
>  Components: clients, producer 
>Affects Versions: 2.4.0
>Reporter: Satish
>Priority: Major
>
> org.apache.kafka.clients.producer.internals.Sender adds Topic Metrics for 
> every topic that we are writing messages to but it never been cleaned up 
> until we close the producer.
> This is an issue if we use single producer and have more number of Dynamic 
> topics (eg: ~ 500 topics per hour) and writing messages to them.  As this 
> Metrics map is getting accumulated for every topic, over a period of time we 
> notice the memory usage gets increased gradually. 
> It can be easily reproducible by writing messages to the more # of dynamic 
> topics using the same KafkaProducer from apache kafka client libraries or 
> KafkaTemplate from Spring.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (KAFKA-9609) Memory Leak in Kafka Producer

2020-02-27 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sönke Liebau resolved KAFKA-9609.
-
  Assignee: Sönke Liebau
Resolution: Not A Bug

As discussed in the comments I do not believe that this is a bug. Yes, memory 
usage may increase over time with this usage pattern, but it is not a memory 
leak, as the information needs to be kept in order to report correct metrics.

> Memory Leak in Kafka Producer
> -
>
> Key: KAFKA-9609
> URL: https://issues.apache.org/jira/browse/KAFKA-9609
> Project: Kafka
>  Issue Type: Bug
>  Components: clients, producer 
>Affects Versions: 2.4.0
>Reporter: Satish
>Assignee: Sönke Liebau
>Priority: Major
>
> org.apache.kafka.clients.producer.internals.Sender adds Topic Metrics for 
> every topic that we are writing messages to but it never been cleaned up 
> until we close the producer.
> This is an issue if we use single producer and have more number of Dynamic 
> topics (eg: ~ 500 topics per hour) and writing messages to them.  As this 
> Metrics map is getting accumulated for every topic, over a period of time we 
> notice the memory usage gets increased gradually. 
> It can be easily reproducible by writing messages to the more # of dynamic 
> topics using the same KafkaProducer from apache kafka client libraries or 
> KafkaTemplate from Spring.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9613) orruptRecordException: Found record size 0 smaller than minimum record overhead

2020-02-27 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17046407#comment-17046407
 ] 

Sönke Liebau commented on KAFKA-9613:
-

Hi [~khandelwal.amit]

can you please provide some additional information around this bug? Especially 
helpful would be any steps that might help reproduce this scenario, if you've 
done some testing around this.
What version of Kafka are you using on the brokers and on the clients?
Did you at any time upgrade or downgrade your brokers?
Does this error always occur in the same file or in multiple ones?

> orruptRecordException: Found record size 0 smaller than minimum record 
> overhead
> ---
>
> Key: KAFKA-9613
> URL: https://issues.apache.org/jira/browse/KAFKA-9613
> Project: Kafka
>  Issue Type: Bug
>Reporter: Amit Khandelwal
>Priority: Major
>
> 20200224;21:01:38: [2020-02-24 21:01:38,615] ERROR [ReplicaManager broker=0] 
> Error processing fetch with max size 1048576 from consumer on partition 
> SANDBOX.BROKER.NEWORDER-0: (fetchOffset=211886, logStartOffset=-1, 
> maxBytes=1048576, currentLeaderEpoch=Optional.empty) 
> (kafka.server.ReplicaManager)
> 20200224;21:01:38: org.apache.kafka.common.errors.CorruptRecordException: 
> Found record size 0 smaller than minimum record overhead (14) in file 
> /data/tmp/kafka-topic-logs/SANDBOX.BROKER.NEWORDER-0/.log.
> 20200224;21:05:48: [2020-02-24 21:05:48,711] INFO [GroupMetadataManager 
> brokerId=0] Removed 0 expired offsets in 1 milliseconds. 
> (kafka.coordinator.group.GroupMetadataManager)
> 20200224;21:10:22: [2020-02-24 21:10:22,204] INFO [GroupCoordinator 0]: 
> Member 
> _011-9e61d2c9-ce5a-4231-bda1-f04e6c260dc0-StreamThread-1-consumer-27768816-ee87-498f-8896-191912282d4f
>  in group y_011 has failed, removing it from the group 
> (kafka.coordinator.group.GroupCoordinator)
>  
> [https://stackoverflow.com/questions/60404510/kafka-broker-issue-replica-manager-with-max-size#]
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-8247) Duplicate error handling in kafka-server-start.sh and actual Kafka class

2020-02-27 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17046960#comment-17046960
 ] 

Sönke Liebau commented on KAFKA-8247:
-

ping [~hachikuji]

> Duplicate error handling in kafka-server-start.sh and actual Kafka class
> 
>
> Key: KAFKA-8247
> URL: https://issues.apache.org/jira/browse/KAFKA-8247
> Project: Kafka
>  Issue Type: Bug
>  Components: core
>Affects Versions: 2.1.1
>Reporter: Sönke Liebau
>Assignee: Sönke Liebau
>Priority: Minor
>
> There is some duplication of error handling for command line parameters that 
> are passed into kafka-server-start.sh
>  
> The shell script prints an error, if no arguments are passed in, effectively 
> causing the same check in 
> [Kafka|https://github.com/apache/kafka/blob/92db08cba582668d77160b0c2853efd45a1b809b/core/src/main/scala/kafka/Kafka.scala#L43]
>  to never be triggered, unless the only option that is specified is -daemon, 
> which would be removed before passing arguments to the java class.
>  
> While not in any way critical I don't think that this is intended behavior. I 
> think we should remove the extra check in kafka-server-start.sh and leave 
> argument handling up to the Kafka class.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki commented on KAFKA-9543:
---

I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we seen this happen has about 5MB/s traffic (so not that much 
traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic and read it back at the same time as it was written and cannot 
reproduce this

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 2:54 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic and read it back at the same time as it was written and cannot 
reproduce this


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we seen this happen has about 5MB/s traffic (so not that much 
traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic and read it back at the same time as it was written and cannot 
reproduce this

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 2:55 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic and read it back at the same time as it was written and cannot 
reproduce this

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 2:56 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this - test ran 3 days - we looked 
for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 2:57 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this - test ran 3 days - we looked 
for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 2:59 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
>     URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:01 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx)
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:05 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition. Also notice that before update 
client had 0 lag, so probably this is crucial to reproduce this bug - you have 
to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:08 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition. Also notice that before update 
client had 0 lag (you can see this in my attached screenshot), so probably this 
is crucial to reproduce this bug - you have to be reading top of the log 
all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition. Also notice that before update 
client had 0 lag, so probably this is crucial to reproduce this bug - you have 
to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:09 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". I assume kafka broker thinks it does not have this offset in log 
(at least according to data we gather from jmx). This suggests that maybe 
offsets are incorrectly cached or cache update has race condition. Also notice 
that before update client had 0 lag (you can see this in my attached 
screenshot), so probably this is crucial to reproduce this bug - you have to be 
reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". Kafka broker does not have this offset in log (at least according 
to data we gather from jmx). This suggests that maybe offsets are incorrectly 
cached or cache update has race condition. Also notice that before update 
client had 0 lag (you can see this in my attached screenshot), so probably this 
is crucial to reproduce this bug - you have to be reading top of the log 
all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:11 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log (at least according to data we gather from jmx). 
This suggests that maybe offsets are incorrectly cached or cache update has 
race condition. Also notice that before update client had 0 lag (you can see 
this in my attached screenshot), so probably this is crucial to reproduce this 
bug - you have to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future". I assume kafka broker thinks it does not have this offset in log 
(at least according to data we gather from jmx). This suggests that maybe 
offsets are incorrectly cached or cache update has race condition. Also notice 
that before update client had 0 lag (you can see this in my attached 
screenshot), so probably this is crucial to reproduce this bug - you have to be 
reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:12 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log. This assumption is based on low resolution (every 
5 minutes) offset data we gather from jmx. This suggests that maybe offsets are 
incorrectly cached or cache update has race condition. Also notice that before 
update client had 0 lag (you can see this in my attached screenshot), so 
probably this is crucial to reproduce this bug - you have to be reading top of 
the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log (at least according to data we gather from jmx). 
This suggests that maybe offsets are incorrectly cached or cache update has 
race condition. Also notice that before update client had 0 lag (you can see 
this in my attached screenshot), so probably this is crucial to reproduce this 
bug - you have to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:24 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log. This assumption is based on low resolution (every 
5 minutes) offset data (star and end of the partition log) we gather from jmx. 
This suggests that maybe offsets are incorrectly cached or cache update has 
race condition. Also notice that before update client had 0 lag (you can see 
this in my attached screenshot), so probably this is crucial to reproduce this 
bug - you have to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log. This assumption is based on low resolution (every 
5 minutes) offset data we gather from jmx. This suggests that maybe offsets are 
incorrectly cached or cache update has race condition. Also notice that before 
update client had 0 lag (you can see this in my attached screenshot), so 
probably this is crucial to reproduce this bug - you have to be reading top of 
the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (KAFKA-9543) Consumer offset reset after new segment rolling

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047711#comment-17047711
 ] 

Rafał Boniecki edited comment on KAFKA-9543 at 2/28/20 3:24 PM:


I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log. This assumption is based on low resolution (every 
5 minutes) offset data (start and end of the partition log) we gather from jmx. 
This suggests that maybe offsets are incorrectly cached or cache update has 
race condition. Also notice that before update client had 0 lag (you can see 
this in my attached screenshot), so probably this is crucial to reproduce this 
bug - you have to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.


was (Author: boniek):
I cannot reproduce it on my development environment.  Couple of facts to add 
what Brian wrote:
 * This indeed does not happen on every segment rollover, but when it happens 
it is always on segment rollover
 * We have no compacted topics in our production cluster, so topic type doesn't 
matter.
 * No topic in our production environment starts at offset 0 - so this doesn't 
matter as well.
 * Topic where we definetly seen this happen has about 5MB/s traffic (so not 
that much traffic)
 * Fetch offset ... is out of range for partition is always about offset "from 
the future" (top, not bottom of the log). I assume kafka broker thinks it does 
not have this offset in log. This assumption is based on low resolution (every 
5 minutes) offset data (star and end of the partition log) we gather from jmx. 
This suggests that maybe offsets are incorrectly cached or cache update has 
race condition. Also notice that before update client had 0 lag (you can see 
this in my attached screenshot), so probably this is crucial to reproduce this 
bug - you have to be reading top of the log all/most of the time to hit this.
 * we tested this in our development environment, where we load generated about 
5MB/s  traffic (using kafka-producer-perf-test.sh) and read it back (using 
identically , as in production environment, configured consumer) at the same 
time as it was written and cannot reproduce this. Test ran for 3 days non stop 
- we looked for offset resets and there were none.

> Consumer offset reset after new segment rolling
> ---
>
> Key: KAFKA-9543
> URL: https://issues.apache.org/jira/browse/KAFKA-9543
> Project: Kafka
>  Issue Type: Bug
>Affects Versions: 2.4.0
>Reporter: Rafał Boniecki
>Priority: Major
> Attachments: Untitled.png
>
>
> After upgrade from kafka 2.1.1 to 2.4.0, I'm experiencing unexpected consumer 
> offset resets.
> Consumer:
> {code:java}
> 2020-02-12T11:12:58.402+01:00 hostname 4a2a39a35a02 
> [2020-02-12T11:12:58,402][INFO 
> ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer 
> clientId=logstash-1, groupId=logstash] Fetch offset 1632750575 is out of 
> range for partition stats-5, resetting offset
> {code}
> Broker:
> {code:java}
> 2020-02-12 11:12:58:400 CET INFO  
> [data-plane-kafka-request-handler-1][kafka.log.Log] [Log partition=stats-5, 
> dir=/kafka4/data] Rolled new log segment at offset 1632750565 in 2 ms.{code}
> All resets are perfectly correlated to rolling new segments at the broker - 
> segment is rolled first, then, couple of ms later, reset on the consumer 
> occurs. Attached is grafana graph with consumer lag per partition. All sudden 
> spikes in lag are offset resets due to this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-7544) Transient Failure: org.apache.kafka.streams.integration.EosIntegrationTest.shouldNotViolateEosIfOneTaskFails

2020-02-28 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-7544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17048107#comment-17048107
 ] 

点儿郎当 commented on KAFKA-7544:
-

Can you pack it or not?



> Transient Failure: 
> org.apache.kafka.streams.integration.EosIntegrationTest.shouldNotViolateEosIfOneTaskFails
> 
>
> Key: KAFKA-7544
> URL: https://issues.apache.org/jira/browse/KAFKA-7544
> Project: Kafka
>  Issue Type: Bug
>  Components: streams
>Reporter: John Roesler
>Priority: Major
>
> Observed on Java 11: 
> [https://builds.apache.org/job/kafka-pr-jdk11-scala2.12/264/testReport/junit/org.apache.kafka.streams.integration/EosIntegrationTest/shouldNotViolateEosIfOneTaskFails/]
> at 
> [https://github.com/apache/kafka/pull/5795/commits/5bdcd0e023c6f406d585155399f6541bb6a9f9c2]
>  
> stacktrace:
> {noformat}
> java.lang.AssertionError: 
> Expected: <[KeyValue(0, 0), KeyValue(0, 1), KeyValue(0, 2), KeyValue(0, 3), 
> KeyValue(0, 4), KeyValue(0, 5), KeyValue(0, 6), KeyValue(0, 7), KeyValue(0, 
> 8), KeyValue(0, 9)]>
>  but: was <[KeyValue(0, 0), KeyValue(0, 1), KeyValue(0, 2), KeyValue(0, 
> 3), KeyValue(0, 4), KeyValue(0, 5), KeyValue(0, 6), KeyValue(0, 7), 
> KeyValue(0, 8), KeyValue(0, 9), KeyValue(0, 10), KeyValue(0, 11), KeyValue(0, 
> 12), KeyValue(0, 13), KeyValue(0, 14)]>
>   at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
>   at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
>   at 
> org.apache.kafka.streams.integration.EosIntegrationTest.checkResultPerKey(EosIntegrationTest.java:218)
>   at 
> org.apache.kafka.streams.integration.EosIntegrationTest.shouldNotViolateEosIfOneTaskFails(EosIntegrationTest.java:360)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>   at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:106)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>   at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:66)
>   at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at 
> 

[jira] [Created] (KAFKA-9639) Task is not killed despite being dead

2020-03-03 Thread Jira
Stéphane Derosiaux created KAFKA-9639:
-

 Summary: Task is not killed despite being dead
 Key: KAFKA-9639
 URL: https://issues.apache.org/jira/browse/KAFKA-9639
 Project: Kafka
  Issue Type: Bug
  Components: KafkaConnect
Affects Versions: 2.3.1
Reporter: Stéphane Derosiaux


After restarting my postgresql, my Debezium connector failed and stopped (no 
more metrics, and see the logs below), but the task and the connector in 
Connect were still "RUNNING".

It seems the task "stop" procedure was interrupted by the Kafka Connect 
framework and let the connector in a "zombie" state.

{code:java}
WorkerSourceTask\{id=customer-order-cdc-0} Task threw an uncaught and 
unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:179)
org.apache.kafka.connect.errors.ConnectException: An exception occurred in the 
change event producer. This connector will be stopped.
Caused by: org.postgresql.util.PSQLException: Database connection failed when 
reading from copy
WorkerSourceTask\{id=customer-order-cdc-0} Task is being killed and will not 
recover until manually restarted 
(org.apache.kafka.connect.runtime.WorkerTask:180)
Creating thread debezium-postgresconnector-customer-order-dev-error-handler 
(io.debezium.util.Threads:268)
Connector has already been stopped 
(io.debezium.connector.postgresql.PostgresConnectorTask:241)
Finished streaming (io.debezium.pipeline.ChangeEventSourceCoordinator:100)
Connected metrics set to 'false' 
(io.debezium.pipeline.metrics.StreamingChangeEventSourceMetrics:59)
[2020-03-02 08:48:08,074] ERROR [customer-order-cdc|task-0] Interrupted while 
stopping (io.debezium.connector.postgresql.PostgresConnectorTask:263)
java.lang.InterruptedException
[Producer clientId=connector-producer-customer-order-cdc-0] Closing the Kafka 
producer with timeoutMillis = 3 ms. 
(org.apache.kafka.clients.producer.KafkaProducer:1153)
{code}





--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (KAFKA-9106) metrics exposed via JMX shoud be configurable

2020-03-03 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xavier Léauté resolved KAFKA-9106.
--
Fix Version/s: 2.5.0
   Resolution: Fixed

> metrics exposed via JMX shoud be configurable
> -
>
> Key: KAFKA-9106
> URL: https://issues.apache.org/jira/browse/KAFKA-9106
> Project: Kafka
>  Issue Type: Improvement
>  Components: metrics
>Reporter: Xavier Léauté
>Assignee: Xavier Léauté
>Priority: Major
> Fix For: 2.5.0
>
>
> Kafka exposes a very large number of metrics, all of which are always visible 
> in JMX by default. On large clusters with many partitions, this may result in 
> tens of thousands of mbeans to be registered, which can lead to timeouts with 
> some popular monitoring agents that rely on listing JMX metrics via RMI.
> Making the set of JMX-visible metrics configurable would allow operators to 
> decide on the set of critical metrics to collect and workaround limitation of 
> JMX in those cases.
> corresponding KIP
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-544%3A+Make+metrics+exposed+via+JMX+configurable



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9647) Add ability to suppress until window end (not close)

2020-03-04 Thread Jira
Sören Henning created KAFKA-9647:


 Summary: Add ability to  suppress until window end (not close)
 Key: KAFKA-9647
 URL: https://issues.apache.org/jira/browse/KAFKA-9647
 Project: Kafka
  Issue Type: Wish
  Components: streams
Reporter: Sören Henning


*Preface:* This feature request originates from a [recently asked question on 
Stack 
Overflow|https://stackoverflow.com/questions/60005630/kafka-streams-suppress-until-window-end-not-close],
 for which Matthias J. Sax suggested to create a feature request.

*Feature Request:* In addition to suppressing updates to a windowed KTable 
until a window closes, we suggest to only suppress "early" results. By early 
results we mean results computed before the window ends, but not those results 
occurring during the grace period. Thus, this suppress option would suppress 
all aggregation results with timestamp < window end, but forward all records 
with timestamp >= window end and timestamp < window close.

*Use Case:* For an exemplary use case, we refer to John Roesler's [blog post on 
the initial introduction of the suppress 
operator|https://www.confluent.io/blog/kafka-streams-take-on-watermarks-and-triggers/].
 The post argues that for the case of altering not every intermediate 
aggregation result should trigger an alert message, but only the "final" 
result. Otherwise, a "follow-up email telling people to ignore the first 
message" might become required if the final results would not cause an alert 
but intermediate results would. Kafka Streams' current solution for this use 
case would be to use a suppress operation, which would only forward the final 
result, which would be the last result before no further updates could occur. 
This is when the grace period of a window passed (the window closes).

However, ideally we would like to set the grace period a large as possible to 
allow for very late-arriving messages, which in turn would lead to very late 
alerts. On the other hand, such late-arriving messages are rare in practice and 
normally the order of events corresponds largely to the order of messages. 
Thus, a reasonable option would be to suppress aggregation results only until 
the window ends (i.e. stream time > window end) and then forward this "most 
likely final" result. For the use case of altering, this means an alert is 
triggered when we are relatively certain that recorded data requires an alert. 
Then, only the "seldom" case of late updates which would change our decision 
would require the "follow-up email telling people to ignore the first message". 
Such rare "correction" should be acceptable for many use cases.

*Further extension:* In addition to suppressing all updates until the window 
ends and afterwards forwarding all updates, a further extension would be to 
only forward late records every x seconds. Maybe the existing 
`Suppressed.untilTimeLimit( .. )` could be reused for this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (KAFKA-9649) Remove/Warn on use of TimeWindowedSerde with no specified window size

2020-03-04 Thread Jira
Sören Henning created KAFKA-9649:


 Summary: Remove/Warn on use of TimeWindowedSerde with no specified 
window size
 Key: KAFKA-9649
 URL: https://issues.apache.org/jira/browse/KAFKA-9649
 Project: Kafka
  Issue Type: Improvement
  Components: streams
Reporter: Sören Henning


The API of the 
[{{TimeWindowedSerde}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/WindowedSerdes.java]
 promotes its construction without specifying a window size:
{noformat}
public TimeWindowedSerde(final Serde inner)
{noformat}
While code using this constructor looks absolutely clean, it leads to fatal 
errors at runtime, which turned out to be very hard to discover.

The reason for these error can be found in the construction of the 
[{{TimeWindowedDeserializer}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/TimeWindowedDeserializer.java],
 which is created via:
{noformat}
// TODO: fix this part as last bits of KAFKA-4468
public TimeWindowedDeserializer(final Deserializer inner) {
  this(inner, Long.MAX_VALUE);
}
{noformat}
The TODO comment suggests that this issue is (or at least was) already known.

We suggest to either remove the {{TimeWindowedSerde(final Serde inner)}} 
constructor or at least to warn when using it (if required for backwards 
compatiblity). The ideal solution of course would be to get the window size 
from some externally provided context. However, I expect this to be difficult 
to realize. Same applies also the {{TimeWindowedDeserializer(final 
Deserializer inner)}} constructor.

A further minor suggestion in this context: As now most Kafka Streams time 
declarations use {{Duration}}s instead of long-encoded millisseconds, I suggest 
to allow specifying window sizes with a {{Duration}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (KAFKA-9649) Remove/Warn on use of TimeWindowedSerde with no specified window size

2020-03-04 Thread Jira


 [ 
https://issues.apache.org/jira/browse/KAFKA-9649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sören Henning updated KAFKA-9649:
-
Description: 
The API of the 
[{{TimeWindowedSerde}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/WindowedSerdes.java]
 promotes its construction without specifying a window size:
{noformat}
public TimeWindowedSerde(final Serde inner)
{noformat}
While code using this constructor looks absolutely clean, it leads to fatal 
errors at runtime, which turned out to be very hard to discover.

The reason for these error can be found in the construction of the 
[{{TimeWindowedDeserializer}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/TimeWindowedDeserializer.java],
 which is created via:
{noformat}
// TODO: fix this part as last bits of KAFKA-4468
public TimeWindowedDeserializer(final Deserializer inner) {
  this(inner, Long.MAX_VALUE);
}
{noformat}
The TODO comment suggests that this issue is (or at least was) already known.

We suggest to either remove the {{TimeWindowedSerde(final Serde inner)}} 
constructor or at least to warn when using it (if required for backwards 
compatiblity). The ideal solution of course would be to get the window size 
from some externally provided context. However, I expect this to be difficult 
to realize. Same applies also the {{TimeWindowedDeserializer(final 
Deserializer inner)}} constructor.

A further minor suggestion in this context: As now most Kafka Streams time 
declarations use {{Duration}} s instead of long-encoded milliseconds, I suggest 
to allow specifying window sizes with a {{Duration}}.

  was:
The API of the 
[{{TimeWindowedSerde}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/WindowedSerdes.java]
 promotes its construction without specifying a window size:
{noformat}
public TimeWindowedSerde(final Serde inner)
{noformat}
While code using this constructor looks absolutely clean, it leads to fatal 
errors at runtime, which turned out to be very hard to discover.

The reason for these error can be found in the construction of the 
[{{TimeWindowedDeserializer}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/TimeWindowedDeserializer.java],
 which is created via:
{noformat}
// TODO: fix this part as last bits of KAFKA-4468
public TimeWindowedDeserializer(final Deserializer inner) {
  this(inner, Long.MAX_VALUE);
}
{noformat}
The TODO comment suggests that this issue is (or at least was) already known.

We suggest to either remove the {{TimeWindowedSerde(final Serde inner)}} 
constructor or at least to warn when using it (if required for backwards 
compatiblity). The ideal solution of course would be to get the window size 
from some externally provided context. However, I expect this to be difficult 
to realize. Same applies also the {{TimeWindowedDeserializer(final 
Deserializer inner)}} constructor.

A further minor suggestion in this context: As now most Kafka Streams time 
declarations use {{Duration}}s instead of long-encoded millisseconds, I suggest 
to allow specifying window sizes with a {{Duration}}.


> Remove/Warn on use of TimeWindowedSerde with no specified window size
> -
>
> Key: KAFKA-9649
> URL: https://issues.apache.org/jira/browse/KAFKA-9649
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Reporter: Sören Henning
>Priority: Major
>
> The API of the 
> [{{TimeWindowedSerde}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/WindowedSerdes.java]
>  promotes its construction without specifying a window size:
> {noformat}
> public TimeWindowedSerde(final Serde inner)
> {noformat}
> While code using this constructor looks absolutely clean, it leads to fatal 
> errors at runtime, which turned out to be very hard to discover.
> The reason for these error can be found in the construction of the 
> [{{TimeWindowedDeserializer}}|https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/TimeWindowedDeserializer.java],
>  which is created via:
> {noformat}
> // TODO: fix this part as last bits of KAFKA-4468
> public TimeWindowedDeserializer(final Deserializer inner) {
>   this(inner, Long.MAX_VALUE);
> }
> {noformat}
> The TODO comment suggests that this issue is (or at least was) already known.
> We suggest to either remove the {{TimeWindowedSerde(final Serde inner)}} 
> constructor or at least to warn when using it (if required for backwards 
> compatiblity). The ideal solution of course would be to get the wi

[jira] [Created] (KAFKA-9671) Support sha512sum file format

2020-03-06 Thread Jira
Aljoscha Pörtner created KAFKA-9671:
---

 Summary: Support sha512sum file format
 Key: KAFKA-9671
 URL: https://issues.apache.org/jira/browse/KAFKA-9671
 Project: Kafka
  Issue Type: Improvement
  Components: packaging
Affects Versions: 2.4.0
Reporter: Aljoscha Pörtner


The generated *.tgz.sha512 can not be checked using sha512sum -c because of a 
wrong file format generated by GPG. The problem applies to *.tgz.md5 and 
*.tgz.sha1 aswell.

Current format:
{code:java}
kafka_2.12-2.4.0.tgz: 53B52F86 EA56C9FA C6204652 4F03F756 65A089EA 2DAE554A
 EFE3A3D2 694F2DA8 8B5BA872 5D8BE55F 198BA806 95443559
 ED9DE7C0 B2A2817F 7A614100 8FF79F49{code}
Expected format:
{code:java}
53b52f86ea56c9fac62046524f03f75665a089ea2dae554aefe3a3d2694f2da88b5ba8725d8be55f198ba80695443559ed9de7c0b2a2817f7a6141008ff79f49
  kafka_2.12-2.4.0.tgz
{code}
A fix would help to improve to automate the check, e.g. within Dockerfiles.

*Discussion on the same topic at the Apache Spark project : 
[http://apache-spark-developers-list.1001551.n3.nabble.com/Changing-how-we-compute-release-hashes-td23599.html|http://example.com]

Thank you.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (KAFKA-9609) Memory Leak in Kafka Producer

2020-03-06 Thread Jira


[ 
https://issues.apache.org/jira/browse/KAFKA-9609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17053313#comment-17053313
 ] 

Sönke Liebau commented on KAFKA-9609:
-

To be honest I still think that this would be the wrong approach to take, as it 
would "falsify" returned metrics.
Maybe as an alternative a setting could be introduced that suppresses per-topic 
metrics in the producer? That should also be a solution to your use-case if I 
am not mistaken, correct?

> Memory Leak in Kafka Producer
> -
>
> Key: KAFKA-9609
> URL: https://issues.apache.org/jira/browse/KAFKA-9609
> Project: Kafka
>  Issue Type: Bug
>  Components: clients, producer 
>Affects Versions: 2.4.0
>Reporter: Satish
>Assignee: Sönke Liebau
>Priority: Major
>
> org.apache.kafka.clients.producer.internals.Sender adds Topic Metrics for 
> every topic that we are writing messages to but it never been cleaned up 
> until we close the producer.
> This is an issue if we use single producer and have more number of Dynamic 
> topics (eg: ~ 500 topics per hour) and writing messages to them.  As this 
> Metrics map is getting accumulated for every topic, over a period of time we 
> notice the memory usage gets increased gradually. 
> It can be easily reproducible by writing messages to the more # of dynamic 
> topics using the same KafkaProducer from apache kafka client libraries or 
> KafkaTemplate from Spring.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


  1   2   3   4   5   6   7   8   9   10   >