[jira] [Created] (KAFKA-7933) KTableKTableLeftJoinTest takes an hour to finish

2019-02-15 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7933:
-

 Summary: KTableKTableLeftJoinTest takes an hour to finish
 Key: KAFKA-7933
 URL: https://issues.apache.org/jira/browse/KAFKA-7933
 Project: Kafka
  Issue Type: Improvement
  Components: streams
Affects Versions: 2.2.0
Reporter: Viktor Somogyi
 Attachments: jenkins-output-one-hour-test.log

PRs might time out as 
{{KTableKTableLeftJoinTest.shouldNotThrowIllegalStateExceptionWhenMultiCacheEvictions}}
 took one hour to complete.

{noformat}
11:57:45 org.apache.kafka.streams.kstream.internals.KTableKTableLeftJoinTest > 
shouldNotThrowIllegalStateExceptionWhenMultiCacheEvictions STARTED
12:53:35 
12:53:35 org.apache.kafka.streams.kstream.internals.KTableKTableLeftJoinTest > 
shouldNotThrowIllegalStateExceptionWhenMultiCacheEvictions PASSED
{noformat}



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


[jira] [Created] (KAFKA-7823) Missing release notes pages

2019-01-15 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7823:
-

 Summary: Missing release notes pages
 Key: KAFKA-7823
 URL: https://issues.apache.org/jira/browse/KAFKA-7823
 Project: Kafka
  Issue Type: Improvement
Affects Versions: 1.1.0, 1.0.1, 1.0.0
Reporter: Viktor Somogyi


These 3 pages are not available on the apache website, however other release 
are there (such as 2.0.0).

https://www.apache.org/dist/kafka/1.1.0/RELEASE_NOTES.html
https://www.apache.org/dist/kafka/1.0.1/RELEASE_NOTES.html
https://www.apache.org/dist/kafka/1.0.0/RELEASE_NOTES.html



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


[jira] [Created] (KAFKA-7805) Use --bootstrap-server option in ducktape tests where applicable

2019-01-09 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7805:
-

 Summary: Use --bootstrap-server option in ducktape tests where 
applicable
 Key: KAFKA-7805
 URL: https://issues.apache.org/jira/browse/KAFKA-7805
 Project: Kafka
  Issue Type: Improvement
  Components: system tests
Reporter: Viktor Somogyi


KIP-377 introduces the {{--bootstrap-server}} option and deprecates the 
{{--zookeeper}} option in {{kafka-topics.sh}}. I'd be nice to use the new 
option in the ducktape tests to gain higher test coverage.



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


[jira] [Created] (KAFKA-7804) Update the docs for KIP-377

2019-01-09 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7804:
-

 Summary: Update the docs for KIP-377
 Key: KAFKA-7804
 URL: https://issues.apache.org/jira/browse/KAFKA-7804
 Project: Kafka
  Issue Type: Improvement
  Components: documentation
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


KIP-377 introduced the {{--bootstrap-server}} option to the {{kafka-topics.sh}} 
command. The documentation (examples) should be updated accordingly and a 
release note should be added,



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


[jira] [Created] (KAFKA-7737) Consolidate InitProducerId API

2018-12-14 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7737:
-

 Summary: Consolidate InitProducerId API
 Key: KAFKA-7737
 URL: https://issues.apache.org/jira/browse/KAFKA-7737
 Project: Kafka
  Issue Type: Task
  Components: producer 
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


We have two separate paths in the producer for the InitProducerId API: one for 
the transactional producer and one for the idempotent producer. It would be 
nice to find a way to consolidate these.




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


[jira] [Created] (KAFKA-7736) Consolidate Map usages in TransactionManager

2018-12-14 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7736:
-

 Summary: Consolidate Map usages in TransactionManager
 Key: KAFKA-7736
 URL: https://issues.apache.org/jira/browse/KAFKA-7736
 Project: Kafka
  Issue Type: Task
  Components: producer 
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


There are a bunch of Map collections in TransactionManager 
which could be consolidated into a single map to consolidate bookkeeping and 
get rid of potential bugs.



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


[jira] [Created] (KAFKA-7617) Document security primitives

2018-11-12 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7617:
-

 Summary: Document security primitives
 Key: KAFKA-7617
 URL: https://issues.apache.org/jira/browse/KAFKA-7617
 Project: Kafka
  Issue Type: Task
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


Although the documentation gives help on configuring the authentication and 
authorization, it won't list what are the security primitives (operations and 
resources) that can be used which makes it hard for users to easily set up 
thorough authorization rules.
This task would cover adding these to the security page of the Kafka 
documentation.



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


[jira] [Created] (KAFKA-7433) Introduce broker options in TopicCommand to use AdminClient

2018-09-24 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7433:
-

 Summary: Introduce broker options in TopicCommand to use 
AdminClient
 Key: KAFKA-7433
 URL: https://issues.apache.org/jira/browse/KAFKA-7433
 Project: Kafka
  Issue Type: Improvement
  Components: core
Affects Versions: 2.1.0
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi






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


[jira] [Created] (KAFKA-7140) Remove deprecated poll usages

2018-07-09 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7140:
-

 Summary: Remove deprecated poll usages
 Key: KAFKA-7140
 URL: https://issues.apache.org/jira/browse/KAFKA-7140
 Project: Kafka
  Issue Type: Improvement
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


There are a couple of poll(long) usages of the consumer in test and non-test 
code. This jira would aim to remove the non-test usages of the method.



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


[jira] [Created] (KAFKA-7087) Option in TopicCommand to report not preferred leaders

2018-06-21 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-7087:
-

 Summary: Option in TopicCommand to report not preferred leaders
 Key: KAFKA-7087
 URL: https://issues.apache.org/jira/browse/KAFKA-7087
 Project: Kafka
  Issue Type: Improvement
  Components: core
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


Options in topic describe exists for reporting unavailable and lagging 
partitions but it is often an ask to report partitions where the active leader 
is not the preferred one. This jira adds this extra option to TopicCommand.



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


[jira] [Created] (KAFKA-6187) Remove the Logging class in favor of LazyLogging in scala-logging

2017-11-08 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-6187:
-

 Summary: Remove the Logging class in favor of LazyLogging in 
scala-logging
 Key: KAFKA-6187
 URL: https://issues.apache.org/jira/browse/KAFKA-6187
 Project: Kafka
  Issue Type: Task
  Components: core
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


In KAFKA-1044 we removed the hard dependency on junit and enabled users to 
exclude it in their environment without causing any problems. We also agreed to 
remove the kafka.utils.Logging class as it can be made redundant by LazyLogging 
in scala-logging.
In this JIRA we will get rid of Logging by replacing its remaining 
functionalities with other features.



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


[jira] [Created] (KAFKA-6084) ReassignPartitionsCommand should propagate JSON parsing failures

2017-10-18 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-6084:
-

 Summary: ReassignPartitionsCommand should propagate JSON parsing 
failures
 Key: KAFKA-6084
 URL: https://issues.apache.org/jira/browse/KAFKA-6084
 Project: Kafka
  Issue Type: Improvement
  Components: admin
Affects Versions: 0.11.0.0
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi
Priority: Minor
 Attachments: Screen Shot 2017-10-18 at 23.31.22.png

Basically looking at Json.scala it will always swallow any parsing errors:
{code}
  def parseFull(input: String): Option[JsonValue] =
try Option(mapper.readTree(input)).map(JsonValue(_))
catch { case _: JsonProcessingException => None }
{code}

However sometimes it is easy to figure out the problem by simply looking at the 
JSON, in some cases it is not very trivial, such as some invisible characters 
(like byte order mark) won't be displayed by most of the text editors and can 
people spend time on figuring out what's the problem.

As Jackson provides a really detailed exception about what failed and how, it 
is easy to propagate the failure to the user.

As an example I attached a BOM prefixed JSON which fails with the following 
error which is very counterintuitive:
{noformat}
[root@localhost ~]# kafka-reassign-partitions --zookeeper localhost:2181 
--reassignment-json-file /root/increase-replication-factor.json --execute
Partitions reassignment failed due to Partition reassignment data file 
/root/increase-replication-factor.json is empty
kafka.common.AdminCommandFailedException: Partition reassignment data file 
/root/increase-replication-factor.json is empty
at 
kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:120)
at 
kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:52)
at kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala)
...
{noformat}

In case of the above error it would be much better to see what fails exactly:
{noformat}
kafka.common.AdminCommandFailedException: Admin command failed
at 
kafka.admin.ReassignPartitionsCommand$.parsePartitionReassignmentData(ReassignPartitionsCommand.scala:267)
at 
kafka.admin.ReassignPartitionsCommand$.parseAndValidate(ReassignPartitionsCommand.scala:275)
at 
kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:197)
at 
kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:193)
at 
kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:64)
at 
kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character 
('' (code 65279 / 0xfeff)): expected a valid value (number, String, array, 
object, 'true', 'false' or 'null')
 at [Source: (String)"{"version":1,
  "partitions":[
   {"topic": "test1", "partition": 0, "replicas": [1,2]},
   {"topic": "test2", "partition": 1, "replicas": [2,3]}
]}"; line: 1, column: 2]
at 
com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1798)
at 
com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:663)
at 
com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:561)
at 
com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1892)
at 
com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:747)
at 
com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4030)
at 
com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2539)
at kafka.utils.Json$.kafka$utils$Json$$doParseFull(Json.scala:46)
at kafka.utils.Json$$anonfun$tryParseFull$1.apply(Json.scala:44)
at kafka.utils.Json$$anonfun$tryParseFull$1.apply(Json.scala:44)
at scala.util.Try$.apply(Try.scala:192)
at kafka.utils.Json$.tryParseFull(Json.scala:44)
at 
kafka.admin.ReassignPartitionsCommand$.parsePartitionReassignmentData(ReassignPartitionsCommand.scala:241)
... 5 more
{noformat}



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


[jira] [Created] (KAFKA-5723) Refactor BrokerApiVersionsCommand to use the KafkaAdminClient

2017-08-10 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-5723:
-

 Summary: Refactor BrokerApiVersionsCommand to use the 
KafkaAdminClient
 Key: KAFKA-5723
 URL: https://issues.apache.org/jira/browse/KAFKA-5723
 Project: Kafka
  Issue Type: Improvement
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


Currently it uses the deprecated AdminClient and in order to remove usages of 
that client, this class needs to be refactored.



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


[jira] [Created] (KAFKA-5722) Refactor ConfigCommand to use the new AdminClient

2017-08-10 Thread Viktor Somogyi (JIRA)
Viktor Somogyi created KAFKA-5722:
-

 Summary: Refactor ConfigCommand to use the new AdminClient
 Key: KAFKA-5722
 URL: https://issues.apache.org/jira/browse/KAFKA-5722
 Project: Kafka
  Issue Type: Improvement
Reporter: Viktor Somogyi
Assignee: Viktor Somogyi


The ConfigCommand currently uses a direct connection to zookeeper. The 
zookeeper dependency should be deprecated and an AdminClient API created to be 
used instead.
This change requires a KIP.



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


[jira] [Comment Edited] (KAFKA-1044) change log4j to slf4j

2017-06-09 Thread Viktor Somogyi (JIRA)

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

Viktor Somogyi edited comment on KAFKA-1044 at 6/9/17 6:53 PM:
---

[~ewencp], thank you, started working on it.
I found two incompatibilities and I'm asking your advice in the resolution.
 * Fatal logging level: slf4j doesn't support it
 * kafka.utils.Log4jController: there are some log4j specific features used 
here that can't be replaced with a generic solution

I have two solutions for these:
 # we could simply use the log4j-over-slf4j package. This will redirect all 
Fatal logs to Error level and also provides some of the functionalities 
required by Log4jController (but not all).
* Pros: a few lines of changes only, quite straightforward
* Cons: loss of features. However Fatal can't be worked around so we have 
to accept that, but we also lose Log4jController.getLoggers as there is no way 
of collecting the current loggers by simply relying on slf4j. Also other 
methods' behaviour will change (no way to detect existing loggers in slf4j as 
far as I'm aware of it)
# we could separate off Log4jController into a separate module and have the 
users to put it on the classpath explicitly if they use log4j for logging. From 
Logging class we can instantiate it by reflection.
* Pros: except Fatal logging level we keep all the features
* Cons: more complicated and breaking, also requires documentation so users 
will be aware of this

I'll try to create PRs of both solutions (and they are rather work in progress, 
I just want to show approximate solutions) just in case if that is fine.


was (Author: viktorsomogyi):
[~ewencp], thank you, started working on it.
I found two incompatibilities and I'm asking your advice in the resolution.
 * Fatal logging level: slf4j doesn't support it
 * kafka.utils.Log4jController: there are some log4j specific features used 
here that can't be replaced with a generic solution

I have two solutions for these:
 # we could simply use the log4j-over-slf4j package. This will redirect all 
Fatal logs to Error level and also provides some of the functionalities 
required by Log4jController (but not all).
* Pros: a few lines of changes only, quite straightforward
* Cons: loss of features. However Fatal can't be worked around so we have 
to accept that, but we also lose Log4jController.getLoggers as there is no way 
of collecting the current loggers by simply relying on slf4j. Also other 
methods' behaviour will change (no way to detect existing loggers in slf4j as 
far as I'm aware of it)
# we could separate off Log4jController into a separate module and have the 
users to put it on the classpath explicitly if they use log4j for logging. From 
Logging class we can instantiate it by reflection.
* Pros: except Fatal logging level we keep all the features
* Cons: more complicated and breaking, also requires documentation so users 
will be aware of this

I'm attaching patches of both solutions (and they are rather work in progress, 
I just want to show approximate solutions) just in case

> change log4j to slf4j 
> --
>
> Key: KAFKA-1044
> URL: https://issues.apache.org/jira/browse/KAFKA-1044
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 0.8.0
>Reporter: shijinkui
>Assignee: Viktor Somogyi
>Priority: Minor
>  Labels: newbie
>
> can u chanage the log4j to slf4j, in my project, i use logback, it's conflict 
> with log4j.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (KAFKA-1044) change log4j to slf4j

2017-06-09 Thread Viktor Somogyi (JIRA)

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

Viktor Somogyi commented on KAFKA-1044:
---

[~ewencp], thank you, started working on it.
I found two incompatibilities and I'm asking your advice in the resolution.
 * Fatal logging level: slf4j doesn't support it
 * kafka.utils.Log4jController: there are some log4j specific features used 
here that can't be replaced with a generic solution

I have two solutions for these:
 # we could simply use the log4j-over-slf4j package. This will redirect all 
Fatal logs to Error level and also provides some of the functionalities 
required by Log4jController (but not all).
* Pros: a few lines of changes only, quite straightforward
* Cons: loss of features. However Fatal can't be worked around so we have 
to accept that, but we also lose Log4jController.getLoggers as there is no way 
of collecting the current loggers by simply relying on slf4j. Also other 
methods' behaviour will change (no way to detect existing loggers in slf4j as 
far as I'm aware of it)
# we could separate off Log4jController into a separate module and have the 
users to put it on the classpath explicitly if they use log4j for logging. From 
Logging class we can instantiate it by reflection.
* Pros: except Fatal logging level we keep all the features
* Cons: more complicated and breaking, also requires documentation so users 
will be aware of this

I'm attaching patches of both solutions (and they are rather work in progress, 
I just want to show approximate solutions) just in case

> change log4j to slf4j 
> --
>
> Key: KAFKA-1044
> URL: https://issues.apache.org/jira/browse/KAFKA-1044
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 0.8.0
>Reporter: shijinkui
>Assignee: Viktor Somogyi
>Priority: Minor
>  Labels: newbie
>
> can u chanage the log4j to slf4j, in my project, i use logback, it's conflict 
> with log4j.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Issue Comment Deleted] (KAFKA-1044) change log4j to slf4j

2017-06-08 Thread Viktor Somogyi (JIRA)

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

Viktor Somogyi updated KAFKA-1044:
--
Comment: was deleted

(was: @ewencp, thank you for your help.
I've started this task and all in all my conclusion is that we should delay 
this until the release of slf4j 1.8 (alpha2 is already out), as there are some 
log4j features that are being used but not part of slf4j, such as the 
LogManager in Log4jController or the Fatal log level.
It is a bit hard to work around these effectively and without breaking 
behaviour. Best I know is we could use error level instead of fatal for the 
time being or we could separate off Log4jController into its own module and try 
to load it in runtime if log4j is being used to get rid of the hard log4j 
dependency, but these are quite hacky and I'm not sure if it's worth the effort 
now as we have a workaround for the original issue. Please let me know what you 
think.)

> change log4j to slf4j 
> --
>
> Key: KAFKA-1044
> URL: https://issues.apache.org/jira/browse/KAFKA-1044
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 0.8.0
>Reporter: shijinkui
>Assignee: Viktor Somogyi
>Priority: Minor
>  Labels: newbie
>
> can u chanage the log4j to slf4j, in my project, i use logback, it's conflict 
> with log4j.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (KAFKA-1044) change log4j to slf4j

2017-06-08 Thread Viktor Somogyi (JIRA)

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

Viktor Somogyi commented on KAFKA-1044:
---

@ewencp, thank you for your help.
I've started this task and all in all my conclusion is that we should delay 
this until the release of slf4j 1.8 (alpha2 is already out), as there are some 
log4j features that are being used but not part of slf4j, such as the 
LogManager in Log4jController or the Fatal log level.
It is a bit hard to work around these effectively and without breaking 
behaviour. Best I know is we could use error level instead of fatal for the 
time being or we could separate off Log4jController into its own module and try 
to load it in runtime if log4j is being used to get rid of the hard log4j 
dependency, but these are quite hacky and I'm not sure if it's worth the effort 
now as we have a workaround for the original issue. Please let me know what you 
think.

> change log4j to slf4j 
> --
>
> Key: KAFKA-1044
> URL: https://issues.apache.org/jira/browse/KAFKA-1044
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 0.8.0
>Reporter: shijinkui
>Assignee: Viktor Somogyi
>Priority: Minor
>  Labels: newbie
>
> can u chanage the log4j to slf4j, in my project, i use logback, it's conflict 
> with log4j.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (KAFKA-1044) change log4j to slf4j

2017-06-06 Thread Viktor Somogyi (JIRA)

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

Viktor Somogyi commented on KAFKA-1044:
---

Hi,

I'm new to Kafka and was searching for a fitting task.
If this is still relevant then I'd like to pick it up. Could someone please add 
me as contributor so I could assign it to me?

> change log4j to slf4j 
> --
>
> Key: KAFKA-1044
> URL: https://issues.apache.org/jira/browse/KAFKA-1044
> Project: Kafka
>  Issue Type: Bug
>  Components: log
>Affects Versions: 0.8.0
>Reporter: shijinkui
>Priority: Minor
>  Labels: newbie
>
> can u chanage the log4j to slf4j, in my project, i use logback, it's conflict 
> with log4j.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)