[
https://issues.apache.org/jira/browse/KAFKA-3502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15836915#comment-15836915
]
ASF GitHub Bot commented on KAFKA-3502:
---------------------------------------
GitHub user guozhangwang opened a pull request:
https://github.com/apache/kafka/pull/2432
KAFKA-3502: KStreamTestDriver needs to be closed after the test case
Found a few recently added unit tests did not close KStreamTestDriver after
the test itself is closed; this can cause RocksDB virtual function called if
the contained topology has some persistent store since they will be initialized
but not closed in time.
MINOR fix: found that when closing KStreamTestDriver, we need to first
flushing all stores before closing any of them; this is triggered from the
`KTableKTableLeftJoin.shouldNotThrowIllegalStateExceptionWhenMultiCacheEvictions`.
MINOR fix: in CachingXXXStore, the `name` field is actually used as the
cache's namespace, not really the store name or its corresponding topic name.
Fixed it by renaming it to `cacheName` and use `this.name()` elsewhere which
will call the underlying store's name.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/guozhangwang/kafka K3502-kstream-builder-test
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/2432.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2432
----
commit 583975e5f7f17e11e8be87b5c7ec8b0007b79904
Author: Guozhang Wang <[email protected]>
Date: 2017-01-24T23:35:42Z
make sure KStreamTestDriver is closed upon completing a test
commit 8bff1e1c2241af49c00870226697f7e01783e23d
Author: Guozhang Wang <[email protected]>
Date: 2017-01-24T23:40:13Z
found another issue with closing / flushing state stores
commit d4eb5d96251a72171eb0b9e4e59f76d9c3c67190
Author: Guozhang Wang <[email protected]>
Date: 2017-01-25T00:02:36Z
fix unit tests
----
> Build is killed during kafka streams tests due to `pure virtual method
> called` error
> ------------------------------------------------------------------------------------
>
> Key: KAFKA-3502
> URL: https://issues.apache.org/jira/browse/KAFKA-3502
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Ashish Singh
> Assignee: Guozhang Wang
> Labels: transient-unit-test-failure
> Fix For: 0.10.2.0
>
>
> Build failed due to failure in streams' test. Not clear which test led to
> this.
> Jenkins console:
> https://builds.apache.org/job/kafka-trunk-git-pr-jdk7/3210/console
> {code}
> org.apache.kafka.streams.kstream.internals.KTableFilterTest > testValueGetter
> PASSED
> org.apache.kafka.streams.kstream.internals.KStreamFlatMapTest > testFlatMap
> PASSED
> org.apache.kafka.streams.kstream.internals.KTableAggregateTest > testAggBasic
> PASSED
> org.apache.kafka.streams.kstream.internals.KStreamFlatMapValuesTest >
> testFlatMapValues PASSED
> org.apache.kafka.streams.kstream.KStreamBuilderTest > testMerge PASSED
> org.apache.kafka.streams.kstream.KStreamBuilderTest > testFrom PASSED
> org.apache.kafka.streams.kstream.KStreamBuilderTest > testNewName PASSED
> pure virtual method called
> terminate called without an active exception
> :streams:test FAILED
> FAILURE: Build failed with an exception.
> * What went wrong:
> Execution failed for task ':streams:test'.
> > Process 'Gradle Test Executor 4' finished with non-zero exit value 134
> {code}
> Tried reproducing the issue locally, but could not.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)