GitHub user ottobackwards reopened a pull request:
https://github.com/apache/incubator-metron/pull/344
METRON-538 Ensure proper shutdown, exceptions of integration test
components
This is an effort to eliminate spam errors from our testing and hopefully
improve our testing at the same time.
This PR will track the commits for this effort, and allow for timely
comment and review.
So far the things we are looking for or seeing are
- problems with shutdown dependencies with the testing components like yarn
and zk
- problems were we cannot completely mock out components. Even if the
tests pass, we are spammed with errors because of the attempts to connect to
components that are part of the test because they are not needed.
Because of Apache Storm Issue STORM-1730
https://issues.apache.org/jira/browse/STORM-1730 it is not possible
to shutdown the LocalServer we use for storm without leaking threads.
These threads will output error messages when they 'wake up' and try to
connect
with curator - to a zk embedded server that has already been shutdown.
This issue is fixed in Storm 1.0.3, but that is not released yet
Because of this unresolved issue ZOOKEEPER-1237:
https://issues.apache.org/jira/browse/ZOOKEEPER-1237 we also may see errors like
Running org.apache.metron.enrichment.integration.EnrichmentIntegrationTest
2016-11-09 22:25:50,293 ERROR [SyncThread:0] server.NIOServerCnxn
(NIOServerCnxn.java:sendBuffer(178)) - Unexpected Exception:
java.nio.channels.CancelledKeyException
at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)
at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:77)
at
org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxn.sendBuffer(NIOServerCnxn.java:151)
at
org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxn.sendResponse(NIOServerCnxn.java:1081)
at
My goal is to keep this PR mergable with every commit as I go. And as a
bonus, each travis build will hopefully show the progress.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ottobackwards/incubator-metron METRON-538
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-metron/pull/344.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 #344
----
commit 6d230bada58bf297365b289affc375a48ce1da84
Author: Otto Fowler <[email protected]>
Date: 2016-11-03T17:44:32Z
In Maas Integration, be sure to shutdown zookeeper AFTER yarn, to avoid
extra errors when shutting down yarn
commit fb79f16b71f781ba02c7c7b9ec33d17444bfe320
Author: Otto Fowler <[email protected]>
Date: 2016-11-03T19:46:29Z
Make HBaseBolt testable by allowing building with a provided table provider
as opposed to building from string, this allows mocking. This eliminates log
spam of errors when the runtime class still attempts and fails to connect to
zookeeper, which is not running or needed for this test. I did not change the
function for withTableProvider() because I do not know all the consequences of
changing the flux configurations
commit acad2e879d425cbc9b744f0e771cae7c27de12cd
Author: Otto Fowler <[email protected]>
Date: 2016-11-09T20:27:09Z
ensure shutdown order
close zk clients
use try with resources consistantly in ConfigurationUtils
commit b7146aca29b69c7a039e057db81eb1378ac01db5
Author: Otto Fowler <[email protected]>
Date: 2016-11-09T20:27:54Z
merge tracking branch apache/master
commit b876aa2ecbed437ef24d7daaa5456696718d2144
Author: Otto Fowler <[email protected]>
Date: 2016-11-10T04:37:56Z
remove some commented out code
create enrichment topic instead of relying on auto.create to avoid possible
error output/logging
commit a894fdffbe20d8a6bdc19fa09f7665ca093ad0fd
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T14:43:14Z
Add the ability to get the current logging level, so that you can get,
change, and reset to previous in tests
set logging level to SEVERE when waiting on metadata propogation to cut
down on possible errors
commit e98b7b21b906bcceb1f00616d65ac9d68f283de2
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T15:22:27Z
Move logging changes to wrap all of create topic
commit a22fbddc574c87f9fe40201ca8bfdb9efac3e20f
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T16:43:05Z
Turn logging off when creating topics.
commit 247d26a1a5c6d2d667c67864597e75eee02b09d4
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T18:44:20Z
added support for waiting until the broker state for the kafka server was
running
commit 1cb15f8fc286da67b6a5f4aa4b76bd1db168847f
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T19:49:16Z
Attempt to change logging level for scala code via log4j
commit 1a9a4246c5e5c558e24055cd91a2c580ad906aea
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T20:38:26Z
turn off verbose logging, set shutdown order
commit 1f3821e7e235435f426af109b5d8e57d7dbe3ffa
Author: Otto Fowler <[email protected]>
Date: 2016-11-11T21:09:36Z
remove verboselogging
commit 2ffad58087a0de20399e4b88da76be58f5922716
Author: Otto Fowler <[email protected]>
Date: 2016-11-17T04:19:46Z
merge tracking branch apache/master
resolve conflicts in integration test
commit 1710b5efd25a430d9115c4eca35dca635a60a34e
Author: Otto Fowler <[email protected]>
Date: 2016-11-21T16:30:51Z
Use ZKServerComponent
Move some system.out to LOG.trace
Set log4j filters for leaking connections or background errors.
still need to cleanup kafka/zk
commit 27273e211826feddf360c9ee5c6410f89281e0d5
Author: Otto Fowler <[email protected]>
Date: 2016-11-21T17:47:13Z
fix for kafka managment functions
refactor KafkaWithZK to KafkaComponent
commit f515b6a68b164518f89ce3a1812fea79416df2f6
Author: Otto Fowler <[email protected]>
Date: 2016-11-21T17:48:23Z
merge tracking branch apache/master
commit 4bc8b3e19e3a6df0118b9f6b93acb9b6d32f0c16
Author: Otto Fowler <[email protected]>
Date: 2016-11-21T18:08:34Z
add in the kafka fixes this time
----
---
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 [email protected] or file a JIRA ticket
with INFRA.
---