Github user cestella commented on a diff in the pull request:

    https://github.com/apache/metron/pull/624#discussion_r124998536
  
    --- Diff: 
metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/KafkaControllerIntegrationTest.java
 ---
    @@ -61,6 +62,7 @@
       private static final int KAFKA_RETRY = 10;
       @Autowired
       private KafkaComponent kafkaWithZKComponent;
    +  private ComponentRunner runner;
    --- End diff --
    
    I looked at it a bit this morning and @justinleet is right, it's not easily 
done.  I'm not super happy about spinning up and down components per test-case 
considering the bulk of this PR has been around removing exactly that.  That 
being said, the test is ~20s, so I'm not going to lose any sleep over it on 
that regard.
    
    I think the part that I don't like most is the mixture of semantics between 
Spring's wiring of components and JUnit's setting up of components that we 
can't mix and match.  It leaves a muddle, frankly:
    * If someone needs more heavy-weight components in other tests in this 
project, they will be *forced* into spinning up and down infrastructure per 
test-case, which has proven costly and was a prominent thing that we targeted 
in this PR for removal.
    * Our approach leaves us doing component reuse in a way that is neither 
standard based on the other components *nor* standard based on spring, which is 
confusing and will inevitably lead to inefficient and confusing tests.
    
    There is evidently a fix from spring 
[here](https://github.com/spring-projects/spring-kafka/issues/194) and I'm 
creating [METRON-1009](https://issues.apache.org/jira/browse/METRON-1009) to 
capture the reversion of this unit test and uptaking the fix provided by spring.
    
    @merrimanr is right, it's not a requirement to get this perfect as long as 
we've removed the intermittent nature of the test failure (and I feel we have). 
 It's not so bad that I am -1, but it's ugly, confusing and it will lead to 
errors in the future IMO.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to