| 
									
										
										
										
											2019-10-04 06:59:31 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | <!DOCTYPE suppressions PUBLIC | 
					
						
							|  |  |  |         "-//Puppy Crawl//DTD Suppressions 1.1//EN" | 
					
						
							|  |  |  |         "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <suppressions> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |     <!-- Note that [/\\] must be used as the path separator for cross-platform support --> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-25 23:58:54 +08:00
										 |  |  |     <!-- Generator --> | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity|BooleanExpressionComplexity" | 
					
						
							| 
									
										
										
										
											2019-10-24 03:39:12 +08:00
										 |  |  |               files="(SchemaGenerator|MessageDataGenerator|FieldSpec).java"/> | 
					
						
							| 
									
										
										
										
											2019-09-25 23:58:54 +08:00
										 |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-28 14:49:57 +08:00
										 |  |  |               files="(MessageDataGenerator|FieldSpec|WorkerSinkTask).java"/> | 
					
						
							| 
									
										
										
										
											2019-09-25 23:58:54 +08:00
										 |  |  |     <suppress checks="JavaNCSS" | 
					
						
							| 
									
										
										
										
											2020-08-27 06:10:09 +08:00
										 |  |  |               files="(ApiMessageType|FieldSpec|MessageDataGenerator).java"/> | 
					
						
							| 
									
										
										
										
											2019-11-21 08:40:18 +08:00
										 |  |  |     <suppress checks="MethodLength" | 
					
						
							| 
									
										
										
										
											2021-01-12 06:17:52 +08:00
										 |  |  |               files="(FieldSpec|MessageDataGenerator).java"/> | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <suppress id="dontUseSystemExit" | 
					
						
							|  |  |  |               files="MessageGenerator.java"/> | 
					
						
							| 
									
										
										
										
											2019-09-25 23:58:54 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-18 14:49:04 +08:00
										 |  |  |     <!-- core --> | 
					
						
							|  |  |  |     <suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|FinalLocalVariable|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)" | 
					
						
							|  |  |  |               files="core[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <!-- Clients --> | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <suppress id="dontUseSystemExit" | 
					
						
							|  |  |  |               files="Exit.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-12-22 10:15:15 +08:00
										 |  |  |               files="(Fetcher|Sender|SenderTest|ConsumerCoordinator|KafkaConsumer|KafkaProducer|Utils|TransactionManager|TransactionManagerTest|KafkaAdminClient|NetworkClient|Admin|KafkaRaftClient|KafkaRaftClientTest|RaftClientTestContext).java"/> | 
					
						
							| 
									
										
										
										
											2017-09-16 00:16:29 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="(SaslServerAuthenticator|SaslAuthenticatorTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |               files="Errors.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-25 03:38:36 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |               files="Utils.java"/> | 
					
						
							| 
									
										
										
										
											2017-04-07 18:22:09 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |               files="AbstractRequest.java"/> | 
					
						
							| 
									
										
										
										
											2017-04-07 18:22:09 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |               files="AbstractResponse.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="MethodLength" | 
					
						
							| 
									
										
											  
											
												KAFKA-7862 & KIP-345 part-one: Add static membership logic to JoinGroup protocol (#6177)
This is the first diff for the implementation of JoinGroup logic for static membership. The goal of this diff contains:
* Add group.instance.id to be unique identifier for consumer instances, provided by end user;
Modify group coordinator to accept JoinGroupRequest with/without static membership, refactor the logic for readability and code reusability.
* Add client side support for incorporating static membership changes, including new config for group.instance.id, apply stream thread client id by default, and new join group exception handling.
* Increase max session timeout to 30 min for more user flexibility if they are inclined to tolerate partial unavailability than burdening rebalance.
* Unit tests for each module changes, especially on the group coordinator logic. Crossing the possibilities like:
6.1 Dynamic/Static member
6.2 Known/Unknown member id
6.3 Group stable/unstable
6.4 Leader/Follower
The rest of the 345 change will be broken down to 4 separate diffs:
* Avoid kicking out members through rebalance.timeout, only do the kick out through session timeout.
* Changes around LeaveGroup logic, including version bumping, broker logic, client logic, etc.
* Admin client changes to add ability to batch remove static members
* Deprecate group.initial.rebalance.delay
Reviewers: Liquan Pei <liquanpei@gmail.com>, Stanislav Kozlovski <familyguyuser192@windowslive.com>, Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
											
										 
											2019-04-27 02:44:38 +08:00
										 |  |  |               files="KerberosLogin.java|RequestResponseTest.java|ConnectMetricsRegistry.java|KafkaConsumer.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ParameterNumber" | 
					
						
							| 
									
										
										
										
											2020-09-23 02:32:44 +08:00
										 |  |  |               files="(NetworkClient|FieldSpec|KafkaRaftClient).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="KafkaConsumer.java"/> | 
					
						
							|  |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="Fetcher.java"/> | 
					
						
							| 
									
										
										
										
											2017-09-06 08:36:53 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="Sender.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="ConfigDef.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-25 03:38:36 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="DefaultRecordBatch.java"/> | 
					
						
							| 
									
										
										
										
											2017-08-26 01:38:15 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="Sender.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2020-09-23 02:32:44 +08:00
										 |  |  |               files="(KafkaConsumer|ConsumerCoordinator|Fetcher|KafkaProducer|AbstractRequest|AbstractResponse|TransactionManager|Admin|KafkaAdminClient|MockAdminClient|KafkaRaftClient|KafkaRaftClientTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2018-04-16 15:51:33 +08:00
										 |  |  |               files="(Errors|SaslAuthenticatorTest|AgentTest|CoordinatorTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="BooleanExpressionComplexity" | 
					
						
							| 
									
										
											  
											
												KAFKA-7862 & KIP-345 part-one: Add static membership logic to JoinGroup protocol (#6177)
This is the first diff for the implementation of JoinGroup logic for static membership. The goal of this diff contains:
* Add group.instance.id to be unique identifier for consumer instances, provided by end user;
Modify group coordinator to accept JoinGroupRequest with/without static membership, refactor the logic for readability and code reusability.
* Add client side support for incorporating static membership changes, including new config for group.instance.id, apply stream thread client id by default, and new join group exception handling.
* Increase max session timeout to 30 min for more user flexibility if they are inclined to tolerate partial unavailability than burdening rebalance.
* Unit tests for each module changes, especially on the group coordinator logic. Crossing the possibilities like:
6.1 Dynamic/Static member
6.2 Known/Unknown member id
6.3 Group stable/unstable
6.4 Leader/Follower
The rest of the 345 change will be broken down to 4 separate diffs:
* Avoid kicking out members through rebalance.timeout, only do the kick out through session timeout.
* Changes around LeaveGroup logic, including version bumping, broker logic, client logic, etc.
* Admin client changes to add ability to batch remove static members
* Deprecate group.initial.rebalance.delay
Reviewers: Liquan Pei <liquanpei@gmail.com>, Stanislav Kozlovski <familyguyuser192@windowslive.com>, Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
											
										 
											2019-04-27 02:44:38 +08:00
										 |  |  |               files="(Utils|Topic|KafkaLZ4BlockOutputStream|AclData|JoinGroupRequest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2020-12-19 02:08:46 +08:00
										 |  |  |               files="(ConsumerCoordinator|Fetcher|Sender|KafkaProducer|BufferPool|ConfigDef|RecordAccumulator|KerberosLogin|AbstractRequest|AbstractResponse|Selector|SslFactory|SslTransportLayer|SaslClientAuthenticator|SaslClientCallbackHandler|SaslServerAuthenticator|AbstractCoordinator|TransactionManager|AbstractStickyAssignor|DefaultSslEngineFactory|Authorizer).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="JavaNCSS" | 
					
						
							| 
									
										
										
										
											2020-06-04 22:36:37 +08:00
										 |  |  |               files="(AbstractRequest|AbstractResponse|KerberosLogin|WorkerSinkTaskTest|TransactionManagerTest|SenderTest|KafkaAdminClient|ConsumerCoordinatorTest|KafkaAdminClientTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-12-19 02:08:46 +08:00
										 |  |  |               files="(ConsumerCoordinator|BufferPool|Fetcher|MetricName|Node|ConfigDef|RecordBatch|SslFactory|SslTransportLayer|MetadataResponse|KerberosLogin|Selector|Sender|Serdes|TokenInformation|Agent|Values|PluginUtils|MiniTrogdorCluster|TasksRequest|KafkaProducer|AbstractStickyAssignor|KafkaRaftClient|Authorizer).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-25 01:26:51 +08:00
										 |  |  |     <suppress checks="(JavaNCSS|CyclomaticComplexity|MethodLength)" | 
					
						
							|  |  |  |               files="CoordinatorClient.java"/> | 
					
						
							| 
									
										
										
										
											2019-10-04 06:59:31 +08:00
										 |  |  |     <suppress checks="(UnnecessaryParentheses|BooleanExpressionComplexity|CyclomaticComplexity|WhitespaceAfter|LocalVariableName)" | 
					
						
							|  |  |  |               files="Murmur3.java"/> | 
					
						
							| 
									
										
										
										
											2019-01-25 01:26:51 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-27 06:10:09 +08:00
										 |  |  |     <suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)" | 
					
						
							| 
									
										
										
										
											2019-09-25 23:58:54 +08:00
										 |  |  |             files="clients[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="NPathComplexity" | 
					
						
							|  |  |  |             files="MessageTest.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <!-- Clients tests --> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2020-01-23 05:48:36 +08:00
										 |  |  |               files="(Sender|Fetcher|KafkaConsumer|Metrics|RequestResponse|TransactionManager|KafkaAdminClient|Message|KafkaProducer)Test.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-01-23 05:48:36 +08:00
										 |  |  |               files="(ConsumerCoordinator|KafkaConsumer|RequestResponse|Fetcher|KafkaAdminClient|Message|KafkaProducer)Test.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 08:16:54 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="MockAdminClient.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-03 10:41:44 +08:00
										 |  |  |     <suppress checks="JavaNCSS" | 
					
						
							| 
									
										
										
										
											2020-05-30 02:25:20 +08:00
										 |  |  |               files="RequestResponseTest.java|FetcherTest.java|KafkaAdminClientTest.java"/> | 
					
						
							| 
									
										
										
										
											2017-04-03 10:41:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-22 14:17:42 +08:00
										 |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2021-01-28 08:18:38 +08:00
										 |  |  |               files="MemoryRecordsTest|MetricsTest|RequestResponseTest|TestSslUtils|AclAuthorizerBenchmark|MockConsumer"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							|  |  |  |               files="MockConsumer"/> | 
					
						
							| 
									
										
										
										
											2018-05-22 14:17:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-04 06:59:31 +08:00
										 |  |  |     <suppress checks="(WhitespaceAround|LocalVariableName|ImportControl|AvoidStarImport)" | 
					
						
							|  |  |  |               files="Murmur3Test.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <!-- Connect --> | 
					
						
							|  |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(DistributedHerder|Worker).java"/> | 
					
						
							| 
									
										
										
										
											2020-05-28 09:18:36 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="Worker(|Test).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="MethodLength" | 
					
						
							| 
									
										
										
										
											2020-06-10 00:41:11 +08:00
										 |  |  |               files="(KafkaConfigBackingStore|Values|IncrementalCooperativeAssignor).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="Worker(SinkTask|SourceTask|Coordinator).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="ConfigKeyInfo.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							|  |  |  |               files="(RestServer|AbstractHerder|DistributedHerder).java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="BooleanExpressionComplexity" | 
					
						
							|  |  |  |               files="JsonConverter.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(FileStreamSourceTask|DistributedHerder|KafkaConfigBackingStore).java"/> | 
					
						
							| 
									
										
											  
											
												KAFKA-5142: Add Connect support for message headers (KIP-145)
**[KIP-145](https://cwiki.apache.org/confluence/display/KAFKA/KIP-145+-+Expose+Record+Headers+in+Kafka+Connect) has been accepted, and this PR implements KIP-145 except without the SMTs.**
Changed the Connect API and runtime to support message headers as described in [KIP-145](https://cwiki.apache.org/confluence/display/KAFKA/KIP-145+-+Expose+Record+Headers+in+Kafka+Connect).
The new `Header` interface defines an immutable representation of a Kafka header (key-value pair) with support for the Connect value types and schemas. This interface provides methods for easily converting between many of the built-in primitive, structured, and logical data types.
The new `Headers` interface defines an ordered collection of headers and is used to track all headers associated with a `ConnectRecord` (and thus `SourceRecord` and `SinkRecord`). This does allow multiple headers with the same key. The `Headers` contains methods for adding, removing, finding, and modifying headers. Convenience methods allow connectors and transforms to easily use and modify the headers for a record.
A new `HeaderConverter` interface is also defined to enable the Connect runtime framework to be able to serialize and deserialize headers between the in-memory representation and Kafka’s byte[] representation. A new `SimpleHeaderConverter` implementation has been added, and this serializes to strings and deserializes by inferring the schemas (`Struct` header values are serialized without the schemas, so they can only be deserialized as `Map` instances without a schema.) The `StringConverter`, `JsonConverter`, and `ByteArrayConverter` have all been extended to also be `HeaderConverter` implementations. Each connector can be configured with a different header converter, although by default the `SimpleHeaderConverter` is used to serialize header values as strings without schemas.
Unit and integration tests are added for `ConnectHeader` and `ConnectHeaders`, the two implementation classes for headers. Additional test methods are added for the methods added to the `Converter` implementations. Finally, the `ConnectRecord` object is already used heavily, so only limited tests need to be added while quite a few of the existing tests already cover the changes.
Author: Randall Hauch <rhauch@gmail.com>
Reviewers: Arjun Satish <arjun@confluent.io>, Ted Yu <yuzhihong@gmail.com>, Magesh Nandakumar <magesh.n.kumar@gmail.com>, Konstantine Karantasis <konstantine@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>
Closes #4319 from rhauch/kafka-5142-b
											
										 
											2018-02-01 02:40:24 +08:00
										 |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(ConnectRecord|JsonConverter|Values|ConnectHeader|ConnectHeaders).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="JavaNCSS" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(KafkaConfigBackingStore|Values).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-24 21:56:27 +08:00
										 |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(DistributedHerder|RestClient|RestServer|JsonConverter|KafkaConfigBackingStore|FileStreamSourceTask|TopicAdmin).java"/> | 
					
						
							| 
									
										
										
										
											2020-05-24 21:56:27 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <!-- connect tests--> | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(DistributedHerder|KafkaBasedLog|WorkerSourceTaskWithTopicCreation)Test.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-26 00:23:03 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-05-27 13:07:34 +08:00
										 |  |  |               files="(WorkerSink|WorkerSource|ErrorHandling)Task(|WithTopicCreation)Test.java"/> | 
					
						
							|  |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="DistributedHerderTest.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="MethodLength" | 
					
						
							|  |  |  |               files="(RequestResponse|WorkerSinkTask)Test.java"/> | 
					
						
							| 
									
										
										
										
											2019-09-26 00:23:03 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <!-- Streams --> | 
					
						
							|  |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-10-16 07:10:27 +08:00
										 |  |  |               files="(KafkaStreams|KStreamImpl|KTableImpl|StreamsPartitionAssignor).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="MethodLength" | 
					
						
							| 
									
										
										
										
											2020-06-18 08:04:43 +08:00
										 |  |  |               files="KTableImpl.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-05 13:06:39 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="StreamThread.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2020-06-18 08:04:43 +08:00
										 |  |  |               files="(KStreamImpl|KTableImpl).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2021-01-28 11:57:20 +08:00
										 |  |  |               files="(StreamsPartitionAssignor|StreamThread|TaskManager|PartitionGroup).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-28 04:55:29 +08:00
										 |  |  |     <suppress checks="StaticVariableName" | 
					
						
							|  |  |  |               files="StreamsMetricsImpl.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-08-06 05:14:18 +08:00
										 |  |  |               files="(KafkaStreams|StreamsPartitionAssignor|StreamThread|TaskManager|GlobalStateManagerImpl).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-20 07:38:18 +08:00
										 |  |  |     <suppress checks="(FinalLocalVariable|UnnecessaryParentheses|BooleanExpressionComplexity|CyclomaticComplexity|WhitespaceAfter|LocalVariableName)" | 
					
						
							|  |  |  |               files="Murmur3.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-10 03:02:19 +08:00
										 |  |  |     <suppress checks="(NPathComplexity|CyclomaticComplexity)" | 
					
						
							|  |  |  |               files="KStreamSlidingWindowAggregate.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-04 04:19:46 +08:00
										 |  |  |     <!-- suppress FinalLocalVariable outside of the streams package. --> | 
					
						
							|  |  |  |     <suppress checks="FinalLocalVariable" | 
					
						
							|  |  |  |               files="^(?!.*[\\/]org[\\/]apache[\\/]kafka[\\/]streams[\\/].*$)"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <!-- Generated code --> | 
					
						
							| 
									
										
										
										
											2020-08-27 06:10:09 +08:00
										 |  |  |     <suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|FinalLocalVariable|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)" | 
					
						
							| 
									
										
										
											
												KAFKA-8868: Generate SubscriptionInfo protocol message (#7248)
Rather than maintain hand coded protocol serialization code, Streams could use the same code-generation framework as Clients/Core.
There isn't a perfect match, since the code generation framework includes an assumption that you're generating "protocol messages", rather than just arbitrary blobs, but I think it's close enough to justify using it, and improving it over time.
Using the code generation allows us to drop a lot of detail-oriented, brittle, and hard-to-maintain serialization logic in favor of a schema spec.
Reviewers: Colin P. McCabe <cmccabe@apache.org>, Boyang Chen <boyang@confluent.io>, Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
											
										 
											2019-11-02 01:03:55 +08:00
										 |  |  |               files="streams[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/> | 
					
						
							| 
									
										
										
										
											2020-09-23 02:32:44 +08:00
										 |  |  |     <suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|FinalLocalVariable|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)" | 
					
						
							|  |  |  |               files="raft[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/> | 
					
						
							| 
									
										
										
											
												KAFKA-8868: Generate SubscriptionInfo protocol message (#7248)
Rather than maintain hand coded protocol serialization code, Streams could use the same code-generation framework as Clients/Core.
There isn't a perfect match, since the code generation framework includes an assumption that you're generating "protocol messages", rather than just arbitrary blobs, but I think it's close enough to justify using it, and improving it over time.
Using the code generation allows us to drop a lot of detail-oriented, brittle, and hard-to-maintain serialization logic in favor of a schema spec.
Reviewers: Colin P. McCabe <cmccabe@apache.org>, Boyang Chen <boyang@confluent.io>, Bill Bejeck <bill@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
											
										 
											2019-11-02 01:03:55 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-31 01:29:39 +08:00
										 |  |  |     <suppress checks="ImportControl" files="FetchResponseData.java"/> | 
					
						
							| 
									
										
										
										
											2020-08-14 00:52:23 +08:00
										 |  |  |     <suppress checks="ImportControl" files="RecordsSerdeTest.java"/> | 
					
						
							| 
									
										
										
										
											2020-07-31 01:29:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-30 09:21:48 +08:00
										 |  |  |     <!-- Streams tests --> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							| 
									
										
										
										
											2020-11-18 08:57:53 +08:00
										 |  |  |               files="(StreamsPartitionAssignorTest|StreamThreadTest|StreamTaskTest|TopologyTestDriverTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="MethodLength" | 
					
						
							| 
									
										
										
										
											2020-06-18 08:04:43 +08:00
										 |  |  |               files="(EosBetaUpgradeIntegrationTest|KStreamKStreamJoinTest|RocksDBWindowStoreTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							| 
									
										
										
										
											2017-06-28 08:47:00 +08:00
										 |  |  |               files=".*[/\\]streams[/\\].*test[/\\].*.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2020-10-14 00:15:22 +08:00
										 |  |  |               files="(EosBetaUpgradeIntegrationTest|KStreamKStreamJoinTest|KTableKTableForeignKeyJoinIntegrationTest|RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapterTest|RelationalSmokeTest|MockProcessorContextStateStoreTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="JavaNCSS" | 
					
						
							| 
									
										
										
										
											2020-06-18 08:04:43 +08:00
										 |  |  |               files="(EosBetaUpgradeIntegrationTest|KStreamKStreamJoinTest|TaskManagerTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-10-14 00:15:22 +08:00
										 |  |  |               files="(EosBetaUpgradeIntegrationTest|EosTestDriver|KStreamKStreamJoinTest|KTableKTableForeignKeyJoinIntegrationTest|RelationalSmokeTest|MockProcessorContextStateStoreTest).java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-20 07:38:18 +08:00
										 |  |  |     <suppress checks="(FinalLocalVariable|WhitespaceAround|LocalVariableName|ImportControl|AvoidStarImport)" | 
					
						
							|  |  |  |               files="Murmur3Test.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-12 05:38:17 +08:00
										 |  |  |     <suppress checks="MethodLength" | 
					
						
							|  |  |  |               files="KStreamSlidingWindowAggregateTest.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-01 11:07:23 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="StreamTaskTest.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <!-- Streams test-utils --> | 
					
						
							| 
									
										
										
										
											2018-01-30 09:21:48 +08:00
										 |  |  |     <suppress checks="ClassFanOutComplexity" | 
					
						
							|  |  |  |               files="TopologyTestDriver.java"/> | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							|  |  |  |               files="TopologyTestDriver.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <!-- Streams examples --> | 
					
						
							|  |  |  |     <suppress id="dontUseSystemExit" | 
					
						
							|  |  |  |               files="PageViewTypedDemo.java|PipeDemo.java|TemperatureDemo.java|WordCountDemo.java|WordCountProcessorDemo.java|WordCountTransformerDemo.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <!-- Tools --> | 
					
						
							|  |  |  |     <suppress checks="ClassDataAbstractionCoupling" | 
					
						
							|  |  |  |               files="VerifiableConsumer.java"/> | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							| 
									
										
										
										
											2017-08-26 03:29:40 +08:00
										 |  |  |               files="(StreamsResetter|ProducerPerformance|Agent).java"/> | 
					
						
							| 
									
										
										
										
											2019-10-04 06:59:31 +08:00
										 |  |  |     <suppress checks="BooleanExpressionComplexity" | 
					
						
							|  |  |  |               files="StreamsResetter.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  |     <suppress checks="NPathComplexity" | 
					
						
							| 
									
										
										
										
											2020-02-13 04:34:12 +08:00
										 |  |  |               files="(ProducerPerformance|StreamsResetter|Agent|TransactionalMessageCopier).java"/> | 
					
						
							| 
									
										
										
										
											2017-08-26 03:29:40 +08:00
										 |  |  |     <suppress checks="ImportControl" | 
					
						
							|  |  |  |               files="SignalLogger.java"/> | 
					
						
							|  |  |  |     <suppress checks="IllegalImport" | 
					
						
							|  |  |  |               files="SignalLogger.java"/> | 
					
						
							| 
									
										
										
										
											2018-03-20 21:51:45 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="ProduceBenchSpec.java"/> | 
					
						
							| 
									
										
										
										
											2020-12-19 05:03:59 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="ConsumeBenchSpec.java"/> | 
					
						
							| 
									
										
										
										
											2019-09-09 10:49:13 +08:00
										 |  |  |     <suppress checks="ParameterNumber" | 
					
						
							|  |  |  |               files="SustainedConnectionSpec.java"/> | 
					
						
							| 
									
										
										
										
											2020-08-06 04:52:50 +08:00
										 |  |  |     <suppress id="dontUseSystemExit" | 
					
						
							|  |  |  |               files="VerifiableConsumer.java"/> | 
					
						
							|  |  |  |     <suppress id="dontUseSystemExit" | 
					
						
							|  |  |  |               files="VerifiableProducer.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     <!-- Log4J-Appender --> | 
					
						
							|  |  |  |     <suppress checks="CyclomaticComplexity" | 
					
						
							|  |  |  |               files="KafkaLog4jAppender.java"/> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <suppress checks="NPathComplexity" | 
					
						
							|  |  |  |               files="KafkaLog4jAppender.java"/> | 
					
						
							| 
									
										
										
										
											2017-04-07 05:51:09 +08:00
										 |  |  |     <suppress checks="JavaNCSS" | 
					
						
							|  |  |  |               files="RequestResponseTest.java"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-15 01:58:52 +08:00
										 |  |  |     <!-- metadata --> | 
					
						
							|  |  |  |     <suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)" | 
					
						
							|  |  |  |             files="metadata[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/> | 
					
						
							| 
									
										
										
										
											2017-03-01 06:55:46 +08:00
										 |  |  | </suppressions> |