Commit Graph

933 Commits

Author SHA1 Message Date
Onur Karaman 063d534c51 KAFKA-3959: enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation (KIP-115)
Kafka brokers have a config called "offsets.topic.replication.factor" that specify the replication factor for the "__consumer_offsets" topic. The problem is that this config isn't being enforced. If an attempt to create the internal topic is made when there are fewer brokers than "offsets.topic.replication.factor", the topic ends up getting created anyway with the current number of live brokers. The current behavior is pretty surprising when you have clients or tooling running as the cluster is getting setup. Even if your cluster ends up being huge, you'll find out much later that __consumer_offsets was setup with no replication.

The cluster not meeting the "offsets.topic.replication.factor" requirement on the internal topic is another way of saying the cluster isn't fully setup yet.

The right behavior should be for "offsets.topic.replication.factor" to be enforced. Topic creation of the internal topic should fail with GROUP_COORDINATOR_NOT_AVAILABLE until the "offsets.topic.replication.factor" requirement is met. This closely resembles the behavior of regular topic creation when the requested replication factor exceeds the current size of the cluster, as the request fails with error INVALID_REPLICATION_FACTOR.

Author: Onur Karaman <okaraman@linkedin.com>

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2177 from onurkaraman/KAFKA-3959
2017-02-01 19:55:06 -08:00
Ewen Cheslack-Postava 6264cc1557 KAFKA-4450; Add upgrade tests for 0.10.1 and rename TRUNK to DEV_BRANCH to reduce confusion
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2457 from ewencp/kafka-4450-upgrade-tests
2017-01-28 01:40:34 +00:00
Matthias J. Sax 89fb02aa81 MINOR: Add Streams system test for broker backwards compatibility
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy, Eno Thereska, Guozhang Wang

Closes #2403 from mjsax/addStreamsClientCompatibilityTest
2017-01-26 21:46:37 -08:00
Colin P. Mccabe 5b4e299a46 KAFKA-4630; Implement RecordTooLargeException when communicating with pre-KIP-74 brokers
Author: Colin P. Mccabe <cmccabe@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #2390 from cmccabe/KAFKA-4630
2017-01-26 11:19:32 +00:00
Matthias J. Sax 448c1a4114 HOTIFX: streams system test do not start up correctly
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Guozhang Wang, Damian Guy, Eno Thereska

Closes #2428 from mjsax/hotfixSystemTests
2017-01-24 19:36:08 -08:00
Ewen Cheslack-Postava 9b8d99b1b8 KAFKA-4673: Fix thread-safety of Python VerifiableConsumer class
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2427 from ewencp/kafka-4673-verifiable-consumer-thread-safety
2017-01-24 13:19:03 -08:00
Colin P. Mccabe 3df60e7eb8 KAFKA-4548; Add ClientCompatibilityTest to verify features against older brokers
Author: Colin P. Mccabe <cmccabe@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2262 from cmccabe/KAFKA-4548
2017-01-24 20:07:13 +00:00
Colin P. Mccabe 567180605c KAFKA-4688; Kafka 0.10.1.1 should be available in system tests
Author: Colin P. Mccabe <cmccabe@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #2424 from cmccabe/KAFKA-4688
2017-01-24 11:15:53 +00:00
Jason Gustafson bf5aebadb5 MINOR: Add offset information to consumer_test error messages
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2426 from hachikuji/improve-consumer-test-error-messages
2017-01-23 16:42:50 -08:00
Shikhar Bhushan a8aa756166 KAFKA-3209: KIP-66: more single message transforms
Renames `HoistToStruct` SMT to `HoistField`.

Adds the following SMTs:
`ExtractField`
`MaskField`
`RegexRouter`
`ReplaceField`
`SetSchemaMetadata`
`ValueToKey`

Adds HTML doc generation and updates to `connect.html`.

Author: Shikhar Bhushan <shikhar@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2374 from shikhar/more-smt
2017-01-20 16:15:15 -08:00
Matthias J. Sax d8a77560c2 MINOR: refactor streams system test class hierachy
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Eno Thereska, Guozhang Wang

Closes #2392 from mjsax/minor-system-test-rework
2017-01-18 11:55:23 -08:00
Rajini Sivaram 3f6c4f63c9 KAFKA-4580; Use sasl.jaas.config for some system tests
Switched console_consumer, verifiable_consumer and verifiable_producer to use new sasl.jaas_config property instead of static JAAS configuration file when used with SASL_PLAINTEXT.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #2323 from rajinisivaram/KAFKA-4580
2017-01-17 18:42:55 +00:00
Rajini Sivaram 55abe65e09 KAFKA-4590; SASL/SCRAM system tests
Runs sanity test and one replication test using SASL/SCRAM.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #2355 from rajinisivaram/KAFKA-4590
2017-01-17 12:55:07 +00:00
Ewen Cheslack-Postava 6e42ce8fe8 Bump version to 0.10.3.0-SNAPSHOT 2017-01-16 11:39:13 -08:00
Eno Thereska d1956d4b6c HOTFIX: Added another broker to smoke test
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #2362 from enothereska/hotfix-smoke-test-2-brokers
2017-01-13 11:11:17 -08:00
Emanuele Cesena 7a61ce4cf4 MINOR: Cluster file generator should produce valid json
This way, if the ${KAFKA_NUM_CONTAINERS} is changed in docker/run_tests.sh, the json is still valid

Author: Emanuele Cesena <emanuele.cesena@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2370 from 0x0ece/patch-1
2017-01-13 10:22:38 -08:00
Shikhar Bhushan 2f90488323 KAFKA-3209: KIP-66: single message transforms
Besides API and runtime changes, this PR also includes 2 data transformations (`InsertField`, `HoistToStruct`) and 1 routing transformation (`TimestampRouter`).

There is some gnarliness in `ConnectorConfig` / `ConfigDef` around creating, parsing and validating a dynamic `ConfigDef`.

Author: Shikhar Bhushan <shikhar@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2299 from shikhar/smt-2017
2017-01-12 16:14:53 -08:00
Raghav Kumar Gautam fa80093c06 KAFKA-4465: Create docker image and scripts for running tests locally
Author: Raghav Kumar Gautam <raghav@apache.org>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Sriharsha Chintalapani <harsha@hortonworks.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2197 from raghavgautam/trunk
2017-01-08 16:15:05 -08:00
Shikhar Bhushan 2e1bcf661d KAFKA-4575: ensure topic created before starting sink for ConnectDistributedTest.test_pause_resume_sink
Otherwise in this test the sink task goes through the pause/resume cycle with 0 assigned partitions, since the default metadata refresh interval is quite long

Author: Shikhar Bhushan <shikhar@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2313 from shikhar/kafka-4575
2017-01-05 15:25:00 -08:00
Colin P. Mccabe 0cd5afdb61 KAFKA-4508; System test that runs client against older versions of the broker
In reality, we’ll only test older brokers after KAFKA-4462 is fully implemented.

Author: Colin P. Mccabe <cmccabe@confluent.io>

Reviewers: Apurva Mehta <apurva.1618@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #2263 from cmccabe/KAFKA-4508
2017-01-04 13:55:36 +00:00
Apurva Mehta 8dbdc90bae KAFKA-4526; Disable throttling test until it can be fixed correctly.
At present, the test is fragile in the sense that the console consumer
has to start and be initialized before the verifiable producer begins
producing in the produce-consume-validate loop.

If this doesn't happen, the consumer will miss messages at the head of
the log and the test will fail.

At present, the consumer is considered inited once it has a PID. This is
a weak assumption. The plan is to poll appropriate metrics (like
partition assignment), and use those as a proxy for consumer
initialization. That work will be tracked in a separate ticket. For now,
we will disable the tests so that we can get the builds healthy again.

Author: Apurva Mehta <apurva.1618@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2278 from apurvam/KAFKA-4526-throttling-test-failures
2016-12-19 23:41:56 +00:00
Jason Gustafson 529ca32932 KAFKA-4166; Fix transient MM failure caused by slow old consumer shutdown
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2279 from hachikuji/KAFKA-4166
2016-12-19 23:39:35 +00:00
Ashish Singh d6b0b520fc KAFKA-3600; Use ApiVersions to check if broker supports required api versions
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Jason Gustafson <jason@confluent.io>, Colin P. Mccabe <cmccabe@confluent.io>, Dana Powers <dana.powers@gmail.com>, Gwen Shapira <cshapi@gmail.com>, Grant Henke <granthenke@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #1251 from SinghAsDev/KAFKA-3600
2016-12-17 04:24:15 -08:00
Eno Thereska 7049938165 MINOR: Reenable streams smoke test
I ran it 3 times and it works again.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #2257 from enothereska/minor-reenable-smoke-test
2016-12-14 13:01:43 -08:00
Geoff Anderson 62e043a865 KAFKA-4140: Upgrade to ducktape 0.6.0 and make system tests parallel friendly
Updates to take advantage of soon-to-be-released ducktape features.

Author: Geoff Anderson <geoff@confluent.io>
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1834 from granders/systest-parallel-friendly
2016-12-11 18:43:23 -08:00
Eno Thereska b6af35161c HOTFIX: Disable test until fixed
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2217 from enothereska/hotfix-disable-smoke-test
2016-12-07 00:23:57 +00:00
Ewen Cheslack-Postava 39f62ddcec MINOR: Update ducktape version to 0.5.3
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2220 from ewencp/update-ducktape
2016-12-06 13:57:27 -08:00
Ismael Juma a5d28149fb Revert "KAFKA-4345; Run decktape test for each pull request"
This reverts commit e035fc0395 for the
following reasons:

1. License files are missing causing local builds to fail during the
rat task (rat is not being run in Jenkins for some reason, filed
KAFKA-4459 for that)
2. It renames a number of system test files when there's a better
way to achieve the goal of running a subset of system tests to stay
under the Travis limit.
3. It adds the gradle wrapper binary even though this was removed
intentionally a while back.

A new PR will be submitted for KAFKA-4345 without the undesired
changes.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2187 from ijuma/kafka-4345-revert
2016-11-29 09:11:21 -08:00
Raghav Kumar Gautam e035fc0395 KAFKA-4345; Run decktape test for each pull request
As of now the ducktape tests that we have for kafka are not run for pull request. We can run these test using travis-ci. Here is a sample run:
https://travis-ci.org/raghavgautam/kafka/builds/170574293

Author: Raghav Kumar Gautam <raghav@apache.org>

Reviewers: Sriharsha Chintalapani <harsha@hortonworks.com>

Closes #2064 from raghavgautam/trunk
2016-11-23 20:48:58 -08:00
Eno Thereska bbe84051c7 HOTFIX: Hotfix streams smoke test
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2149 from enothereska/hotfix-streams-smoke-test
2016-11-19 09:38:47 +00:00
Damian Guy 2daa10d77f KAFKA-4366: KafkaStreams.close() blocks indefinitely
Added `timeout` and `timeUnit` to `KafkaStreams.close(..)`. Now do close on a thread and `join` that thread with the provided `timeout`.
Changed `state` in `KafkaStreams` to use an enum.
Added system test to ensure we don't deadlock on close when an uncaught exception handler that calls `System.exit(..)` is used and there is also a shutdown hook that calls `KafkaStreams.close(...)`

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Matthias J. Sax, Eno Thereska, Guozhang Wang

Closes #2097 from dguy/kafka-4366
2016-11-17 12:49:20 -08:00
Vahid Hashemian 249e413685 KAFKA-4211; Update system test services to use the new consumer by default
Update system test method signatures and method calls to use the new consumer by default.

Author: Vahid Hashemian <vahidhashemian@us.ibm.com>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2060 from vahidhashemian/KAFKA-4211
2016-11-16 16:30:48 -08:00
Shikhar Bhushan a32962af14 HOTFIX: Remove failing ConnectDistributedTest.test_bad_connector_class
Since #1911 was merged it is hard to externally test a connector transitioning to FAILED state due to an initialization failure, which is what this test was attempting to verify.

The unit test added in #1778 already exercises exception-handling around Connector instantiation.

Author: Shikhar Bhushan <shikhar@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2131 from shikhar/test_bad_connector_class
2016-11-14 17:07:39 -08:00
Konstantine Karantasis 4f1d8c6859 MINOR: Fix export command for additional env vars in connect system tests
Author: Konstantine Karantasis <konstantine@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2126 from kkonstantine/MINOR-Fix-formatting-of-env-vars-in-connect-system-test-template
2016-11-11 15:00:40 -08:00
Konstantine Karantasis 9783934460 MINOR: Extend mirror maker test to include interceptors
Author: Konstantine Karantasis <konstantine@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2081 from kkonstantine/MINOR-Extend-mirror-maker-test-to-include-interceptors
2016-11-11 09:10:20 -08:00
Ewen Cheslack-Postava 5307efe1ae MINOR: Fix re-raise of python error in system tests
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2099 from ewencp/fix-python-reraise
2016-11-04 15:57:12 -07:00
Vahid Hashemian 2ac332e9c9 KAFKA-4339; Update system tests to accommodate the new consumer group describe output
Author: Vahid Hashemian <vahidhashemian@us.ibm.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2061 from vahidhashemian/KAFKA-4339
2016-10-25 13:07:50 +01:00
Xavier Léauté 74014af833 MINOR: add list_topics command to help debug tests
Author: Xavier Léauté <xavier@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2052 from xvrl/test-add-list-topics
2016-10-21 14:52:06 -07:00
Ben Stopford 2ac70c0b74 KAFKA-4309; Allow "pluggable" properties in KafkaService in System Tests
Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2034 from benstopford/throttling-system-test-kafka-changes
2016-10-21 10:12:08 +01:00
Flavio Junqueira b049606aeb KAFKA-3985; Transient system test failure ZooKeeperSecurityUpgradeTest.test_zk_security_upgrade.security_protocol
Author: Flavio Junqueira <fpj@apache.org>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>, Geoff Anderson <geoff@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1973 from fpj/KAFKA-3985
2016-10-05 23:01:53 +01:00
Jason Gustafson b3eef7bc72 KAFKA-4165; Add 0.10.0.1 as a source for compatibility tests
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1959 from hachikuji/KAFKA-4165
2016-10-04 11:12:56 -07:00
Jason Gustafson 33c7b88ffe HOTFIX: Avoid mutable default arguments in system test services
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Apurva Mehta <apurva.1618@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1947 from hachikuji/hotfix-producer-perf-service
2016-10-01 17:21:19 -07:00
Jason Gustafson 788989158a HOTFIX: Revert async change in ProduceConsumeValidateTest
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1945 from hachikuji/hotfix-produce-consume-validate
2016-09-30 17:05:37 -07:00
Apurva Mehta 5a989d1748 KAFKA-4213; System tests for replication throttling (KIP-73)
In this patch, we test `kafka-reassign-partitions` when throttling is active.

This patch also fixes the following:

  1. KafkaService.verify_reassign_partitions did not check whether
partition reassignment actually completed successfully (KAFKA-4204).
This patch works around those shortcomings so that we get the right
signal from this method.

  2. ProduceConsumeValidateTest.annotate_missing_messages would call
`pop' on the list of missing messages, causing downstream methods to get
incomplete data. We fix that in this patch as well.

Author: Apurva Mehta <apurva.1618@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ben Stopford <benstopford@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #1904 from apurvam/throttling-tests
2016-09-30 19:58:58 +01:00
Konstantine Karantasis 0c8c167e84 MINOR: Allow for asynchronous start of producer consumer in validation test
Author: Konstantine Karantasis <konstantine@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #1909 from kkonstantine/MINOR-Async-start-in-produce-consume-validate
2016-09-29 13:50:39 -07:00
Jason Gustafson a6f3cf56b3 HOTFIX: Tools for releases prior to 0.10.1 need --new-consumer flag
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1931 from hachikuji/fix-broken-upgrade-tests
2016-09-29 07:48:40 +01:00
Jason Gustafson 3db752a565 MINOR: Make new consumer default for Mirror Maker
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1914 from hachikuji/mm-default-new-consumer
2016-09-27 21:35:29 +01:00
Rajini Sivaram c0a62b70a8 KAFKA-4055; System tests for secure quotas
Fix existing client-id quota test which currently don't configure quota overrides correctly. Add new tests for user and (user, client-id) quota overrides and default quotas.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Jun Rao <junrao@gmail.com>

Closes #1860 from rajinisivaram/KAFKA-4055
2016-09-25 17:01:45 -07:00
Ben Stopford 4f821830bc KAFKA-4197; Make ReassignPartitionsTest System Test move data
The ReassignPartitionsTest system tests doesn't reassign any replicas (i.e. move data).

This is a simple issue. It uses a 3 node cluster with replication factor of 3, so whilst the replicas are jumbled around, nothing actually is moved from machine to machine when the assignment is executed.

This fix just ups the number of nodes to 4 so things move.

Tests pass locally.
There are runs pending on the two branch builders

Passes:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/551/
https://jenkins.confluent.io/job/system-test-kafka-branch-builder-2/94/
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/553/
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/554/
https://jenkins.confluent.io/job/system-test-kafka-branch-builder-2/95

Failures:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/552 => _RuntimeError: There aren't enough available nodes to satisfy the resource request. Total cluster size: 1, Requested: 4, Already allocated: 1, Available: 0._ Which I assume to do with the test env.

Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1892 from benstopford/fix_reassignment_test
2016-09-20 15:41:14 +01:00
Jason Gustafson 6acbf27aeb MINOR: Bump to version 0.10.2 2016-09-19 21:19:17 -07:00
Grant Henke b5bc1a1caa KAFKA-4157; Transient system test failure in replica_verification_test.test_replica_lags
…t.test_replica_lags

Author: Grant Henke <granthenke@gmail.com>

Reviewers: Ashish Singh <asingh@cloudera.com>, Ismael Juma <ismael@juma.me.uk>

Closes #1849 from granthenke/replica-verification-fix
2016-09-17 22:47:56 +01:00
Eno Thereska 932e4d7ba7 HOTFIX: Increase timeout for bounce test
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1874 from enothereska/hotfix-bounce-test
2016-09-17 22:43:43 +01:00
Sumit Arrawatia ecc1fb10fa KAFKA-4093; Cluster Id (KIP-78)
This PR implements  KIP-78:Cluster Identifiers [(link)](https://cwiki.apache.org/confluence/display/KAFKA/KIP-78%3A+Cluster+Id#KIP-78:ClusterId-Overview) and includes the following changes:

1. Changes to broker code
	- generate cluster id and store it in Zookeeper
	- update protocol to add cluster id to metadata request and response
	- add ClusterResourceListener interface, ClusterResource class and ClusterMetadataListeners utility class
	- send ClusterResource events to the metric reporters
2. Changes to client code
	- update Cluster and Metadata code to support cluster id
	- update clients for sending ClusterResource events to interceptors, (de)serializers and metric reporters
3. Integration tests for interceptors, (de)serializers and metric reporters for clients and for protocol changes and metric reporters for broker.
4. System tests for upgrading from previous versions.

Author: Sumit Arrawatia <sumit.arrawatia@gmail.com>
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jun Rao <junrao@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #1830 from arrawatia/kip-78
2016-09-17 07:53:25 +01:00
Jason Gustafson f197ad4997 KAFKA-4160: Ensure rebalance listener not called with coordinator lock
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #1855 from hachikuji/KAFKA-4160
2016-09-14 22:31:52 -07:00
Eno Thereska 3759d7f764 HOTFIX: Temporarily ignoring this test until fixed
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1838 from enothereska/hotfix-ignore-smoke-test
2016-09-09 15:22:29 +01:00
Rajini Sivaram 3a161db571 KAFKA-4077: Backdate system test certificates to cope with clock skew
Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1810 from rajinisivaram/KAFKA-4077
2016-09-01 10:05:36 -07:00
Rajini Sivaram 2e731a9ee0 KAFKA-3799: Enable SSL endpoint validation in system tests
Generate certificates with hostname in SubjectAlternativeName and enable hostname validation.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Sriharsha Chintalapani <harsha@hortonworks.com>, Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1483 from rajinisivaram/KAFKA-3799
2016-08-31 09:14:59 -07:00
Shikhar Bhushan 71f7e7c3a2 KAFKA-4042: Contain connector & task start/stop failures within the Worker
Invoke the statusListener.onFailure() callback on start failures so that the statusBackingStore is updated. This involved a fix to the putSafe() functionality which prevented any update that was not preceded by a (non-safe) put() from completing, so here when a connector or task is transitioning directly to FAILED.

Worker start methods can still throw if the same connector name or task ID is already registered with the worker, as this condition should not happen.

Author: Shikhar Bhushan <shikhar@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1778 from shikhar/distherder-stayup-take4
2016-08-26 14:00:42 -07:00
Eno Thereska c5d26c4829 KAFKA-4016: Added join benchmarks
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ismael Juma, Damian Guy, Guozhang Wang

Closes #1700 from enothereska/join-benchmarks
2016-08-19 15:23:30 -07:00
Todd Palino 104d2154b6 KAFKA-4050; Allow configuration of the PRNG used for SSL
Add an optional configuration for the SecureRandom PRNG implementation, with the default behavior being the same (use the default implementation in the JDK/JRE).

Author: Todd Palino <Todd Palino>

Reviewers: Grant Henke <granthenke@gmail.com>, Ismael Juma <ismael@juma.me.uk>, Joel Koshy <jjkoshy@gmail.com>, Jiangjie Qin <becket.qin@gmail.com>, Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #1747 from toddpalino/trunk
2016-08-19 11:05:39 -07:00
Ewen Cheslack-Postava 05ed54bf2b KAFKA-3845: KIP-75: Add per-connector converters
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Shikhar Bhushan, Gwen Shapira

Closes #1721 from ewencp/kafka-3845-per-connector-converters
2016-08-18 20:56:31 -07:00
Ewen Cheslack-Postava 59cfa84801 KAFKA-4037: Make Connect REST API retries aware of 409 CONFLICT errors
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1733 from ewencp/rest-api-retries
2016-08-18 15:29:56 -07:00
Geoff Anderson 801fee89d8 MINOR: cleanup apache license in python files
ijuma
As discussed in https://github.com/apache/kafka/pull/1645, this patch removes an extraneous line from several __init__.py files, and a few others as well

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1659 from granders/minor-cleanup-init-files
2016-07-26 03:04:13 +01:00
Ewen Cheslack-Postava d1546960de KAFKA-3935; Fix test_restart_failed_task system test for SinkTasks
Fix the test by using a more liberal timeout and forcing more frequent SinkTask.put() calls. Also add some logging to aid future debugging.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1663 from ewencp/kafka-3935-fix-restart-system-test
2016-07-26 03:02:02 +01:00
Jason Gustafson f5df13627a KAFKA-3782: Fix transient failure in connect distributed bounce test
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1650 from hachikuji/KAFKA-3782
2016-07-21 20:09:03 -07:00
Eno Thereska f1b37eec74 HOTFIX: Adding init file so streams benchmark is autodiscovered
Without this file the benchmark does not run nightly.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1645 from enothereska/hotfix-streams-test
2016-07-22 00:18:48 +01:00
Eno Thereska 61c568d839 MINOR: Added simple streams benchmark to system tests
Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Geoff Anderson, Guozhang Wang, Ismael Juma

Closes #1621 from enothereska/simple-benchmark-streams-system-tests
2016-07-18 12:16:58 -07:00
Alex Loddengaard 7edaa3dd89 MINOR: bug fixes to ducktape services
Here's a (mostly successful) run with these changes:

http://testing.confluent.io/confluent-kafka-branch-builder-system-test-results/?prefix=2016-06-27--001.1467080884--alexlod--ducktape-fixes--ad85493/

At least one of the failed tests is failing in trunk, too:

http://testing.confluent.io/confluent-kafka-branch-builder-system-test-results/?prefix=2016-06-28--001.1467090978--alexlod--ducktape-fixes--ad85493/

The contribution is my original work and I license the work to the project under the project's open source license.

Author: Alex Loddengaard <alexloddengaard@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1566 from alexlod/ducktape-fixes
2016-06-30 21:16:13 -07:00
Jason Gustafson 36cab7dbdf KAFKA-3863: System tests covering connector/task failure and restart
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1519 from hachikuji/KAFKA-3863
2016-06-22 17:06:49 -07:00
Liquan Pei 8c8b54ee48 MINOR: Add virtual env to Kafka system test README.md
Author: Liquan Pei <liquanpei@gmail.com>

Reviewers: Gwen Shapira

Closes #1346 from Ishiihara/add-venv
2016-05-24 17:32:17 -07:00
Geoff Anderson 5b5f3ed0f2 MINOR: Bump system test ducktape dependency to 0.5.1
Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1397 from granders/minor-increment-ducktape
2016-05-18 14:47:43 -07:00
Ismael Juma 13130139ff KAFKA-3713; Close `compressor` to fix memory leak
This fixes test_producer_throughput with compression_type=snappy.

Also: added heap dump on out of memory error to `producer_performance.py` and corrected the upgrade note related to the change in buffer size for compression streams.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Gwen Shapira

Closes #1385 from ijuma/kafka-3713-test_producer_throughput-snappy-fail and squashes the following commits:

54c7962 [Ismael Juma] Correct upgrade note about buffer size for compression stream
515040b [Ismael Juma] Call `compressor.close()` to fix memory leak
5311e5b [Ismael Juma] Dump heap on out of memory error when running `producer_performance.py`
2016-05-13 21:03:35 -07:00
Liquan Pei 81f76bde85 KAFKA-3520: Add system tests for REST APIs of list connector plugins and config validation
ewen granders Ready for review.

Author: Liquan Pei <liquanpei@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1195 from Ishiihara/system-test
2016-05-12 18:19:00 -07:00
Jason Gustafson f892f0ca6d KAFKA-3694; Ensure broker Zk deregistration prior to restart in ReplicationTest
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1365 from hachikuji/KAFKA-3694
2016-05-11 23:48:46 +01:00
Jason Gustafson f96da638ee KAFKA-3676: system tests for connector pause/resume
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1345 from hachikuji/KAFKA-3676
2016-05-09 16:56:32 -07:00
Rajini Sivaram 87285f36c9 KAFKA-3634; Upgrade tests for SASL authentication
Add a test for changing SASL mechanism using rolling upgrade and a test for rolling upgrade from 0.9.0.x to 0.10.0 with SASL/GSSAPI.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ben Stopford <benstopford@gmail.com>, Geoff Anderson <geoff@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #1290 from rajinisivaram/KAFKA-3634
2016-05-09 23:47:04 +01:00
Ismael Juma f5b98b8fa7 KAFKA-3675; Add lz4 to parametrized `test_upgrade` system test
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1343 from ijuma/kafka-3675-lz4-test-upgrade
2016-05-09 00:22:13 -07:00
Liquan Pei dbafc631ad KAFKA-3673: Connect tests don't handle concurrent config changes
Author: Liquan Pei <liquanpei@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1340 from Ishiihara/connect-test-failure
2016-05-08 23:50:43 -07:00
Geoff Anderson 54092c12ed KAFKA-3592: System test - configurable paths
This patch adds logic for the following:
- remove hard-coded paths to various scripts and jars in kafkatest service classes
- provide a mechanism for overriding path resolution logic with a "pluggable" path resolver class

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1245 from granders/configurable-install-path
2016-05-06 11:10:27 -07:00
Geoff Anderson b6cd0e2791 KAFKA-3581: add timeouts to joins in background thread services
This actually removes joins altogether, as well as references to self.worker_threads, which is best left as an implementation detail in BackgroundThreadService.

This makes use of hachikuji 's recent ducktape patch, and updates ducktape dependency to 0.5.0.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Jason Gustafson <jason@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1297 from granders/KAFKA-3581-systest-add-join-timeout
2016-05-05 13:12:11 -07:00
Roger Hoover 694303a3da MINOR: Fixes to AWS init script for testing
A path was wrong in the script and in the documentation.

Author: Roger Hoover <roger.hoover@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1309 from theduderog/fix_aws_init
2016-05-04 19:24:58 -07:00
Geoff Anderson 5c47b9f80e MINOR: Add version check on enable-systest-events flag
Recent patch adding enable-systest-events flag without any version check breaks all uses of versioned console consumer. E.g. upgrade tests, compatibility tests etc.

Added a check to only apply the flag if running 0.10.0 or greater.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1298 from granders/minor-systest-fix-versioned-console-consumer
2016-05-02 21:42:01 -07:00
Anna Povzner e29eac4bbb KAFKA-3597; Query ConsoleConsumer and VerifiableProducer if they shutdown cleanly
Even if a test calls stop() on console_consumer or verifiable_producer, it is still possible that producer/consumer will not shutdown cleanly, and will be killed forcefully after a timeout. It will be useful for some tests to know whether a clean shutdown happened or not. This PR adds methods to console_consumer and verifiable_producer to query whether clean shutdown happened or not.

hachikuji and/or granders Please review.

Author: Anna Povzner <anna@confluent.io>

Reviewers: Jason Gustafson, Geoff Anderson, Gwen Shapira

Closes #1278 from apovzner/kafka-3597
2016-04-29 10:51:29 -07:00
Liquan Pei eb50d2f6ca KAFKA-3615: Exclude test jars in kafka-run-class.sh
granders hachikuji Can you take a look when you have time? Appreciate your time to review.

Author: Liquan Pei <liquanpei@gmail.com>

Reviewers: Grant Henke <granthenke@gmail.com>, Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1263 from Ishiihara/classpath-no-test-jar
2016-04-29 10:29:00 -07:00
Rajini Sivaram cea01af125 KAFKA-2693: Ducktape tests for SASL/PLAIN and multiple mechanisms
Run a sanity test with SASL/PLAIN and a couple of replication tests with SASL/PLAIN and multiple mechanisms.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1282 from rajinisivaram/KAFKA-2693
2016-04-29 09:41:12 -07:00
Ashish Singh 0ada3b1fc2 KAFKA-3382: Add system test for ReplicationVerificationTool
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1160 from SinghAsDev/KAFKA-3382
2016-04-28 15:49:01 -07:00
Ismael Juma a5f1158c31 KAFKA-3558; Add compression_type parameter to benchmarks in benchmark_test.py
* Use a fixed `Random` seed in `EndToEndLatency.scala` for determinism
* Add `compression_type` to and remove `consumer_fetch_max_wait` from `end_to_end_latency.py`. The latter was never used.
* Tweak logging of `end_to_end_latency.py` to be similar to `consumer_performance.py`.
* Add `compression_type` to `benchmark_test.py` methods and add `snappy` to `matrix` annotation
* Use randomly generated bytes from a restricted range for `ProducerPerformance` payload. This is a simple fix for now. It can be improved in the PR for KAFKA-3554.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1225 from ijuma/kafka-3558-add-compression_type-benchmark_test.py
2016-04-18 14:23:46 -07:00
Ismael Juma c1694833d5 KAFKA-3490; Multiple version support for ducktape performance tests
Author: Ismael Juma <ismael@juma.me.uk>
Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1173 from ijuma/kafka-3490-multiple-version-support-perf-tests
2016-04-13 13:50:49 -07:00
Ewen Cheslack-Postava 411b04a3c9 MINOR: Make VerifiableProducer in system tests lookup security configuration dynamically instead of at construction.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Anna Povzner

Closes #1207 from ewencp/minor-dynamic-security-config-verifiable-producer
2016-04-11 10:37:04 -07:00
Jason Gustafson cbdd70ec0d MINOR: improve logging of consumer system tests
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1199 from hachikuji/improve-consumer-systests
2016-04-08 10:04:46 -07:00
Anna Povzner 8b9b07e5d6 MINOR: ensure original use of prop_file in verifiable producer
This PR: https://github.com/apache/kafka/pull/958 fixed the use of prop_file in the situation when we have multiple producers (before, every producer will add to the config). However, it assumes that self.prop_file is initially "". This is correct for all existing tests, but it precludes us from extending verifiable producer and adding more properties to the producer config (same as console consumer).

This is a small PR to change the behavior to the original, but also make verifiable producer use prop_file method to be consistent with console consumer.

Also few more fixes to verifiable producer came up during the review:
-- fixed each_produced_at_least() method
-- more straightforward use of compression types

granders please review.

Author: Anna Povzner <anna@confluent.io>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1192 from apovzner/fix_verifiable_producer
2016-04-07 18:17:40 -07:00
Ewen Cheslack-Postava c3c9289c12 KAFKA-3464: Add system tests for Connect with Kafka security enabled
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ismael Juma, Gwen Shapira

Closes #1141 from ewencp/kafka-3464-connect-security-system-tests
2016-04-04 18:49:29 -07:00
Grant Henke 45c585b4f7 KAFKA-3483: Restructure ducktape tests to simplify running subsets of tests
… tests

Author: Grant Henke <granthenke@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1162 from granthenke/ducktape-structure
2016-04-03 20:04:36 -07:00
Ashish Singh 9f6a6f9713 KAFKA-3381: Add system test for SimpleConsumerShell
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Geoff Anderson

Closes #1053 from SinghAsDev/KAFKA-3381
2016-03-30 19:33:37 -07:00
Ismael Juma 78d91dcd88 KAFKA-3475; Introduce our own `MiniKdc`
This also fixes KAFKA-3453 and KAFKA-2866.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Gwen Shapira

Closes #1155 from ijuma/kafka-3475-introduce-our-minikdc
2016-03-30 19:30:34 -07:00
Geoff Anderson aaafd23df8 MINOR: Advance system test ducktape dependency from 0.3.10 to 0.4.0
Previous version of ducktape was found to have a memory leak which caused occasional failures in nightly runs.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1165 from granders/minor-advance-ducktape-to-0.4.0
2016-03-30 00:50:29 -07:00
Yasuhiro Matsuda de06244338 MINOR: remove streams-smoke-test.sh
guozhangwang

Author: Yasuhiro Matsuda <yasuhiro@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #1125 from ymatsuda/remove_smoketest_shell_script
2016-03-23 14:57:03 -07:00
Gwen Shapira 4f0417931a MINOR: update new version in additional places
Note: This goes only to trunk. 0.10.0 branch will need a separate PR with different versions.

Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1109 from gwenshap/minor-fix-version-trunk
2016-03-21 13:40:59 -07:00
Geoff Anderson c188a68e2b MINOR: Add vagrant up wrapper for simple parallel bringup on aws
The main impediment to bringing up aws machines in parallel using vagrant was the interaction between `vagrant-hostmanager` and `vagrant-aws`. If you disable hostmanager during the `up` phase, and run it after the cluster is up, parallel bringup is possible. The only caveat is that machines must be brought up in small-ish batches to prevent rate limit errors from AWS since `vagrant-aws` doesn't seem to have mechanisms to

This PR:
- disables `vagrant-hostmanager` during bringup
- adds a wrapper script to make it convenient to bring machines up in batches on aws

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #982 from granders/vagrant-disable-hostmanager
2016-03-20 16:46:42 -07:00
Eno Thereska 0d8cbbcb20 HOTFIX: Renamed tests to match expected suffix
ewencp gwenshap granders could you have a look please? Thanks.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confuent.io>

Closes #1096 from enothereska/systest-hotfix-name
2016-03-18 12:01:56 -07:00
Eno Thereska f57dabbe56 KAFKA-3202: System test that changes message version on the fly
becketqin apovzner please have a look. becketqin the test fails when the producer and consumer are 0.9.x and the message format changes on the fly.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Ewen Cheslack-Postava, Ismael Juma, Gwen Shapira

Closes #1070 from enothereska/kafka-3202-format-change-fly
2016-03-17 15:37:37 -07:00
Eno Thereska a1eb12d7c6 KAFKA-3188: Compatibility test for old and new clients with 0.10 broker
apovzner becketqin please have a look if you can. Thanks.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Anna Povzner, Gwen Shapira

Closes #1059 from enothereska/kafka-3188-compatibility
2016-03-17 13:17:01 -07:00
Eno Thereska b0f811804f KAFKA-3371: ClientCompatibilityTest system test failing
becketqin have a look if this looks reasonable to you. Thanks.

Author: Eno Thereska <eno.thereska@gmail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1051 from enothereska/kafka-3371
2016-03-16 08:47:38 -07:00
Jiangjie Qin ffbe624e6f KAFKA-3373; add 'log' prefix to configurations in KIP-31/32
Author: Jiangjie Qin <becket.qin@gmail.com>

Reviewers: Gwen Shapira

Closes #1049 from becketqin/KAFKA-3373
2016-03-14 19:13:26 -07:00
Yasuhiro Matsuda c1a56c6839 KAFKA-3395: prefix job id to internal topic names
guozhangwang

Author: Yasuhiro Matsuda <yasuhiro@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #1062 from ymatsuda/k3395
2016-03-14 14:50:24 -07:00
Ashish Singh a162f6bf66 KAFKA-3380; Add system test for GetOffsetShell tool
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Gwen Shapira

Closes #1048 from SinghAsDev/KAFKA-3380
2016-03-11 12:17:45 -08:00
Gwen Shapira 6eb061fa85 MINOR: Fix system test broken by change of consumer group tool output format
… format

Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #1039 from gwenshap/minor-consumer-groups
2016-03-10 11:12:07 -08:00
Geoff Anderson 39f1c3ff83 MINOR: Ignoring streams tests until there is fix for KAFKA-3354
Per discussion with guozhangwang, `ignore` failing streams system tests until fix for KAFKA-3354 is checked in.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Guozhang Wang

Closes #1031 from granders/ignore-streams-systest
2016-03-08 21:40:40 -08:00
Anna Povzner f6e35dec9b KAFKA-3201: Added rolling upgrade system tests from 0.8 and 0.9 to 0.10
Three main tests:
1. Setup: Producer (0.8) → Kafka Cluster → Consumer (0.8)
First rolling bounce: Set inter.broker.protocol.version = 0.8 and message.format.version = 0.8
Second rolling bonus, use latest (default) inter.broker.protocol.version and message.format.version
2. Setup: Producer (0.9) → Kafka Cluster → Consumer (0.9)
First rolling bounce: Set inter.broker.protocol.version = 0.9 and message.format.version = 0.9
Second rolling bonus, use latest (default) inter.broker.protocol.version and message.format.version
3. Setup: Producer (0.9) → Kafka Cluster → Consumer (0.9)
First rolling bounce: Set inter.broker.protocol.version = 0.9 and message.format.version = 0.9
Second rolling bonus: use inter.broker.protocol.version = 0.10 and message.format.version = 0.9

Plus couple of variations of these tests using old/new consumer and no compression / snappy compression.

Author: Anna Povzner <anna@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #980 from apovzner/kafka-3201-02
2016-03-07 23:18:17 -08:00
zhuchen1018 23f239b061 KAFKA-3257: disable bootstrap-test-env.sh --colour option
becketqin, when you get a chance, could you take a look at the patch?

Author: zhuchen1018 <amandazhu19620701@gmail.com>

Reviewers: Grant Henke <granthenke@gmail.com>, Jiangjie Qin <becket.qin@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #969 from zhuchen1018/KAFKA-3257
2016-03-01 23:53:28 -08:00
Anna Povzner 4e0ae79d5c KAFKA-3214: Added system tests for compressed topics
Added CompressionTest that tests 4 producers, each using a different compression type and one not using compression.

Enabled VerifiableProducer to run producers with different compression types (passed in the constructor). This includes enabling each producer to output unique values, so that the verification process in ProduceConsumeValidateTest is correct (counts acks from all producers).

Also a fix for console consumer to raise an exception if it sees the incorrect consumer output (before we swallowed an exception, so was hard to debug the issue).

Author: Anna Povzner <anna@confluent.io>

Reviewers: Geoff Anderson, Jason Gustafson

Closes #958 from apovzner/kafka-3214
2016-02-26 13:40:39 -08:00
Yasuhiro Matsuda 13b8fb295c MINOR: enhance streams system test
guozhangwang

* add table aggregate to the system test
* actually create change log partition replica

Author: Yasuhiro Matsuda <yasuhiro@confluent.io>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #966 from ymatsuda/enh_systest
2016-02-24 18:11:36 -08:00
Ismael Juma b084c485e2 KAFKA-3277; Update trunk version to be 0.10.0.0-SNAPSHOT
Also update `kafka-merge-pr.py` and `tests/kafkatest/__init__.py`.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #963 from ijuma/update-trunk-0.10.0.0-SNAPSHOT
2016-02-24 09:21:38 -08:00
Jason Gustafson f7d019ed40 KAFKA-3093: Add Connect status tracking API
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #920 from hachikuji/KAFKA-3093
2016-02-23 22:47:31 -08:00
Yasuhiro Matsuda 3358e1682f KAFKA-2802: kafka streams system tests
Author: Yasuhiro Matsuda <yasuhiro@confluent.io>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #930 from ymatsuda/streams_systest
2016-02-23 12:14:26 -08:00
Geoff Anderson 287e45ab40 MINOR: Removed unnecessary Vagrantfile hack
The hack here is no longer necessary with up-to-date versions of Vagrant, vagrant-hostmanager, and vagrant-aws. What's more, the change in c8b60b63 caused a chain of infinite recursion on OSX, preventing bringup of VMs on a typical laptop.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Grant Henke <granthenke@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #867 from granders/remove-vagrantfile-hack and squashes the following commits:

14f4395 [Geoff Anderson] Removed uneccessary references to version 1.5.0 of vagrant-hostmanager
8799afe [Geoff Anderson] Removed Vagrantfile hack which is no longer necessary with up-to-date versions of Vagrant, vagrant-hostmanager, and vagrant-aws
2016-02-04 13:49:01 -08:00
Geoff Anderson fd10f6dff1 MINOR: Increment ducktape dependency
Pin kafka system tests to a newer version of ducktape.

Ran in branch builder; only one preexisting (transient) failure:
http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2016-02-01--001.1454333721--confluentinc--increment-ducktape-dependency--a40f474/report.html

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #852 from granders/increment-ducktape-dependency
2016-02-02 17:57:58 -08:00
Ashish Singh 4f39b5bc5b KAFKA-2846: Add Ducktape test for kafka-consumer-groups
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #555 from SinghAsDev/KAFKA-2846
2016-01-23 16:59:28 -08:00
Ewen Cheslack-Postava 9577dc2358 KAFKA-3080: Fix ConsoleConsumerTest by checking version when service is started
The MessageFormatter being used was only introduced as of 0.9.0.0. The Kafka
version in some tests is changed dynamically, sometimes from trunk back to an
earlier version, so this option must be set based on the version used when the
service is started, not when it is created.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Geoff Anderson, Ismael Juma, Grant Henke

Closes #770 from ewencp/kafka-3080-system-test-console-consumer-version-failure
2016-01-21 11:18:24 -08:00
Ashish Singh 3e5afbfa0d KAFKA-3078: Add ducktape tests for KafkaLog4jAppender producing to SASL enabled Kafka cluster
Note that KAFKA-3077 will be required to run these tests.

Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #747 from SinghAsDev/KAFKA-3078
2016-01-11 23:15:42 -08:00
Flavio Junqueira 49778b1844 KAFKA-2979: Enable authorizer and ACLs in ducktape tests
Patch by fpj and benstopford.

Author: flavio junqueira <fpj@apache.org>
Author: Flavio Junqueira <fpj@apache.org>
Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Ben Stopford <benstopford@gmail.com>, Geoff Anderson <geoff@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #683 from fpj/KAFKA-2979
2016-01-07 20:04:24 -08:00
Gwen Shapira b93f48f749 KAFKA-2422: Allow copycat connector plugins to be aliased to simpler names
…names

Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #687 from gwenshap/KAFKA-2422
2016-01-04 15:01:58 -05:00
Jason Gustafson 976fa192d4 KAFKA-2989; System tests should verify partitions consumed after rebalancing
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #702 from hachikuji/KAFKA-2989
2015-12-22 16:15:37 -08:00
Ben Stopford 9220df9f8b KAFKA-2964: Split Security Rolling Upgrade Test by Client and Broker Protocols
The core of this PR is to ensure we evaluate enabling security in a running cluster where we have different broker and client protocols.
Also in this PR are some improvements to the validation process in produce_consume_validate.py which make it easier to work out where missing messages have been lost:
- Fail fast if producer or consumer stop running.
- If messages go missing, check in the data files to see if the cause was data loss or the consumer missing messages.
- Make it possible for the ConsoleConsumer to log both what it consumed and when it consumed it (and enable this feature in produce_consume_validate tests)

Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Gwen Shapira, Geoff Anderson

Closes #667 from benstopford/security-rolling_upgrade-additions
2015-12-17 18:02:38 -08:00
Geoff Anderson 18d7abd899 KAFKA-2927; reduce system test storage footprint
Split kafka logging into two levels - DEBUG and INFO, and do not collect DEBUG by default.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ben Stopford <ben@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #657 from granders/KAFKA-2927-reduce-log-footprint
2015-12-10 17:35:03 -08:00
Anna Povzner a5f1537f87 KAFKA-2896; Added system test for partition re-assignment
Partition re-assignment tests with and without broker failure.

Author: Anna Povzner <anna@confluent.io>

Reviewers: Ben Stopford <ben@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>, Geoff Anderson <geoff@confluent.io>

Closes #655 from apovzner/kafka_2896
2015-12-10 17:06:47 -08:00
Geoff Anderson a29f80dc74 KAFKA-2928; system test: fix version sanity checks
Fixed version sanity checks by updated kafkatest version to match kafka version

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #656 from granders/KAFKA-2928-fix-version-sanity-checks
2015-12-10 15:27:38 -08:00
Jason Gustafson cd54fc8816 KAFKA-2931: add system test for consumer rolling upgrades
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma, Guozhang Wang

Closes #619 from hachikuji/KAFKA-2931
2015-12-03 21:17:51 -08:00
Flavio Junqueira 80df435001 KAFKA-2905: System test for rolling upgrade to enable ZooKeeper ACLs with SASL
Author: flavio junqueira <fpj@apache.org>

Reviewers: Ismael Juma, Geoff Anderson

Closes #598 from fpj/KAFKA-2905
2015-12-03 17:47:44 -08:00
Anna Povzner 5b5f6bbe68 KAFKA-2825: Add controller failover to existing replication tests
Author: Anna Povzner <anna@confluent.io>

Reviewers: Geoff Anderson

Closes #618 from apovzner/kafka_2825_01
2015-12-03 10:43:44 -08:00
Anna Povzner 8c3c9548b6 KAFKA-2851 Using random file names for local kdc files to avoid conflicts.
I originally tried to solve the problem by using tempfile, and creating and using scp() utility method that created a random local temp file every time it was called. However, it required passing miniKdc object to SecurityConfig setup_node which looked very invasive, since many tests use this method. Here is the PR for that, which I think we will close: https://github.com/apache/kafka/pull/609

This change is the least invasive change to solve conflicts between multiple tests jobs.

Author: Anna Povzner <anna@confluent.io>

Reviewers: Geoff Anderson

Closes #610 from apovzner/kafka_2851_01
2015-12-02 11:17:23 -08:00
Rajini Sivaram cff03f8b68 KAFKA-2642; Run replication tests with SSL and SASL clients
For SSL and SASL replication tests, set security protocol for clients as well.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Ben Stopford <benstopford@gmail.com>, Geoff Anderson <geoff@confluent.io>, Jun Rao <junrao@gmail.com>

Closes #563 from rajinisivaram/KAFKA-2642
2015-12-02 08:08:37 -06:00
Ben Stopford 0264127ba8 KAFKA-2915: Fix problem with System Tests that use bootstrap.servers embedded in jinja files
Fixes problems in mirror maker and consumer tests
http://jenkins.confluent.io/job/kafka_system_tests_branch_builder/290/
http://jenkins.confluent.io/job/kafka_system_tests_branch_builder/289/

Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Guozhang Wang

Closes #608 from benstopford/KAFKA-2915-jinja-bug
2015-12-01 11:48:16 -08:00
Ben Stopford 6b4cc2ea2b KAFKA-2771: Added rolling upgrade system test (ducktape) for Secured Cluster
Tests rolling upgrade from PLAINTEXT to SSL

Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Geoff Anderson, Ismael Juma

Closes #496 from benstopford/security-upgrade-test
2015-11-30 14:13:50 -08:00
Jason Gustafson 78e7f87db8 MINOR: fix verifiable consumer assertion
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Guozhang Wang

Closes #597 from hachikuji/fix-verifiable-consumer-assertion
2015-11-30 11:01:54 -08:00
Rajini Sivaram 69a1cced49 KAFKA-2643: Run mirror maker ducktape tests with SSL and SASL
Run tests with SSL, SASL_PLAINTEXT and SASL_SSL. Same security protocol is used for source and target Kafka.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Geoff Andreson, Ben Stopford

Closes #559 from rajinisivaram/KAFKA-2643
2015-11-25 15:05:31 -08:00
Ewen Cheslack-Postava d1053915f6 KAFKA-2803: Add hard bounce system test for Kafka Connect.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #494 from ewencp/kafka-2803-connect-hard-bounce-system-test
2015-11-24 17:39:14 -08:00
Gwen Shapira e32df4722c KAFKA-2879: Make MiniKDC test service slightly more generic
Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ewen Cheslack-Postava

Closes #578 from gwenshap/KAFKA-2879
2015-11-23 16:14:23 -08:00
Jason Gustafson b16817a54c KAFKA-2812: improve consumer integration tests
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Geoff Anderson

Closes #500 from hachikuji/KAFKA-2812
2015-11-20 15:46:42 -08:00
Geoff Anderson 9b0ddc555f MINOR: Log at INFO level in Benchmark tests
Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Gwen Shapira

Closes #569 from granders/minor-reduce-benchmark-logs
2015-11-20 11:44:25 -08:00
Geoff Anderson b206a807f3 KAFKA-2820: Remove log threshold on appender in tools-log4j.properties
Removed a config in tools-log4j.properties which prevented certain service classes from logging at TRACE level.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava, Gwen Shapira

Closes #556 from granders/KAFKA-2820-systest-tool-loglevel
2015-11-19 19:29:35 -08:00
Ben Stopford 4e22abaa85 KAFKA-2824: MiniKDC based tests don't run in VirtualBox
This is a hack which works. Is there a better way?

Build (v2) of the replication_test.py running here: http://jenkins.confluent.io/job/kafka_system_tests_branch_builder/185/

Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Geoff Anderson, Gwen Shapira

Closes #520 from benstopford/fix-for-sasl-virtual-box
2015-11-19 15:58:42 -08:00
Geoff Anderson f154956a76 KAFKA-2845: new client old broker compatibility
Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ismael Juma, Guozhang Wang

Closes #537 from granders/KAFKA-2845-new-client-old-broker-compatibility
2015-11-18 17:13:21 -08:00
Geoff Anderson 2e91806db4 KAFKA-2820: systest log level
Restores control over log level in system test service class KafkaService.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ismael Juma, Ewen Cheslack-Postava

Closes #538 from granders/KAFKA-2820-systest-log-level
2015-11-18 15:11:17 -08:00
Ewen Cheslack-Postava 969d0cb0ae KAFKA-2826: Make Kafka Connect ducktape services easier to extend.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #522 from ewencp/kafka-2826-extensible-connect-services
2015-11-12 18:54:20 -08:00
Geoff Anderson 2802bd081c MINOR: Tuned timeout parameter to reduce chance of transient failure
Increased timeout in downstream consumer doing validation step. This addresses a transient failure case in mirror maker tests with mirror maker failover.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Gwen Shapira

Closes #521 from granders/minor-mm-transient-failure
2015-11-12 18:51:26 -08:00
Ewen Cheslack-Postava 2991c9865d KAFKA-2814: Make Kafka Connect system test REST requests use hostname that is compatible with running under AWS.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #517 from ewencp/kafka-2814-connect-rest-on-aws
2015-11-12 13:19:12 -08:00
Geoff Anderson df88d3be75 MINOR: Do not collect zk persistent data by default
In system tests zookeeper service, it is overkill and space-intensive to collect zookeeper data logs by default. This minor patch turns off default collection.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Jun Rao <junrao@gmail.com>

Closes #504 from granders/minor-zk-change-log-collect
2015-11-11 18:45:24 -08:00
Guozhang Wang e0098b4567 KAFKA-2770: Catch and ignore WakeupException for commit upon closing
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Gwen Shapira, Geoff Anderson, Jason Gustafson

Closes #470 from guozhangwang/K2770
2015-11-10 19:24:15 -08:00
Ewen Cheslack-Postava 8db55618d5 KAFKA-2752: Add VerifiableSource/Sink connectors and rolling bounce Copycat system tests.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ben Stopford, Geoff Anderson, Guozhang Wang

Closes #432 from ewencp/kafka-2752-copycat-clean-bounce-test
2015-11-10 14:54:15 -08:00
Geoff Anderson 1d884d1f60 MINOR: update system test readme
Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Guozhang Wang

Closes #487 from granders/minor-update-test-readme
2015-11-10 11:54:18 -08:00
Jason Gustafson bce664b42a KAFKA-2274: verifiable consumer and integration testing
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Guozhang Wang, Geoff Anderson

Closes #465 from hachikuji/KAFKA-2274
2015-11-09 18:38:22 -08:00
Geoff Anderson 7073fa7efe KAFKA-2258: add failover to mirrormaker test
This PR adds failover to simple end to end mirror maker test

Marked as WIP for 2 reasons:
- We may want to add a couple more test cases where kafka is being used to store offsets
- There appears to be a test failure in the hard failover case

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava

Closes #427 from granders/KAFKA-2258-mirrormaker-test
2015-11-09 10:45:51 -08:00
Ewen Cheslack-Postava f2031d4063 KAFKA-2774: Rename Copycat to Kafka Connect
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #456 from ewencp/kafka-2774-rename-copycat
2015-11-08 22:11:03 -08:00
Rajini Sivaram 98db5ea94f KAFKA-2644; Run relevant ducktape tests with SASL_PLAINTEXT and SASL_SSL
Run sanity check, replication tests and benchmarks with SASL/Kerberos using MiniKdc.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Geoff Anderson <geoff@confluent.io>, Jun Rao <junrao@gmail.com>

Closes #358 from rajinisivaram/KAFKA-2644
2015-11-03 21:25:15 -08:00
Ashish Singh eec222e982 KAFKA-2574: Add ducktape based ssl test for KafkaLog4jAppender
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Gwen Shapira, Geoff Anderson

Closes #319 from SinghAsDev/KAFKA-2574
2015-10-30 17:50:11 -07:00
Manikumar reddy O 1cc44830b9 KAFKA-2562: update kafka scripts to use new tools/code
Updated  kafka-producer-perf-test.sh to use org.apache.kafka.clients.tools.ProducerPerformance.
Updated build.gradle to add kafka-tools-0.9.0.0-SNAPSHOT.jar to kafka/libs  folder.

Author: Manikumar reddy O <manikumar.reddy@gmail.com>

Reviewers: Gwen Shapira, Ismael Juma

Closes #242 from omkreddy/KAFKA-2562
2015-10-30 15:30:34 -07:00
Ewen Cheslack-Postava c001b2040c KAFKA-2369: Add REST API for Copycat.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira, James Cheng

Closes #378 from ewencp/kafka-2369-copycat-rest-api
2015-10-30 15:00:00 -07:00
Geoff Anderson 622730905d MINOR: Update system test MANIFEST.in
ewencp
Some *.properties files were missing from `kafkatest` package. This update makes `kafkatest` services once again useable by external dependencies

I've tested this change on aws with confluent system tests

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava

Closes #385 from granders/minor-update-test-manifest
2015-10-30 08:57:00 -07:00
Rajini Sivaram bd3fe839ce MINOR: Add new build target for system test libs
KAFKA-2644 adds MiniKdc for system tests and hence needs a target to collect all MiniKdc jars. At the moment, system tests run `gradlew jar`. Replacing that with `gradlew systemTestLibs` will enable kafka jars and test dependency jars to be built and copied into appropriate locations. Submitting this as a separate PR so that the new target can be added to the build scripts that run system tests before KAFKA-2644 is committed. A separate target for system test artifacts will allow dependency changes to be made in future without breaking test runs.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Jun Rao <junrao@gmail.com>

Closes #361 from rajinisivaram/kafka-systemTestLibs
2015-10-28 15:35:13 -07:00
Geoff Anderson e6b343302f KAFKA-1888: rolling upgrade test
ewencp gwenshap
This needs some refactoring to avoid the duplicated code between replication test and upgrade test, but in shape for initial feedback.

I'm interested in feedback on the added `KafkaConfig` class and `kafka_props` file. This addition makes it:
- easier to attach different configs to different nodes (e.g. during broker upgrade process)
- easier to reason about the configuration of a particular node

Notes:
- in the default values in the KafkaConfig class, I removed many properties which were in kafka.properties before. This is because most of those properties were set to what is already the default value.
- when running non-trunk VerifiableProducer, I append the trunk tools jar to the classpath, and run it with the non-trunk kafka-run-class.sh script

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Dong Lin, Ewen Cheslack-Postava

Closes #229 from granders/KAFKA-1888-upgrade-test
2015-10-27 15:23:47 -07:00
Grant Henke 2e4aed7070 KAFKA-2516: Rename o.a.k.client.tools to o.a.k.tools
Author: Grant Henke <granthenke@gmail.com>

Reviewers: Gwen Shapira, Ewen Cheslack-Postava

Closes #310 from granthenke/tools-packaging
2015-10-27 07:44:32 -07:00
Ewen Cheslack-Postava 2e61773590 KAFKA-2371: Add distributed support for Copycat.
This adds coordination between DistributedHerders using the generalized consumer
support, allowing automatic balancing of connectors and tasks across workers. A
few pieces that require interaction between workers (resolving config
inconsistencies, forwarding of configuration changes to the leader worker) are
incomplete because they require REST API support to implement properly.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Jason Gustafson, Gwen Shapira

Closes #321 from ewencp/kafka-2371-distributed-herder
2015-10-23 16:37:30 -07:00
Ewen Cheslack-Postava 14c128a162 MINOR: Capture stderr in ConsumerPerformanceService.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Guozhang Wang

Closes #331 from ewencp/minor-capture-consumer-performance-stderr
2015-10-19 17:18:52 -07:00
Rajini Sivaram f13d115596 KAFKA-2603: Add timeout arg to ConsoleConsumer for new consumer
Added --timeout-ms argument to ConsoleConsumer that works with both old and new consumer. Also modified ducktape ConsoleConsumer service to use this arg instead of consumer.timeout.ms config that works only with the old consumer.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Aditya Auradkar, Ismael Juma, Guozhang Wang

Closes #274 from rajinisivaram/KAFKA-2603
2015-10-14 13:35:49 -07:00
Dong Lin 123d27e4d0 KAFKA-2527; System Test for Quotas in Ducktape
granders Can you take a look at this quota system test?

Author: Dong Lin <lindong28@gmail.com>

Reviewers: Geoff Anderson, Ewen Cheslack-Postava

Closes #275 from lindong28/KAFKA-2527
2015-10-13 13:54:40 -07:00
Ewen Cheslack-Postava 36d4469326 KAFKA-2372: Add Kafka-backed storage of Copycat configs.
This also adds some other needed infrastructure for distributed Copycat, most
importantly the DistributedHerder, and refactors some code for handling
Kafka-backed logs into KafkaBasedLog since this is shared betweeen offset and
config storage.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira, James Cheng

Closes #241 from ewencp/kafka-2372-copycat-distributed-config
2015-10-13 10:23:21 -07:00
Rajini Sivaram dd514b2bb8 KAFKA-2581: Run some existing ducktape tests with SSL
Parametrize console consumer sanity test, replication tests and benchmarks tests to run with both PLAINTEXT and SSL.

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Geoff Anderson, Ewen Cheslack-Postava, Guozhang Wang

Closes #271 from rajinisivaram/KAFKA-2581
2015-10-12 17:19:45 -07:00
Ashish Singh a0ca8f6422 KAFKA-2573: Mirror maker system test hangs and eventually fails
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Geoff Anderson, Guozhang Wang

Closes #234 from SinghAsDev/KAFKA-2573
2015-10-06 14:11:06 -07:00
Dong Lin 4f8ad1561c MINOR: Fix Vagrant setup script for use on Fedora
I tested and verified that `vagrant --version | egrep -o "\d+\.\d+\.\d+"` works on Mac but failed on RedHad 6.4, while `vagrant --version | egrep -o "[0-9]\.[0-9]\.[0-9]"` works on both OS.

Author: Dong Lin <lindong28@gmail.com>

Reviewers: Geoff Anderson, Guozhang Wang

Closes #246 from lindong28/Vagrant-setup-on-Fedora
2015-10-02 15:07:28 -07:00
Ashish Singh b62f8ea43b KAFKA-2531: Add Ducktape based tests for KafkaLog4jAppender
Author: Ashish Singh <asingh@cloudera.com>

Reviewers: Geoff Anderson, Edwerd Ribeiro, Ewen Cheslack-Postava, Gwen Shapira

Closes #235 from SinghAsDev/KAFKA-2531
2015-09-26 18:32:49 -07:00
Ewen Cheslack-Postava 48b4d6938d KAFKA-2373: Add Kafka-backed offset storage for Copycat.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira, James Cheng

Closes #202 from ewencp/kafka-2373-copycat-distributed-offset
2015-09-24 19:01:11 -07:00
Manikumar reddy O ac757eb19e KAFKA-2554: change 0.8.3 to 0.9.0 in ApiVersion and other files
Updated the version from 0.8.3 to 0.9.0. in ApiVersion.  Also updated in gradle.propeties.

Author: Manikumar reddy O <manikumar.reddy@gmail.com>

Reviewers: Ismael Juma, Gwen Shapira

Closes #237 from omkreddy/KAFKA-2554
2015-09-24 12:38:27 -07:00
Geoff Anderson 7199c87c32 MINOR: Added scripts to automate Vagrant setup for system tests
Updated testing README accordingly.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava, Gwen Shapira

Closes #201 from granders/minor-vagrant-package-script
2015-09-14 15:00:04 -07:00
Geoff Anderson b8b1bca440 KAFKA-2489: add benchmark for new consumer
ewencp
The changes here are smaller than they look - mostly refactoring/cleanup.

- ConsumerPerformanceService: added new_consumer flag, and exposed more command-line settings
- benchmark.py: refactored to use `parametrize` and `matrix` - this reduced some amount of repeated code
- benchmark.py: added consumer performance tests with new consumer (using `parametrize`)
- benchmark.py: added more detailed test descriptions
- performance.py: broke into separate files

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava, Jason Gustafson, Gwen Shapira

Closes #179 from granders/KAFKA-2489-benchmark-new-consumer
2015-09-08 17:59:49 -07:00
Ben Stopford 9262975661 KAFKA-2453: Enable new consumer in EndToEndLatency
Author: Ben Stopford <benstopford@gmail.com>

Reviewers: Gwen Shapira, Jason Gustafson

Closes #158 from benstopford/KAFKA-2453b
2015-09-08 15:15:51 -07:00
Geoff Anderson d0adf6abec TRIVIAL: Updated testing readme
Minor update to point to testing tutorial, and install the correct version of vagrant-hostmanager

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Gwen Shapira

Closes #187 from granders/minor-testing-readme-update
2015-09-02 11:33:07 -07:00
Ewen Cheslack-Postava 3803e5cb37 KAFKA-2475: Make Copycat only have a Converter class instead of Serializer, Deserializer, and Converter.
The Converter class now translates directly between byte[] and Copycat's data
API instead of requiring an intermediate runtime type like Avro's GenericRecord
or Jackson's JsonNode.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #172 from ewencp/kafka-2475-unified-serializer-converter and squashes the following commits:

566c52f [Ewen Cheslack-Postava] Checkstyle fixes
320d0df [Ewen Cheslack-Postava] Restrict offset format.
85797e7 [Ewen Cheslack-Postava] Add StringConverter for using Copycat with raw strings.
698d65c [Ewen Cheslack-Postava] Move and update outdated comment about handing of types for BYTES type in Copycat.
4bed051 [Ewen Cheslack-Postava] KAFKA-2475: Make Copycat only have a Converter class instead of Serializer, Deserializer, and Converter.
2015-08-31 12:26:16 -07:00
Geoff Anderson 9c936b186d MINOR: kafkatest add manifest
This patch makes it possible to publish kafkatest (system test package) to pypi and use it as a library in other projects by:

- including necessary static resources with the package
- renaming the version to conform w/PEP 440, since python packaging tools reject the current version name

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava, Gwen Shapira

Closes #173 from granders/minor-kafkatest-add-manifest
2015-08-28 11:22:39 -07:00
Ewen Cheslack-Postava 2fa8c74853 KAFKA-2377: Add basic system test for copycat using source and sink file connectors.
Tests standalone mode by running separate source and sink connectors, catting
data into the source file, and validating the output in the sink file. Restarts
the service to verify that clean restarts will result in tasks resuming where
they left off.

Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Geoff Andreson, Gwen Shapira

Closes #150 from ewencp/kafka-2377-copycat-system-test
2015-08-27 13:53:00 -07:00
Geoff Anderson 1d2ae89c5a KAFKA-2439; Add MirrorMaker service class for system tests
Added MirrorMaker service and a few corresponding sanity checks, as well as necessary config template files. A few additional updates to accomodate the change in wait_until from ducktape0.2.0->0.3.0

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava, Gwen Shapira

Closes #148 from granders/KAFKA-2439 and squashes the following commits:

c7c3ebd [Geoff Anderson] MirrorMaker now can run as multi-node service. Added kill -9 to various clean_node methods.
1e806f2 [Geoff Anderson] Various cleanups per review.
1b4b049 [Geoff Anderson] Added MirrorMaker service and a few corresponding sanity checks, as well as necessary config template files. A few additional updates to accomodate the change in wait_until from ducktape0.2.0->0.3.0
2015-08-22 19:23:36 -07:00
Geoff Anderson be633a713e KAFKA-2408: ConsoleConsumerService direct log output to file
console consumer writes to System.out, while (some) log4j loggers operate in other threads.

This occasionally led to funky interleaved output which disrupted parsing of consumed messages by ConsoleConsumerService, leading to spurious test failures.

This fix directs log output to a separate file.

Author: Geoff Anderson <geoff@confluent.io>

Reviewers: Ewen Cheslack-Postava

Closes #123 from granders/KAFKA-2408 and squashes the following commits:

247b0e0 [Geoff Anderson] Updated line counting to use wc -l
66d6f4f [Geoff Anderson] lower -> uperrcase constants
e67f554 [Geoff Anderson] Changed incorrect license header
af67e01 [Geoff Anderson] Merged in upstream trunk
8f89044 [Geoff Anderson] Added another lifecycle check. Wait for log file to exist before exmaning contents.
521a84b [Geoff Anderson] Updated console consumer to directo log output directly to file rather than stdout
2015-08-11 15:24:52 -07:00
Geoff Anderson e43c9aff92 KAFKA-2276; KIP-25 initial patch
Initial patch for KIP-25

Note that to install ducktape, do *not* use pip to install ducktape. Instead:

```
$ git clone gitgithub.com:confluentinc/ducktape.git
$ cd ducktape
$ python setup.py install
```

Author: Geoff Anderson <geoff@confluent.io>
Author: Geoff <granders@gmail.com>
Author: Liquan Pei <liquanpei@gmail.com>

Reviewers: Ewen, Gwen, Jun, Guozhang

Closes #70 from granders/KAFKA-2276 and squashes the following commits:

a62fb6c [Geoff Anderson] fixed checkstyle errors
a70f0f8 [Geoff Anderson] Merged in upstream trunk.
8b62019 [Geoff Anderson] Merged in upstream trunk.
47b7b64 [Geoff Anderson] Created separate tools jar so that the clients package does not pull in dependencies on the Jackson JSON tools or argparse4j.
a9e6a14 [Geoff Anderson] Merged in upstream changes
d18db7b [Geoff Anderson] fixed :rat errors (needed to add licenses)
321fdf8 [Geoff Anderson] Ignore tests/ and vagrant/ directories when running rat build task
795fc75 [Geoff Anderson] Merged in changes from upstream trunk.
1d93f06 [Geoff Anderson] Updated provisioning to use java 7 in light of KAFKA-2316
2ea4e29 [Geoff Anderson] Tweaked README, changed default log collection behavior on VerifiableProducer
0eb6fdc [Geoff Anderson] Merged in system-tests
69dd7be [Geoff Anderson] Merged in trunk
4034dd6 [Geoff Anderson] Merged in upstream trunk
ede6450 [Geoff] Merge pull request #4 from confluentinc/move_muckrake
7751545 [Geoff Anderson] Corrected license headers
e6d532f [Geoff Anderson] java 7 -> java 6
8c61e2d [Geoff Anderson] Reverted jdk back to 6
f14c507 [Geoff Anderson] Removed mode = "test" from Vagrantfile and Vagrantfile.local examples. Updated testing README to clarify aws setup.
98b7253 [Geoff Anderson] Updated consumer tests to pre-populate kafka logs
e6a41f1 [Geoff Anderson] removed stray println
b15b24f [Geoff Anderson] leftover KafkaBenchmark in super call
0f75187 [Geoff Anderson] Rmoved stray allow_fail. kafka_benchmark_test -> benchmark_test
f469f84 [Geoff Anderson] Tweaked readme, added example Vagrantfile.local
3d73857 [Geoff Anderson] Merged downstream changes
42dcdb1 [Geoff Anderson] Tweaked behavior of stop_node, clean_node to generally fail fast
7f7c3e0 [Geoff Anderson] Updated setup.py for kafkatest
c60125c [Geoff Anderson] TestEndToEndLatency -> EndToEndLatency
4f476fe [Geoff Anderson] Moved aws scripts to vagrant directory
5af88fc [Geoff Anderson] Updated README to include aws quickstart
e5edf03 [Geoff Anderson] Updated example aws Vagrantfile.local
96533c3 [Geoff] Update aws-access-keys-commands
25a413d [Geoff] Update aws-example-Vagrantfile.local
884b20e [Geoff Anderson] Moved a bunch of files to kafkatest directory
fc7c81c [Geoff Anderson] added setup.py
632be12 [Geoff] Merge pull request #3 from confluentinc/verbose-client
51a94fd [Geoff Anderson] Use argparse4j instead of joptsimple. ThroughputThrottler now has more intuitive behavior when targetThroughput is 0.
a80a428 [Geoff Anderson] Added shell program for VerifiableProducer.
d586fb0 [Geoff Anderson] Updated comments to reflect that throttler is not message-specific
6842ed1 [Geoff Anderson] left out a file from last commit
1228eef [Geoff Anderson] Renamed throttler
9100417 [Geoff Anderson] Updated command-line options for VerifiableProducer. Extracted throughput logic to make it reusable.
0a5de8e [Geoff Anderson] Fixed checkstyle errors. Changed name to VerifiableProducer. Added synchronization for thread safety on println statements.
475423b [Geoff Anderson] Convert class to string before adding to json object.
bc009f2 [Geoff Anderson] Got rid of VerboseProducer in core (moved to clients)
c0526fe [Geoff Anderson] Updates per review comments.
8b4b1f2 [Geoff Anderson] Minor updates to VerboseProducer
2777712 [Geoff Anderson] Added some metadata to producer output.
da94b8c [Geoff Anderson] Added number of messages option.
07cd1c6 [Geoff Anderson] Added simple producer which prints status of produced messages to stdout.
a278988 [Geoff Anderson] fixed typos
f1914c3 [Liquan Pei] Merge pull request #2 from confluentinc/system_tests
81e4156 [Liquan Pei] Bootstrap Kafka system tests
2015-07-28 17:22:14 -07:00