kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Roesler (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-6474) Rewrite test to use new public TopologyTestDriver
Date Fri, 09 Mar 2018 19:26:00 GMT

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

John Roesler commented on KAFKA-6474:
-------------------------------------

Hi Filipe,

I have been working on a similar task (KAFKA-6473) and discovered something that will probably
be a problem for you.

This task requires the streams project to have a test dependency on the stream:test-utils
project, but streams:test-utils already has a compile dependency on the streams project. I'm
no Gradle expert, but as far as I can tell, there's no way to break this circular dependency,
at least without doing something exotic in the gradle config.

We had a discussion in this mailing list thread: [[DISCUSS] KIP-267|[http://mail-archives.apache.org/mod_mbox/kafka-dev/201803.mbox/%3CCAAyirGsovAzRMLa91nd6rzceQgEcNcLMt7ZrXVN7M1Psj4jCmQ%40mail.gmail.com%3E]|http://mail-archives.apache.org/mod_mbox/kafka-dev/201803.mbox/%3CCAAyirGsovAzRMLa91nd6rzceQgEcNcLMt7ZrXVN7M1Psj4jCmQ%40mail.gmail.com%3E].] . Here's
what we settled on:

 
{quote}I would propose we restructure the streams directory thusly:
streams/ (artifact name := "streams", the actual streams code lives here)
- test-utils/ (this is the current test-utils artifact, depends on "streams")
- tests/ (new module, depends on "streams" and "test-utils", *NO published artifact*)
This gets us out of the circular dependency without having to engage in any Gradle shenanigans
while preserving "test-utils" as a separate artifact. This is good because: 1) the test-utils
don't need to be in production code, so it's nice to have a separate artifact, 2) test-utils
is already public in 1.1, and it's a bummer to introduce users' code when we can so easily
avoid it.{quote}
 
Another result of the discussion is that I'm actually going to side-step this issue for KAFKA-6473,
so I won't be doing any restructuring in the course of my work. I'm just sharing these ideas
with you for your context.
 
Hope you're well!
-John

> Rewrite test to use new public TopologyTestDriver
> -------------------------------------------------
>
>                 Key: KAFKA-6474
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6474
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams, unit tests
>    Affects Versions: 1.1.0
>            Reporter: Matthias J. Sax
>            Assignee: Filipe Agapito
>            Priority: Major
>              Labels: beginner, newbie
>
> With KIP-247 we added public TopologyTestDriver. We should rewrite out own test to use
this new test driver and remove the two classes ProcessorTopoogyTestDriver and KStreamTestDriver.



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

Mime
View raw message