You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2020/11/11 09:39:30 UTC

[pulsar-connectors] branch master updated (e54a427 -> e02495c)

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-connectors.git.


 discard e54a427  Initialize the pulsar-connectors repository
     new b85f27c  Pulsar IO rename (#1747)
     new c326a70   Implementing PushSource on top of Source (#1766)
     new 953f2cf  Modifying sink interface to be generic (#1792)
     new ff19596  Make the current reference sinks usable (#1814)
     new 1ac5129  Check if producer is not null before closing (#1839)
     new 63fe346  Make the KakfaSource abstract by allowing users to implement method to extract value (#1842)
     new fbb6fe9  When fetching from kafka, specify to get the earliest of messages (#1896)
     new 1338d2b  Simplify PushSource (#1898)
     new 15fc3ac  Introduce kinesis sink on function (#1904)
     new 5034381  The check should be for null (#1932)
     new 87e90b0  Added a bunch of concrete sources/sinks so that they are usable without having to write code (#1934)
     new b0598c2  Add documentation and flexible aws-credential plugin to support aws-role (#1972)
     new 1396d1c  Remove pulsar-common dependency from pulsar-io-core module and cleanup pulsar-common dependency references (#2020)
     new 5df2f93  Bump Pulsar version to 2.2.0-incubating (#2027)
     new fd2a42d  Pulsar Kinesis-sink upgrade aws-sdk version (#2058)
     new 1aa8674  Package Pulsar IO connectors into separate tgz in form of nar archives (#2054)
     new 8fb4904  Kinesis sink publish full json message (#2079)
     new 369d7af  Add context to source and sink (#2098)
     new 4abd1d9  Load connectors from NAR archives (#2102)
     new 70311dc  add flatbuffer option to serialize kinesis-message in KinesisSink (#2108)
     new 50f69de  Added optional key in pulsar IO (#2116)
     new 221ada6  Add kinesis-sink user metrics to sinkContext (#2169)
     new 6cee1ae  Removed GPL deps on gnu crypto from aerospike connector (#2173)
     new ef6e4cc  Moved Record interface as part of functions api (#2184)
     new 7257f07  kinesis-sink: manage msg ordering for publish callback failure (#2285)
     new 9849ce0  REST and CLI to get function metrics in json for monitoring (#2296)
     new bba4e8a  Kinesis-sink consider topic-name as partition-key if record key empty (#2372)
     new 5b96577  Made Twitter FireHose to emit records containing schema information (#2433)
     new d6f6bf2  Add EventTime interface to Record (#2446)
     new 12383ed  Remove Aerospike Connector (#2456)
     new 6f5aa10  Initial SQL documentation and DataGeneratorSource (#2479)
     new 7a027c9  Issue 2313: create a JDBC sink connector (#2440)
     new 83f9eee  Reintroduce Aerospike connector (#2524)
     new b09302b  Added HDFS Sink (#2409)
     new 258f9f2  support nested fields in Pulsar presto connector (#2515)
     new 68d36f9  Elastic connector (#2546)
     new 74d5cd5  [io] jdbc connector uses Schema.AUTO (#2538)
     new c9e6b78  [tests] improve connector related integration tests (#2587)
     new 73fdb9d  Renamed 2.2.0-incubating-SNAPSHOT into 2.2.0-SNAPSHOT in poms (#2625)
     new 9339cc9  Debezium: add PulsarDatabaseHistory for debezium (#2614)
     new ac12fb0  Upgrade kinesis version to fix extract binary in memory (#2621)
     new 3456f15  Debezium: kafka connect offset store (#2627)
     new f725bd0  Allow user to get topic from consumer message (#2007) (#2135)
     new 4cf1af2  add kafka source connect adaptor for debezium (#2705)
     new d884aa4   [schema] introduce AUTO_PRODUCE schema (#2685)
     new 2098ab0  Removed client-admin dependency from function-utils (#2739)
     new a975285  Issue #2757: Kafka source connector should just transfer bytes (#2761)
     new 3648a82  Bumped version to 2.3.0-SNAPSHOT (#2765)
     new 09269bd  Debezium: integrate KafkaConnectSource with MySqlConnectorTask (#2791)
     new ad43025  Add KeyValueSchema to satisfy org.apache.kafka.connect.connector.ConnectRecord (#2885)
     new 99ddcc6  change kafkaConnectSource to return KeyValue type record (#2902)
     new 6372e18  fix NPE for debezium-mysql-source-config.yaml (#2975)
     new cfe2613  support mysql binlog sync to pulsar by canal (#2998)
     new 8d6db2a  [io][docs] introduce annotations for generating connector yaml config files (#2936)
     new 928ca05  [doc] Generate connector yaml files for connectors (#3065)
     new decf69b  remove pulsar-client-schema (#3184)
     new 4d90689  [Pulsar-IO] Add Netty Tcp Source Support (#3179)
     new 3572e2c  Broke Pulsar-IO::HDFS into 3.x and 2.x versions (#2966)
     new c1f45e8  Fix hdfs module dependencies in pulsar-io/docs module (#3215)
     new 6ce4492  Added Pulsar IO connector for local files (#2869)
     new 2ed9f15  add sink and source prometheus stats (#3261)
     new 7b31e72  Optimization of binlog to pulsar use canal (#3268)
     new b243518   issue #3276 Pulsar IO connector for udp source (#3295)
     new 8560313  Add heartbeat interval for kafka connector (#3308)
     new fbb4408  Separate pulsar client API interfaces in different module (#3309)
     new ee645ea  Added filtering to Twitter Firehose Connector (#3298)
     new 8f05c95  Added HTTP Support (#3336)
     new 315b72d  Add a running flag for Kafka source connector (#3310)
     new c6a93e9  Exposing more methods in Sink/Source Context (#3397)
     new 563983c  Some minor fixes in Kafka-IO and Client-Cli. (#3418)
     new de89737  Issue #3290 Pulsar IO connector for Hbase sink (#3368)
     new db460cb  [Issue 3431] Support Kafka-IO to pass extra configs (#3432)
     new 30da6da  Add a unit test for KafkaAbstractSink. (#3564)
     new 1a1aa1d  Add a Pulsar IO MongoDB (#3561)
     new 8a30970  Fixed RAT check to exclude Avro generated files (#3598)
     new aa5621c  Bumped version to 2.4.0-SNAPSHOT (#3604)
     new 031fa73  [distribution] remove pulsar-io-debezium nar package (#3656)
     new 327a6fb  Replace Junit with testng (#3675)
     new cd40c35  [schema] Introduce `GenericSchema` interface (#3683)
     new 667f226  [Issue 3275][pulsar-io]Support source and sink of flume (#3597)
     new f881177  Expose Secrets in Source/SinkContext (#3717)
     new 011af72  fix elasticsearch in pom Consistent with other IOs (#3696)
     new 05f1af3  [pulsar-io] Add a Pulsar IO connector for Redis sink (#3700)
     new 8070734  hide kafka-connecter details for easy use debezium connector (#3825)
     new 9caf80b  revise the schema default type not null (#3752)
     new 736a023  Added sensitive annotations (#3866)
     new 5c75450  [Issue 3896] [pulsar-io] Fix NPE in ElasticSearchSink (#3899)
     new e5938ac  [Pulsar IO]: Add a source connector for debezium postgres (#3924)
     new 6cb1f3e  Some minor improvement of RabbitMQ IO Source. (#3937)
     new 3443e81  [Issue 3884] [pulsar-io] Add a Pulsar IO connector for Solr sink (#3885)
     new 26ebd1d  Fix the path of redis-io yaml. (#3965)
     new 58e2ff4  Add a Pulsar IO connector for RabbitMQ sink. (#3967)
     new f83b3a9  [Issue 3966] [pulsar-io] Specify the RedisSink type as Bytes by default (#3972)
     new 25cafa7  Specify the RabbitMQSink type as Bytes by default. (#4007)
     new 869628b  [pulsar-io] Add a Pulsar IO connector for InfluxDB sink (#4017)
     new a842f82  Add sensitive annotations for Solr/RabbitMQ connector. (#4115)
     new 955f796  Add the multi version schema support (#3876)
     new 33b4872  Add helper method to for IO connectors to use function secrets (#4222)
     new 7877c4f  [pulsar-io] hbase sink use BooleanSchema encode Boolean data (#4258)
     new 69b87a9  [pulsar-io] Remove unused annotation (#4303)
     new 138ad77  Expose state to sources and sinks (#4364)
     new c8f86f9  [pulsar-io-elastic-search] Change default document type for compliance with ES 7.x (#4322)
     new 9caa655  Avoid to create map object for Flume source (#4369)
     new e1ecb35  [pulsar-io-elastic-search] NumberOfReplicas can be 0 (#4328)
     new 8e8ebe3  Bumped version to 2.5.0-SNAPSHOT (#4581)
     new 5d715bf  Issue #4638 : Update Kafka connect-api to version 2.3.0 (#4650)
     new 486bd75  [pulsar-io][jdbc sink]Support delete and update event for JDBC Sink (#4358)
     new 6b04ac5  Upgrade to Mockito 2.x (#4671)
     new 452eb3c  Convert anonymous classes to lambda (#4703)
     new 8f0e1a1  Test cleanup and simplification (#4799)
     new 3584dbf  [pulsar-io-jdbc] not set action as insert (#4862)
     new 3fa0502  Pulsar-IO: Added Kinesis Source Connector (#3784)
     new f9ae1fe  Removed managed-ledger-shaded artifact (#4200)
     new c88ff0b  [kinesis-source] Improvements to kinesis-source (#5180)
     new 572ff37  Add a source connector for MongoDB (#5316)
     new 10f2462  Multiple unit tests improvements (#5439)
     new be856c0  Use individual netty-* artifacts instead of netty-all (#3613)
     new 1b156d9  Upgrade dependencies for security fixes (#5232)
     new da21987  [zookeeper] bump zookeeper to version 3.5.6 (#5043)
     new 98e503f  Use StandardCharsets.UTF_8 for converting String to bytes (#5372)
     new 5d814e0  [Issue 5561] Update Debezium version to 0.10.0.Final (#5573)
     new 1b28ced  [pulsar-io] [kafka-connect-adapter] KafkaSourceRecord - Initialize key property with Optional.empty() if keyBytes from SourceRecord is null (Optional property should never itself be null) (#5591)
     new d99fa03  [pulsar-io] hbase sink avoid flushing hbase table (#5629)
     new ff4fd12  [pulsar-io] hbase table should be closed properly (#5646)
     new 943471f  [Issue 5474][pulsar-io-debezium] Support CDC Connector for MongoDB (#5590)
     new 143bea6  [pulsar-io] improve hbase sink performance (#5705)
     new 312699b  Bump version to 2.6.0 (#5820)
     new d7de10a  [Issue 5827][Issue 5828][netty] Fixes for UDP protocol support in netty connector (#5829)
     new 9fa2787  fix some typos (#5889)
     new f596f4e  Added catch for NoClassDefFoundError wherever there was a ClassNotFoundException (#5870)
     new c690a23  [Issue 5612] Use Reactivestreams client for Mongo Sink (#5635)
     new df46f57  [Issue 5832][Pulsar IO]Fix npe of debezium delete event (#5876)
     new 5894cbc  Remove duplicated lombok annotations in the pulsar-io modules (#5911)
     new 2bf4eb5  Make unit tests to only use dynamically allocated ports (#5486)
     new 4f42cd2  [Github actions]Fixed unit test (#6004)
     new d5393e0  [Issue 5941][Pulsar IO]Upgrade debezium from v0.10.0-Final to v1.0.0-Final (#5972)
     new f3a85aa  [Issue 5690][pulsar-io] Make type name of Elasticsearch sink connector configurable. (#6028)
     new 1473cde  Simplify templating in log messages (#6133)
     new 2abbd07  [kinesis] Fix netty dependency conflict in Kinesis (#6199)
     new 630c613  [IO] updated aerospike-java-client version and fixed NPE (#6263)
     new 628e582  Remove duplicated test libraries in POM dependencies (#6430)
     new 4052a0c  [Maven Cleanup] Remove managed-ledger and zk-utils test-jar dependencies when possible (#6513)
     new 320fc90  [minor]Reduce redundancy (#6611)
     new bb3fd5c  Number of placeholder doesn't match number of arguments in logging (#6618)
     new 67336ca  ISSUE-6514 Add support for influxdb2 in pulsar-influxdb-sink(#6514) (#6601)
     new 6ebd876  Fix flaky test in InfluxDBSinkTest. (#6682)
     new f36b75b  [Pulsar IO][Issue 5633]Support avro schema for debezium connector (#6034)
     new 738df02  Fixing JDBC sink to handle null fields. Also added new unit tests (#6848)
     new 51408d4  Added ability for sources to publish messages on their own just like their function counterparts (#6941)
     new f9ff2c2  Added ability to build consumers in functions and sources (#6954)
     new 1674c46  [Issue 5215,4601,5215][pulsar-io] Add jdbc sinks: postgres, mariadb, clickhouse (#6835)
     new 80af80d  [Pulsar IO] Allow routing key per message to RabbitMQ sink connector (#5890)
     new 7232546  Add dynamodb streams source (#6874)
     new f6da087  Fix break changes in namespace offload policy and RabbitMQ sink. (#7011)
     new fee3ea8  Added ability to add annotations to Connector Configs  (#6983)
     new e5441af  Split KafkaConnectSource into an abstract and impl (#6911)
     new 978660a  Extend PulsarIO to support Batch Sources. This pr implements PIP-65 (#7090)
     new 1425a39  Bumped version to 2.7.0-SNAPSHOT (#7233)
     new 1d1d188  [pulsar-server] minor: fix typo in service-config (#7248)
     new 11c6bd3  Avoid pulsar-client-api dependency on txn-common (#7511)
     new 7630d95  Add limited module set profile to the pom files (#7541)
     new e07bd8b  #5922 - Update poms to use project.groupId instead of org.apache.pulsar where applicable (#7548)
     new b87b333  Fix various issues with batch source (#7716)
     new 978c4f0  [pulsar-io-hdfs2] Add config to create subdirectory from current time (#7771)
     new c889e87  Fix security vulnerabilities of Pulsar (#7801)
     new 6ded083  [Security] Upgrade the snakeyaml verion to 1.26 (#7994)
     new 8521801  Fix JavaDoc issues. Spotted by IntelliJ (#8054)
     new 981c027  Upgrade hdfs2 version to 2.8.5 (#8319)
     new 535a9e0  Remove bouncy castle shaded module to avoid bring error of verifySingleJar (#7453)
     new f1fd489  Upgrade solr version to 8.6.3 (#8328)
     new 2150fb2  [Bouncy Castle] include bc into pulsar-client fix docs (#8491)
     new 11d4594  Pulsar IO rename (#1747)
     new a3e207b   Implementing PushSource on top of Source (#1766)
     new 8c77df0  Modifying sink interface to be generic (#1792)
     new 22c15f3  Make the current reference sinks usable (#1814)
     new 144f2ab  Check if producer is not null before closing (#1839)
     new df94b7d  Make the KakfaSource abstract by allowing users to implement method to extract value (#1842)
     new 7d2157e  When fetching from kafka, specify to get the earliest of messages (#1896)
     new e3ff01b  Simplify PushSource (#1898)
     new 89f0bcc  Introduce kinesis sink on function (#1904)
     new 8209b35  The check should be for null (#1932)
     new 6d01b20  Added a bunch of concrete sources/sinks so that they are usable without having to write code (#1934)
     new 91fb745  Add documentation and flexible aws-credential plugin to support aws-role (#1972)
     new c96d991  Remove pulsar-common dependency from pulsar-io-core module and cleanup pulsar-common dependency references (#2020)
     new 6881315  Bump Pulsar version to 2.2.0-incubating (#2027)
     new a93d282  Pulsar Kinesis-sink upgrade aws-sdk version (#2058)
     new 48cacd2  Package Pulsar IO connectors into separate tgz in form of nar archives (#2054)
     new 3cadba1  Kinesis sink publish full json message (#2079)
     new 9e34cb9  Add context to source and sink (#2098)
     new 1f9983b  Load connectors from NAR archives (#2102)
     new 670c95e  add flatbuffer option to serialize kinesis-message in KinesisSink (#2108)
     new dab1673  Added optional key in pulsar IO (#2116)
     new 511dca1  Add kinesis-sink user metrics to sinkContext (#2169)
     new f81b321  Removed GPL deps on gnu crypto from aerospike connector (#2173)
     new 06a04e7  Moved Record interface as part of functions api (#2184)
     new 11c11dd  kinesis-sink: manage msg ordering for publish callback failure (#2285)
     new b39ecf0  REST and CLI to get function metrics in json for monitoring (#2296)
     new 0dd0e90  Kinesis-sink consider topic-name as partition-key if record key empty (#2372)
     new 2d9f058  Made Twitter FireHose to emit records containing schema information (#2433)
     new 0d41d06  Add EventTime interface to Record (#2446)
     new 2e2b1b8  Remove Aerospike Connector (#2456)
     new 83d039e  Initial SQL documentation and DataGeneratorSource (#2479)
     new bf40cfb  Issue 2313: create a JDBC sink connector (#2440)
     new f294145  Reintroduce Aerospike connector (#2524)
     new 7abff1e  Added HDFS Sink (#2409)
     new cf00060  support nested fields in Pulsar presto connector (#2515)
     new 902055a  Elastic connector (#2546)
     new 4cce9d2  [io] jdbc connector uses Schema.AUTO (#2538)
     new 41c5bb5  [tests] improve connector related integration tests (#2587)
     new 4d9a6d1  Renamed 2.2.0-incubating-SNAPSHOT into 2.2.0-SNAPSHOT in poms (#2625)
     new 11391f4  Debezium: add PulsarDatabaseHistory for debezium (#2614)
     new 7a34091  Upgrade kinesis version to fix extract binary in memory (#2621)
     new 7156dc4  Debezium: kafka connect offset store (#2627)
     new 9ea4582  Allow user to get topic from consumer message (#2007) (#2135)
     new 33d161a  add kafka source connect adaptor for debezium (#2705)
     new a154bb7   [schema] introduce AUTO_PRODUCE schema (#2685)
     new e2df9ce  Removed client-admin dependency from function-utils (#2739)
     new 5a05dba  Issue #2757: Kafka source connector should just transfer bytes (#2761)
     new f7e11ba  Bumped version to 2.3.0-SNAPSHOT (#2765)
     new 568f245  Debezium: integrate KafkaConnectSource with MySqlConnectorTask (#2791)
     new 34f8ba3  Add KeyValueSchema to satisfy org.apache.kafka.connect.connector.ConnectRecord (#2885)
     new 5910c59  change kafkaConnectSource to return KeyValue type record (#2902)
     new 5fbd84e  fix NPE for debezium-mysql-source-config.yaml (#2975)
     new 82a69db  support mysql binlog sync to pulsar by canal (#2998)
     new f33df19  [io][docs] introduce annotations for generating connector yaml config files (#2936)
     new cec9ea8  [doc] Generate connector yaml files for connectors (#3065)
     new c68ecc7  remove pulsar-client-schema (#3184)
     new ad608b9  [Pulsar-IO] Add Netty Tcp Source Support (#3179)
     new ab8590a  Broke Pulsar-IO::HDFS into 3.x and 2.x versions (#2966)
     new 898858d  Fix hdfs module dependencies in pulsar-io/docs module (#3215)
     new 057d355  Added Pulsar IO connector for local files (#2869)
     new acdcbf9  add sink and source prometheus stats (#3261)
     new 852298c  Optimization of binlog to pulsar use canal (#3268)
     new e63bfeb   issue #3276 Pulsar IO connector for udp source (#3295)
     new bdee9c2  Add heartbeat interval for kafka connector (#3308)
     new cbb6eb7  Separate pulsar client API interfaces in different module (#3309)
     new 9fd5ac7  Added filtering to Twitter Firehose Connector (#3298)
     new 441ccc2  Added HTTP Support (#3336)
     new 04808f8  Add a running flag for Kafka source connector (#3310)
     new 57401dc  Exposing more methods in Sink/Source Context (#3397)
     new c65f839  Some minor fixes in Kafka-IO and Client-Cli. (#3418)
     new e5ff61e  Issue #3290 Pulsar IO connector for Hbase sink (#3368)
     new c0b0587  [Issue 3431] Support Kafka-IO to pass extra configs (#3432)
     new ae7b99d  Add a unit test for KafkaAbstractSink. (#3564)
     new 9302564  Add a Pulsar IO MongoDB (#3561)
     new 528dc3b  Fixed RAT check to exclude Avro generated files (#3598)
     new 450a82a  Bumped version to 2.4.0-SNAPSHOT (#3604)
     new 92a6891  [distribution] remove pulsar-io-debezium nar package (#3656)
     new 0ecd5eb  Replace Junit with testng (#3675)
     new 7c826ea  [schema] Introduce `GenericSchema` interface (#3683)
     new 1142d7a  [Issue 3275][pulsar-io]Support source and sink of flume (#3597)
     new fced81e  Expose Secrets in Source/SinkContext (#3717)
     new e87758c  fix elasticsearch in pom Consistent with other IOs (#3696)
     new 9142ce4  [pulsar-io] Add a Pulsar IO connector for Redis sink (#3700)
     new f71f6f7  hide kafka-connecter details for easy use debezium connector (#3825)
     new 1fea496  revise the schema default type not null (#3752)
     new eb27fd6  Added sensitive annotations (#3866)
     new 0b5c6d2  [Issue 3896] [pulsar-io] Fix NPE in ElasticSearchSink (#3899)
     new 6508e5e  [Pulsar IO]: Add a source connector for debezium postgres (#3924)
     new 895e6f2  Some minor improvement of RabbitMQ IO Source. (#3937)
     new 9fecb60  [Issue 3884] [pulsar-io] Add a Pulsar IO connector for Solr sink (#3885)
     new 115d190  Fix the path of redis-io yaml. (#3965)
     new a80139d  Add a Pulsar IO connector for RabbitMQ sink. (#3967)
     new b3ac97a  [Issue 3966] [pulsar-io] Specify the RedisSink type as Bytes by default (#3972)
     new 5c27072  Specify the RabbitMQSink type as Bytes by default. (#4007)
     new 03ea124  [pulsar-io] Add a Pulsar IO connector for InfluxDB sink (#4017)
     new 29b3f2d  Add sensitive annotations for Solr/RabbitMQ connector. (#4115)
     new 1730576  Add the multi version schema support (#3876)
     new 045f12a  Add helper method to for IO connectors to use function secrets (#4222)
     new 6268681  [pulsar-io] hbase sink use BooleanSchema encode Boolean data (#4258)
     new a5584c6  [pulsar-io] Remove unused annotation (#4303)
     new 37e3247  Expose state to sources and sinks (#4364)
     new f258da6  [pulsar-io-elastic-search] Change default document type for compliance with ES 7.x (#4322)
     new 7982472  Avoid to create map object for Flume source (#4369)
     new b8b3c12  [pulsar-io-elastic-search] NumberOfReplicas can be 0 (#4328)
     new 9ec0b87  Bumped version to 2.5.0-SNAPSHOT (#4581)
     new a9bc084  Issue #4638 : Update Kafka connect-api to version 2.3.0 (#4650)
     new 2254e22  [pulsar-io][jdbc sink]Support delete and update event for JDBC Sink (#4358)
     new bf6aadc  Upgrade to Mockito 2.x (#4671)
     new bd8bd17  Convert anonymous classes to lambda (#4703)
     new 41b443c  Test cleanup and simplification (#4799)
     new 552c8a3  [pulsar-io-jdbc] not set action as insert (#4862)
     new b86b5fa  Pulsar-IO: Added Kinesis Source Connector (#3784)
     new 810edf9  Removed managed-ledger-shaded artifact (#4200)
     new 3e27f36  [kinesis-source] Improvements to kinesis-source (#5180)
     new ae5f873  Add a source connector for MongoDB (#5316)
     new 8e96877  Multiple unit tests improvements (#5439)
     new c2acc6a  Use individual netty-* artifacts instead of netty-all (#3613)
     new 6223d65  Upgrade dependencies for security fixes (#5232)
     new 9ee72b4  [zookeeper] bump zookeeper to version 3.5.6 (#5043)
     new 91cec75  Use StandardCharsets.UTF_8 for converting String to bytes (#5372)
     new 53ce338  [Issue 5561] Update Debezium version to 0.10.0.Final (#5573)
     new a457004  [pulsar-io] [kafka-connect-adapter] KafkaSourceRecord - Initialize key property with Optional.empty() if keyBytes from SourceRecord is null (Optional property should never itself be null) (#5591)
     new 6378539  [pulsar-io] hbase sink avoid flushing hbase table (#5629)
     new 1414cfa  [pulsar-io] hbase table should be closed properly (#5646)
     new 64b385d  [Issue 5474][pulsar-io-debezium] Support CDC Connector for MongoDB (#5590)
     new a87feea  [pulsar-io] improve hbase sink performance (#5705)
     new 88e8dbd  Bump version to 2.6.0 (#5820)
     new 03868ae  [Issue 5827][Issue 5828][netty] Fixes for UDP protocol support in netty connector (#5829)
     new e39748e  fix some typos (#5889)
     new a1d7663  Added catch for NoClassDefFoundError wherever there was a ClassNotFoundException (#5870)
     new ab49fcc  [Issue 5612] Use Reactivestreams client for Mongo Sink (#5635)
     new 4bee3f4  [Issue 5832][Pulsar IO]Fix npe of debezium delete event (#5876)
     new 2a5d8d9  Remove duplicated lombok annotations in the pulsar-io modules (#5911)
     new 681d29c  Make unit tests to only use dynamically allocated ports (#5486)
     new 1d30f08  [Github actions]Fixed unit test (#6004)
     new a7bc616  [Issue 5941][Pulsar IO]Upgrade debezium from v0.10.0-Final to v1.0.0-Final (#5972)
     new 4a70370  [Issue 5690][pulsar-io] Make type name of Elasticsearch sink connector configurable. (#6028)
     new fb31bb3  Simplify templating in log messages (#6133)
     new 8a828db  [kinesis] Fix netty dependency conflict in Kinesis (#6199)
     new d45f5cf  [IO] updated aerospike-java-client version and fixed NPE (#6263)
     new c5b46f5  Remove duplicated test libraries in POM dependencies (#6430)
     new e59771e  [Maven Cleanup] Remove managed-ledger and zk-utils test-jar dependencies when possible (#6513)
     new 72071d3  [minor]Reduce redundancy (#6611)
     new 3e28be0  Number of placeholder doesn't match number of arguments in logging (#6618)
     new aeabebf  ISSUE-6514 Add support for influxdb2 in pulsar-influxdb-sink(#6514) (#6601)
     new 228104b  Fix flaky test in InfluxDBSinkTest. (#6682)
     new 2ae5dcb  [Pulsar IO][Issue 5633]Support avro schema for debezium connector (#6034)
     new 7a8b935  Fixing JDBC sink to handle null fields. Also added new unit tests (#6848)
     new 5d6ca6d  Added ability for sources to publish messages on their own just like their function counterparts (#6941)
     new 9c0523d  Added ability to build consumers in functions and sources (#6954)
     new 3b317dc  [Issue 5215,4601,5215][pulsar-io] Add jdbc sinks: postgres, mariadb, clickhouse (#6835)
     new 0bc1a6c  [Pulsar IO] Allow routing key per message to RabbitMQ sink connector (#5890)
     new 812b8f2  Add dynamodb streams source (#6874)
     new 0905260  Fix break changes in namespace offload policy and RabbitMQ sink. (#7011)
     new 7a90a7c  Added ability to add annotations to Connector Configs  (#6983)
     new d657551  Split KafkaConnectSource into an abstract and impl (#6911)
     new bdcaa6a  Extend PulsarIO to support Batch Sources. This pr implements PIP-65 (#7090)
     new e39f463  Bumped version to 2.7.0-SNAPSHOT (#7233)
     new ff5f01f  [pulsar-server] minor: fix typo in service-config (#7248)
     new 8c41195  Avoid pulsar-client-api dependency on txn-common (#7511)
     new 093aad3  Add limited module set profile to the pom files (#7541)
     new 9f8edab  #5922 - Update poms to use project.groupId instead of org.apache.pulsar where applicable (#7548)
     new 369278e  Fix various issues with batch source (#7716)
     new 0ddeb3d  [pulsar-io-hdfs2] Add config to create subdirectory from current time (#7771)
     new 164e0cc  Fix security vulnerabilities of Pulsar (#7801)
     new a223dde  [Security] Upgrade the snakeyaml verion to 1.26 (#7994)
     new b81ab75  Fix JavaDoc issues. Spotted by IntelliJ (#8054)
     new 97d28e7  Upgrade hdfs2 version to 2.8.5 (#8319)
     new da33628  Remove bouncy castle shaded module to avoid bring error of verifySingleJar (#7453)
     new 54616d6  Upgrade solr version to 8.6.3 (#8328)
     new e02495c  [Bouncy Castle] include bc into pulsar-client fix docs (#8491)

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (e54a427)
            \
             N -- N -- N   refs/heads/master (e02495c)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 342 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                          |   3 -
 pulsar-io/aerospike/pom.xml                        |  69 +++
 .../pulsar/io/aerospike/AerospikeAbstractSink.java | 169 +++++++
 .../pulsar/io/aerospike/AerospikeSinkConfig.java   |  60 +++
 .../pulsar/io/aerospike/AerospikeStringSink.java   |  35 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 pulsar-io/aws/pom.xml                              |  59 +++
 .../apache/pulsar/io/aws/AbstractAwsConnector.java | 134 +++++
 .../pulsar/io/aws/AwsCredentialProviderPlugin.java |  76 +++
 .../io/aws/AwsDefaultProviderChainPlugin.java      |  47 ++
 .../pulsar/io/aws/STSAssumeRoleProviderPlugin.java |  64 +++
 pulsar-io/canal/pom.xml                            |  72 +++
 .../pulsar/io/canal/CanalAbstractSource.java       | 178 +++++++
 .../apache/pulsar/io/canal/CanalByteSource.java    |  51 ++
 .../apache/pulsar/io/canal/CanalSourceConfig.java  |  94 ++++
 .../apache/pulsar/io/canal/CanalStringSource.java  |  75 +++
 .../org/apache/pulsar/io/canal/MessageUtils.java   | 161 ++++++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../main/resources/canal-mysql-source-config.yaml  |  34 +-
 pulsar-io/cassandra/pom.xml                        |  67 +++
 .../pulsar/io/cassandra/CassandraAbstractSink.java | 110 ++++
 .../pulsar/io/cassandra/CassandraSinkConfig.java   |  74 +++
 .../pulsar/io/cassandra/CassandraStringSink.java   |  42 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 pulsar-io/debezium/core/pom.xml                    |  95 ++++
 .../apache/pulsar/io/debezium/DebeziumSource.java  | 103 ++++
 .../pulsar/io/debezium/PulsarDatabaseHistory.java  | 261 ++++++++++
 .../io/debezium/PulsarDatabaseHistoryTest.java     | 223 ++++++++
 pulsar-io/debezium/mongodb/pom.xml                 |  58 +++
 .../io/debezium/mongodb/DebeziumMongoDbSource.java |  36 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 .../resources/debezium-mongodb-source-config.yaml  |  44 +-
 pulsar-io/debezium/mysql/pom.xml                   |  59 +++
 .../io/debezium/mysql/DebeziumMysqlSource.java     |  36 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 .../resources/debezium-mysql-source-config.yaml    |  49 +-
 pulsar-io/debezium/pom.xml                         |  41 ++
 pulsar-io/debezium/postgres/pom.xml                |  58 +++
 .../debezium/postgres/DebeziumPostgresSource.java  |  37 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 .../resources/debezium-postgres-source-config.yaml |  47 +-
 pulsar-io/docs/pom.xml                             | 122 +++++
 .../pulsar/io/docs/ConnectorDocGenerator.java      | 173 +++++++
 pulsar-io/dynamodb/pom.xml                         | 106 ++++
 .../apache/pulsar/io/dynamodb/DynamoDBSource.java  | 135 +++++
 .../pulsar/io/dynamodb/DynamoDBSourceConfig.java   | 233 +++++++++
 .../apache/pulsar/io/dynamodb/StreamsRecord.java   |  83 +++
 .../pulsar/io/dynamodb/StreamsRecordProcessor.java | 114 +++++
 .../io/dynamodb/StreamsRecordProcessorFactory.java |  42 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 .../io/dynamodb/DynamoDBSourceConfigTests.java     | 146 ++++++
 .../dynamodb/src/test/resources/sourceConfig.yaml  |  38 +-
 pulsar-io/elastic-search/pom.xml                   |  89 ++++
 .../io/elasticsearch/ElasticSearchConfig.java      | 122 +++++
 .../pulsar/io/elasticsearch/ElasticSearchSink.java | 156 ++++++
 .../pulsar/io/elasticsearch/package-info.java      |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../io/elasticsearch/ElasticSearchConfigTests.java | 156 ++++++
 .../io/elasticsearch/ElasticSearchSinkTests.java   | 144 ++++++
 .../pulsar/io/elasticsearch/data/Profile.java      |  33 ++
 .../pulsar/io/elasticsearch/data/UserProfile.java  |  35 ++
 .../src/test/resources/sinkConfig.yaml             |  32 +-
 pulsar-io/file/pom.xml                             |  70 +++
 .../apache/pulsar/io/file/FileConsumerThread.java  | 108 ++++
 .../apache/pulsar/io/file/FileListingThread.java   | 189 +++++++
 .../java/org/apache/pulsar/io/file/FileRecord.java |  75 +++
 .../java/org/apache/pulsar/io/file/FileSource.java |  70 +++
 .../apache/pulsar/io/file/FileSourceConfig.java    | 169 +++++++
 .../apache/pulsar/io/file/ProcessedFileThread.java |  60 +++
 .../org/apache/pulsar/io/file/package-info.java    |  19 +
 .../org/apache/pulsar/io/file/utils/GZipFiles.java |  95 ++++
 .../org/apache/pulsar/io/file/utils/ZipFiles.java  |  84 ++++
 .../apache/pulsar/io/file/utils/package-info.java  |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../apache/pulsar/io/file/AbstractFileTests.java   | 130 +++++
 .../pulsar/io/file/FileConsumerThreadTests.java    | 148 ++++++
 .../pulsar/io/file/FileListingThreadTests.java     | 238 +++++++++
 .../pulsar/io/file/FileSourceConfigTests.java      | 121 +++++
 .../pulsar/io/file/ProcessedFileThreadTests.java   | 259 ++++++++++
 .../apache/pulsar/io/file/TestFileGenerator.java   |  91 ++++
 .../pulsar/io/file/utils/GZipFilesTests.java       |  68 +++
 .../apache/pulsar/io/file/utils/ZipFilesTests.java |  68 +++
 .../org/apache/pulsar/io/file/mislabelled.gz       |   1 +
 .../org/apache/pulsar/io/file/nonGzipFile.txt      |  26 +-
 .../org/apache/pulsar/io/file/validGzip.gz         | Bin 0 -> 60 bytes
 .../org/apache/pulsar/io/file/validZip.zip         | Bin 0 -> 200 bytes
 .../file/src/test/resources/sinkConfig.yaml        |  39 +-
 pulsar-io/flume/pom.xml                            | 116 +++++
 .../org/apache/pulsar/io/flume/FlumeConfig.java    |  73 +++
 .../org/apache/pulsar/io/flume/FlumeConnector.java | 124 +++++
 .../flume/node/AbstractConfigurationProvider.java  | 559 +++++++++++++++++++++
 .../AbstractZooKeeperConfigurationProvider.java    | 104 ++++
 .../apache/pulsar/io/flume/node/Application.java   | 238 +++++++++
 .../io/flume/node/ConfigurationProvider.java       |  23 +
 .../io/flume/node/EnvVarResolverProperties.java    |  61 +++
 .../io/flume/node/MaterializedConfiguration.java   |  46 ++
 ...PollingPropertiesFileConfigurationProvider.java | 161 ++++++
 .../PollingZooKeeperConfigurationProvider.java     | 130 +++++
 .../node/PropertiesFileConfigurationProvider.java  | 217 ++++++++
 .../node/SimpleMaterializedConfiguration.java      |  78 +++
 .../node/StaticZooKeeperConfigurationProvider.java |  55 ++
 .../apache/pulsar/io/flume/sink/AbstractSink.java  |  80 +++
 .../apache/pulsar/io/flume/sink/SourceOfFlume.java | 109 ++++
 .../apache/pulsar/io/flume/sink/StringSink.java    |  30 ++
 .../io/flume/source/AbstractSinkOfFlume.java       |  33 ++
 .../pulsar/io/flume/source/AbstractSource.java     | 130 +++++
 .../apache/pulsar/io/flume/source/SinkOfFlume.java | 123 +++++
 .../pulsar/io/flume/source/StringSource.java       |  28 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  31 +-
 .../src/main/resources/flume/flume-io-sink.yaml    |  31 +-
 .../src/main/resources/flume/flume-io-source.yaml  |  31 +-
 .../flume/src/main/resources/flume/sink.conf       |  47 +-
 .../flume/src/main/resources/flume/source.conf     |  47 +-
 .../apache/pulsar/io/flume/AbstractFlumeTests.java |  24 +
 .../node/TestAbstractConfigurationProvider.java    | 373 ++++++++++++++
 ...TestAbstractZooKeeperConfigurationProvider.java | 134 +++++
 .../pulsar/io/flume/node/TestApplication.java      | 198 ++++++++
 .../flume/node/TestEnvVarResolverProperties.java   |  70 +++
 ...PollingPropertiesFileConfigurationProvider.java | 101 ++++
 .../TestPollingZooKeeperConfigurationProvider.java |  95 ++++
 .../TestPropertiesFileConfigurationProvider.java   | 106 ++++
 .../TestStaticZooKeeperConfigurationProvider.java  |  44 ++
 .../pulsar/io/flume/sink/StringSinkTests.java      | 141 ++++++
 .../pulsar/io/flume/source/StringSourceTests.java  | 110 ++++
 .../resources/flume-conf-with-envvars.properties   |  42 +-
 .../flume/src/test/resources/flume-conf.properties | 115 +++++
 .../src/test/resources/flume-conf.properties.2786  |  35 ++
 .../flume/src/test/resources/flume/sink.conf       |  47 +-
 .../flume/src/test/resources/flume/source.conf     |  47 +-
 .../flume/src/test/resources/log4j.properties      |  32 +-
 pulsar-io/hbase/pom.xml                            |  95 ++++
 .../pulsar/io/hbase/HbaseAbstractConfig.java       |  69 +++
 .../pulsar/io/hbase/sink/HbaseAbstractSink.java    | 199 ++++++++
 .../io/hbase/sink/HbaseGenericRecordSink.java      |  95 ++++
 .../pulsar/io/hbase/sink/HbaseSinkConfig.java      |  90 ++++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../org/apache/pulsar/io/hbase/TableUtils.java     |  52 ++
 .../io/hbase/sink/HbaseGenericRecordSinkTest.java  | 179 +++++++
 .../pulsar/io/hbase/sink/HbaseSinkConfigTest.java  | 155 ++++++
 .../hbase/src/test/resources/hbase/hbase-site.xml  |  42 ++
 .../hbase/src/test/resources/sinkConfig.yaml       |  35 +-
 pulsar-io/hdfs2/pom.xml                            |  69 +++
 .../apache/pulsar/io/hdfs2/AbstractHdfsConfig.java |  78 +++
 .../pulsar/io/hdfs2/AbstractHdfsConnector.java     | 253 ++++++++++
 .../org/apache/pulsar/io/hdfs2/Compression.java    |  26 +
 .../org/apache/pulsar/io/hdfs2/HdfsResources.java  |  51 ++
 .../org/apache/pulsar/io/hdfs2/SecurityUtil.java   |  91 ++++
 .../org/apache/pulsar/io/hdfs2/package-info.java   |  19 +
 .../pulsar/io/hdfs2/sink/HdfsAbstractSink.java     | 125 +++++
 .../pulsar/io/hdfs2/sink/HdfsSinkConfig.java       | 120 +++++
 .../pulsar/io/hdfs2/sink/HdfsSyncThread.java       |  80 +++
 .../apache/pulsar/io/hdfs2/sink/package-info.java  |  19 +
 .../sink/seq/HdfsAbstractSequenceFileSink.java     |  96 ++++
 .../io/hdfs2/sink/seq/HdfsSequentialTextSink.java  |  71 +++
 .../pulsar/io/hdfs2/sink/seq/HdfsTextSink.java     |  54 ++
 .../pulsar/io/hdfs2/sink/seq/package-info.java     |  19 +
 .../hdfs2/sink/text/HdfsAbstractTextFileSink.java  |  79 +++
 .../pulsar/io/hdfs2/sink/text/HdfsStringSink.java  |  34 ++
 .../pulsar/io/hdfs2/sink/text/package-info.java    |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../pulsar/io/hdfs2/sink/AbstractHdfsSinkTest.java | 120 +++++
 .../pulsar/io/hdfs2/sink/HdfsSinkConfigTests.java  | 158 ++++++
 .../io/hdfs2/sink/seq/HdfsSequentialSinkTests.java |  95 ++++
 .../io/hdfs2/sink/seq/HdfsTextSinkTests.java       | 105 ++++
 .../io/hdfs2/sink/text/HdfsStringSinkTests.java    | 104 ++++
 .../hdfs2/src/test/resources/hadoop/core-site.xml  |  32 ++
 .../hdfs2/src/test/resources/hadoop/hdfs-site.xml  |  34 ++
 .../hdfs2/src/test/resources/sinkConfig.yaml       |  32 +-
 pulsar-io/hdfs3/pom.xml                            |  65 +++
 .../apache/pulsar/io/hdfs3/AbstractHdfsConfig.java |  78 +++
 .../pulsar/io/hdfs3/AbstractHdfsConnector.java     | 253 ++++++++++
 .../org/apache/pulsar/io/hdfs3/Compression.java    |  26 +
 .../org/apache/pulsar/io/hdfs3/HdfsResources.java  |  51 ++
 .../org/apache/pulsar/io/hdfs3/SecurityUtil.java   |  91 ++++
 .../org/apache/pulsar/io/hdfs3/package-info.java   |  19 +
 .../pulsar/io/hdfs3/sink/HdfsAbstractSink.java     | 121 +++++
 .../pulsar/io/hdfs3/sink/HdfsSinkConfig.java       | 102 ++++
 .../pulsar/io/hdfs3/sink/HdfsSyncThread.java       |  80 +++
 .../apache/pulsar/io/hdfs3/sink/package-info.java  |  19 +
 .../sink/seq/HdfsAbstractSequenceFileSink.java     |  96 ++++
 .../io/hdfs3/sink/seq/HdfsSequentialTextSink.java  |  71 +++
 .../pulsar/io/hdfs3/sink/seq/HdfsTextSink.java     |  54 ++
 .../pulsar/io/hdfs3/sink/seq/package-info.java     |  19 +
 .../hdfs3/sink/text/HdfsAbstractTextFileSink.java  |  79 +++
 .../pulsar/io/hdfs3/sink/text/HdfsStringSink.java  |  34 ++
 .../pulsar/io/hdfs3/sink/text/package-info.java    |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../pulsar/io/hdfs3/sink/AbstractHdfsSinkTest.java | 120 +++++
 .../pulsar/io/hdfs3/sink/HdfsSinkConfigTests.java  | 155 ++++++
 .../io/hdfs3/sink/seq/HdfsSequentialSinkTests.java |  95 ++++
 .../io/hdfs3/sink/seq/HdfsTextSinkTests.java       | 105 ++++
 .../io/hdfs3/sink/text/HdfsStringSinkTests.java    | 104 ++++
 .../hdfs3/src/test/resources/hadoop/core-site.xml  |  32 ++
 .../hdfs3/src/test/resources/hadoop/hdfs-site.xml  |  34 ++
 .../hdfs3/src/test/resources/sinkConfig.yaml       |  31 +-
 pulsar-io/influxdb/pom.xml                         |  90 ++++
 .../org/apache/pulsar/io/influxdb/BatchSink.java   | 129 +++++
 .../io/influxdb/InfluxDBGenericRecordSink.java     |  75 +++
 .../io/influxdb/v1/InfluxDBAbstractSink.java       |  89 ++++
 .../pulsar/io/influxdb/v1/InfluxDBBuilder.java     |  25 +
 .../pulsar/io/influxdb/v1/InfluxDBBuilderImpl.java |  59 +++
 .../io/influxdb/v1/InfluxDBGenericRecordSink.java  |  95 ++++
 .../pulsar/io/influxdb/v1/InfluxDBSinkConfig.java  | 125 +++++
 .../io/influxdb/v2/InfluxDBClientBuilder.java      |  26 +
 .../io/influxdb/v2/InfluxDBClientBuilderImpl.java  |  47 ++
 .../apache/pulsar/io/influxdb/v2/InfluxDBSink.java | 153 ++++++
 .../pulsar/io/influxdb/v2/InfluxDBSinkConfig.java  | 123 +++++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../io/influxdb/InfluxDBGenericRecordSinkTest.java |  73 +++
 .../influxdb/v1/InfluxDBGenericRecordSinkTest.java | 162 ++++++
 .../io/influxdb/v1/InfluxDBSinkConfigTest.java     | 148 ++++++
 .../io/influxdb/v2/InfluxDBSinkConfigTest.java     | 103 ++++
 .../pulsar/io/influxdb/v2/InfluxDBSinkTest.java    | 193 +++++++
 .../influxdb/src/test/resources/sinkConfig-v1.yaml |  35 +-
 .../influxdb/src/test/resources/sinkConfig-v2.yaml |  36 +-
 pulsar-io/jdbc/clickhouse/pom.xml                  |  56 +++
 .../io/jdbc/ClickHouseJdbcAutoSchemaSink.java      |  32 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 pulsar-io/jdbc/core/pom.xml                        |  63 +++
 .../pulsar/io/jdbc/BaseJdbcAutoSchemaSink.java     | 112 +++++
 .../apache/pulsar/io/jdbc/JdbcAbstractSink.java    | 235 +++++++++
 .../org/apache/pulsar/io/jdbc/JdbcDriverType.java  |  61 +++
 .../org/apache/pulsar/io/jdbc/JdbcSinkConfig.java  |  99 ++++
 .../java/org/apache/pulsar/io/jdbc/JdbcUtils.java  | 240 +++++++++
 .asf.yaml => pulsar-io/jdbc/lombok.config          |  29 +-
 pulsar-io/jdbc/mariadb/pom.xml                     |  55 ++
 .../pulsar/io/jdbc/MariadbJdbcAutoSchemaSink.java  |  32 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 pulsar-io/jdbc/pom.xml                             |  41 ++
 pulsar-io/jdbc/postgres/pom.xml                    |  56 +++
 .../pulsar/io/jdbc/PostgresJdbcAutoSchemaSink.java |  32 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 pulsar-io/jdbc/sqlite/pom.xml                      |  67 +++
 .../pulsar/io/jdbc/SqliteJdbcAutoSchemaSink.java   |  32 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../org/apache/pulsar/io/jdbc/JdbcUtilsTest.java   | 121 +++++
 .../apache/pulsar/io/jdbc/SqliteJdbcSinkTest.java  | 401 +++++++++++++++
 .../org/apache/pulsar/io/jdbc/SqliteUtils.java     | 112 +++++
 pulsar-io/kafka-connect-adaptor/pom.xml            | 128 +++++
 .../kafka/connect/AbstractKafkaConnectSource.java  | 274 ++++++++++
 .../io/kafka/connect/KafkaConnectSource.java       | 153 ++++++
 .../kafka/connect/PulsarIOSourceTaskContext.java   |  45 ++
 .../io/kafka/connect/PulsarKafkaWorkerConfig.java  |  73 +++
 .../io/kafka/connect/PulsarOffsetBackingStore.java | 235 +++++++++
 .../connect/schema/KafkaSchemaWrappedSchema.java   |  69 +++
 .../resources/META-INF/services/pulsar-io.yaml     |  28 +-
 .../io/kafka/connect/KafkaConnectSourceTest.java   | 133 +++++
 .../connect/PulsarOffsetBackingStoreTest.java      | 152 ++++++
 pulsar-io/kafka/pom.xml                            |  67 +++
 .../apache/pulsar/io/kafka/KafkaAbstractSink.java  | 109 ++++
 .../pulsar/io/kafka/KafkaAbstractSource.java       | 192 +++++++
 .../org/apache/pulsar/io/kafka/KafkaBytesSink.java |  57 +++
 .../apache/pulsar/io/kafka/KafkaBytesSource.java   |  56 +++
 .../apache/pulsar/io/kafka/KafkaSinkConfig.java    |  96 ++++
 .../apache/pulsar/io/kafka/KafkaSourceConfig.java  | 112 +++++
 .../apache/pulsar/io/kafka/KafkaStringSource.java  |  33 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  31 +-
 .../io/kafka/sink/KafkaAbstractSinkTest.java       | 213 ++++++++
 .../io/kafka/source/KafkaAbstractSourceTest.java   | 232 +++++++++
 .../kafka/src/test/resources/kafkaSinkConfig.yaml  |  36 +-
 .../src/test/resources/kafkaSourceConfig.yaml      |  36 +-
 pulsar-io/kinesis/pom.xml                          | 117 +++++
 .../kinesis/src/main/fb/KinesisMessageApi.fbs      |  59 +++
 .../io/kinesis/AwsCredentialProviderPlugin.java    |  30 ++
 .../io/kinesis/AwsDefaultProviderChainPlugin.java  |  29 ++
 .../pulsar/io/kinesis/BaseKinesisConfig.java       |  73 +++
 .../apache/pulsar/io/kinesis/KinesisRecord.java    |  91 ++++
 .../pulsar/io/kinesis/KinesisRecordProcessor.java  | 123 +++++
 .../io/kinesis/KinesisRecordProcessorFactory.java  |  41 ++
 .../org/apache/pulsar/io/kinesis/KinesisSink.java  | 250 +++++++++
 .../pulsar/io/kinesis/KinesisSinkConfig.java       | 100 ++++
 .../apache/pulsar/io/kinesis/KinesisSource.java    | 144 ++++++
 .../pulsar/io/kinesis/KinesisSourceConfig.java     | 201 ++++++++
 .../io/kinesis/STSAssumeRoleProviderPlugin.java    |  30 ++
 .../java/org/apache/pulsar/io/kinesis/Utils.java   | 219 ++++++++
 .../pulsar/io/kinesis/fbs/CompressionType.java     |  15 +
 .../pulsar/io/kinesis/fbs/EncryptionCtx.java       |  68 +++
 .../pulsar/io/kinesis/fbs/EncryptionKey.java       |  52 ++
 .../org/apache/pulsar/io/kinesis/fbs/KeyValue.java |  41 ++
 .../org/apache/pulsar/io/kinesis/fbs/Message.java  |  53 ++
 .../resources/META-INF/services/pulsar-io.yaml     |  31 +-
 .../pulsar/io/kinesis/KinesisSinkConfigTests.java  |  71 +++
 .../apache/pulsar/io/kinesis/KinesisSinkTest.java  | 154 ++++++
 .../io/kinesis/KinesisSourceConfigTests.java       | 146 ++++++
 .../org/apache/pulsar/io/kinesis/UtilsTest.java    | 274 ++++++++++
 .../kinesis/src/test/resources/sinkConfig.yaml     |  33 +-
 .../kinesis/src/test/resources/sourceConfig.yaml   |  38 +-
 pulsar-io/mongo/pom.xml                            |  76 +++
 .../org/apache/pulsar/io/mongodb/MongoConfig.java  | 106 ++++
 .../org/apache/pulsar/io/mongodb/MongoSink.java    | 222 ++++++++
 .../org/apache/pulsar/io/mongodb/MongoSource.java  | 167 ++++++
 .../org/apache/pulsar/io/mongodb/package-info.java |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  32 +-
 .../apache/pulsar/io/mongodb/MongoConfigTest.java  |  87 ++++
 .../apache/pulsar/io/mongodb/MongoSinkTest.java    | 202 ++++++++
 .../apache/pulsar/io/mongodb/MongoSourceTest.java  | 136 +++++
 .../org/apache/pulsar/io/mongodb/TestHelper.java   |  55 ++
 .../mongo/src/test/resources/mongoSinkConfig.yaml  |  32 +-
 pulsar-io/netty/pom.xml                            |  90 ++++
 .../org/apache/pulsar/io/netty/NettySource.java    |  84 ++++
 .../apache/pulsar/io/netty/NettySourceConfig.java  |  77 +++
 .../io/netty/http/NettyHttpChannelInitializer.java |  48 ++
 .../io/netty/http/NettyHttpServerHandler.java      | 144 ++++++
 .../apache/pulsar/io/netty/http/package-info.java  |  19 +
 .../org/apache/pulsar/io/netty/package-info.java   |  19 +
 .../apache/pulsar/io/netty/server/NettyServer.java | 196 ++++++++
 .../pulsar/io/netty/server/package-info.java       |  19 +
 .../io/netty/tcp/NettyTCPChannelInitializer.java   |  43 ++
 .../pulsar/io/netty/tcp/NettyTCPServerHandler.java |  65 +++
 .../apache/pulsar/io/netty/tcp/package-info.java   |  19 +
 .../io/netty/udp/NettyUDPChannelInitializer.java   |  41 ++
 .../pulsar/io/netty/udp/NettyUDPServerHandler.java |  67 +++
 .../apache/pulsar/io/netty/udp/package-info.java   |  19 +
 pulsar-io/netty/src/main/java/package-info.java    |  18 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../pulsar/io/netty/NettySourceConfigTest.java     |  86 ++++
 .../http/NettyHttpChannelInitializerTest.java      |  45 ++
 .../pulsar/io/netty/server/NettyServerTest.java    | 172 +++++++
 .../netty/tcp/NettyTCPChannelInitializerTest.java  |  50 ++
 .../netty/udp/NettyUDPChannelInitializerTest.java  |  46 ++
 .../src/test/resources/nettySourceConfig.yaml      |  31 +-
 .../nettySourceConfigWithInvalidProperty.yaml      |  31 +-
 pulsar-io/pom.xml                                  |  87 ++++
 pulsar-io/rabbitmq/pom.xml                         |  96 ++++
 .../pulsar/io/rabbitmq/RabbitMQAbstractConfig.java | 134 +++++
 .../apache/pulsar/io/rabbitmq/RabbitMQSink.java    | 104 ++++
 .../pulsar/io/rabbitmq/RabbitMQSinkConfig.java     |  74 +++
 .../apache/pulsar/io/rabbitmq/RabbitMQSource.java  | 111 ++++
 .../pulsar/io/rabbitmq/RabbitMQSourceConfig.java   |  75 +++
 .../resources/META-INF/services/pulsar-io.yaml     |  31 +-
 .../pulsar/io/rabbitmq/RabbitMQBrokerManager.java  |  68 +++
 .../io/rabbitmq/sink/RabbitMQSinkConfigTest.java   | 137 +++++
 .../pulsar/io/rabbitmq/sink/RabbitMQSinkTest.java  | 110 ++++
 .../rabbitmq/source/RabbitMQSourceConfigTest.java  | 165 ++++++
 .../io/rabbitmq/source/RabbitMQSourceTest.java     |  69 +++
 pulsar-io/rabbitmq/src/test/resources/qpid.json    |  37 ++
 .../rabbitmq/src/test/resources/sinkConfig.yaml    |  40 +-
 .../rabbitmq/src/test/resources/sourceConfig.yaml  |  42 +-
 pulsar-io/redis/pom.xml                            |  94 ++++
 .../pulsar/io/redis/RedisAbstractConfig.java       | 117 +++++
 .../org/apache/pulsar/io/redis/RedisSession.java   | 140 ++++++
 .../org/apache/pulsar/io/redis/sink/RedisSink.java | 158 ++++++
 .../pulsar/io/redis/sink/RedisSinkConfig.java      |  78 +++
 .../resources/META-INF/services/pulsar-io.yaml     |  30 +-
 .../apache/pulsar/io/redis/EmbeddedRedisUtils.java |  63 +++
 .../pulsar/io/redis/sink/RedisSinkConfigTest.java  | 149 ++++++
 .../apache/pulsar/io/redis/sink/RedisSinkTest.java | 104 ++++
 .../redis/src/test/resources/sinkConfig.yaml       |  35 +-
 pulsar-io/solr/pom.xml                             |  86 ++++
 .../apache/pulsar/io/solr/SolrAbstractSink.java    | 131 +++++
 .../pulsar/io/solr/SolrGenericRecordSink.java      |  53 ++
 .../org/apache/pulsar/io/solr/SolrSinkConfig.java  |  98 ++++
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../pulsar/io/solr/SolrGenericRecordSinkTest.java  | 114 +++++
 .../org/apache/pulsar/io/solr/SolrServerUtil.java  |  91 ++++
 .../apache/pulsar/io/solr/SolrSinkConfigTest.java  | 168 +++++++
 .../solr/src/test/resources/sinkConfig.yaml        |  33 +-
 pulsar-io/solr/src/test/resources/solr.xml         |  38 ++
 pulsar-io/twitter/pom.xml                          |  86 ++++
 .../apache/pulsar/io/twitter/TwitterFireHose.java  | 175 +++++++
 .../pulsar/io/twitter/TwitterFireHoseConfig.java   | 176 +++++++
 .../apache/pulsar/io/twitter/data/TweetData.java   | 131 +++++
 .../pulsar/io/twitter/data/TwitterRecord.java      |  66 +++
 .../pulsar/io/twitter/data/package-info.java       |  19 +
 .../twitter/endpoint/SampleStatusesEndpoint.java   |  42 ++
 .../pulsar/io/twitter/endpoint/package-info.java   |  19 +
 .../org/apache/pulsar/io/twitter/package-info.java |  19 +
 .../resources/META-INF/services/pulsar-io.yaml     |  29 +-
 .../io/twitter/TwitterFireHoseConfigTests.java     | 110 ++++
 .../twitter/src/test/resources/sourceConfig.yaml   |  29 +-
 370 files changed, 30654 insertions(+), 1531 deletions(-)
 delete mode 100644 README.md
 create mode 100644 pulsar-io/aerospike/pom.xml
 create mode 100644 pulsar-io/aerospike/src/main/java/org/apache/pulsar/io/aerospike/AerospikeAbstractSink.java
 create mode 100644 pulsar-io/aerospike/src/main/java/org/apache/pulsar/io/aerospike/AerospikeSinkConfig.java
 create mode 100644 pulsar-io/aerospike/src/main/java/org/apache/pulsar/io/aerospike/AerospikeStringSink.java
 copy .asf.yaml => pulsar-io/aerospike/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/aws/pom.xml
 create mode 100644 pulsar-io/aws/src/main/java/org/apache/pulsar/io/aws/AbstractAwsConnector.java
 create mode 100644 pulsar-io/aws/src/main/java/org/apache/pulsar/io/aws/AwsCredentialProviderPlugin.java
 create mode 100644 pulsar-io/aws/src/main/java/org/apache/pulsar/io/aws/AwsDefaultProviderChainPlugin.java
 create mode 100644 pulsar-io/aws/src/main/java/org/apache/pulsar/io/aws/STSAssumeRoleProviderPlugin.java
 create mode 100644 pulsar-io/canal/pom.xml
 create mode 100644 pulsar-io/canal/src/main/java/org/apache/pulsar/io/canal/CanalAbstractSource.java
 create mode 100644 pulsar-io/canal/src/main/java/org/apache/pulsar/io/canal/CanalByteSource.java
 create mode 100644 pulsar-io/canal/src/main/java/org/apache/pulsar/io/canal/CanalSourceConfig.java
 create mode 100644 pulsar-io/canal/src/main/java/org/apache/pulsar/io/canal/CanalStringSource.java
 create mode 100644 pulsar-io/canal/src/main/java/org/apache/pulsar/io/canal/MessageUtils.java
 copy .asf.yaml => pulsar-io/canal/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 copy .asf.yaml => pulsar-io/canal/src/main/resources/canal-mysql-source-config.yaml (58%)
 create mode 100644 pulsar-io/cassandra/pom.xml
 create mode 100644 pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraAbstractSink.java
 create mode 100644 pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraSinkConfig.java
 create mode 100644 pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraStringSink.java
 copy .asf.yaml => pulsar-io/cassandra/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/debezium/core/pom.xml
 create mode 100644 pulsar-io/debezium/core/src/main/java/org/apache/pulsar/io/debezium/DebeziumSource.java
 create mode 100644 pulsar-io/debezium/core/src/main/java/org/apache/pulsar/io/debezium/PulsarDatabaseHistory.java
 create mode 100644 pulsar-io/debezium/core/src/test/java/org/apache/pulsar/io/debezium/PulsarDatabaseHistoryTest.java
 create mode 100644 pulsar-io/debezium/mongodb/pom.xml
 create mode 100644 pulsar-io/debezium/mongodb/src/main/java/org/apache/pulsar/io/debezium/mongodb/DebeziumMongoDbSource.java
 copy .asf.yaml => pulsar-io/debezium/mongodb/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 copy .asf.yaml => pulsar-io/debezium/mongodb/src/main/resources/debezium-mongodb-source-config.yaml (58%)
 create mode 100644 pulsar-io/debezium/mysql/pom.xml
 create mode 100644 pulsar-io/debezium/mysql/src/main/java/org/apache/pulsar/io/debezium/mysql/DebeziumMysqlSource.java
 copy .asf.yaml => pulsar-io/debezium/mysql/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 copy .asf.yaml => pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml (54%)
 create mode 100644 pulsar-io/debezium/pom.xml
 create mode 100644 pulsar-io/debezium/postgres/pom.xml
 create mode 100644 pulsar-io/debezium/postgres/src/main/java/org/apache/pulsar/io/debezium/postgres/DebeziumPostgresSource.java
 copy .asf.yaml => pulsar-io/debezium/postgres/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 copy .asf.yaml => pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml (58%)
 create mode 100644 pulsar-io/docs/pom.xml
 create mode 100644 pulsar-io/docs/src/main/java/org/apache/pulsar/io/docs/ConnectorDocGenerator.java
 create mode 100644 pulsar-io/dynamodb/pom.xml
 create mode 100644 pulsar-io/dynamodb/src/main/java/org/apache/pulsar/io/dynamodb/DynamoDBSource.java
 create mode 100644 pulsar-io/dynamodb/src/main/java/org/apache/pulsar/io/dynamodb/DynamoDBSourceConfig.java
 create mode 100644 pulsar-io/dynamodb/src/main/java/org/apache/pulsar/io/dynamodb/StreamsRecord.java
 create mode 100644 pulsar-io/dynamodb/src/main/java/org/apache/pulsar/io/dynamodb/StreamsRecordProcessor.java
 create mode 100644 pulsar-io/dynamodb/src/main/java/org/apache/pulsar/io/dynamodb/StreamsRecordProcessorFactory.java
 copy .asf.yaml => pulsar-io/dynamodb/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/dynamodb/src/test/java/org/apache/pulsar/io/dynamodb/DynamoDBSourceConfigTests.java
 copy .asf.yaml => pulsar-io/dynamodb/src/test/resources/sourceConfig.yaml (58%)
 create mode 100644 pulsar-io/elastic-search/pom.xml
 create mode 100644 pulsar-io/elastic-search/src/main/java/org/apache/pulsar/io/elasticsearch/ElasticSearchConfig.java
 create mode 100644 pulsar-io/elastic-search/src/main/java/org/apache/pulsar/io/elasticsearch/ElasticSearchSink.java
 create mode 100644 pulsar-io/elastic-search/src/main/java/org/apache/pulsar/io/elasticsearch/package-info.java
 copy .asf.yaml => pulsar-io/elastic-search/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/elastic-search/src/test/java/org/apache/pulsar/io/elasticsearch/ElasticSearchConfigTests.java
 create mode 100644 pulsar-io/elastic-search/src/test/java/org/apache/pulsar/io/elasticsearch/ElasticSearchSinkTests.java
 create mode 100644 pulsar-io/elastic-search/src/test/java/org/apache/pulsar/io/elasticsearch/data/Profile.java
 create mode 100644 pulsar-io/elastic-search/src/test/java/org/apache/pulsar/io/elasticsearch/data/UserProfile.java
 copy .asf.yaml => pulsar-io/elastic-search/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/file/pom.xml
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/FileConsumerThread.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/FileListingThread.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/FileRecord.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/FileSource.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/FileSourceConfig.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/ProcessedFileThread.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/package-info.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/utils/GZipFiles.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/utils/ZipFiles.java
 create mode 100644 pulsar-io/file/src/main/java/org/apache/pulsar/io/file/utils/package-info.java
 copy .asf.yaml => pulsar-io/file/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/AbstractFileTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/FileConsumerThreadTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/FileListingThreadTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/FileSourceConfigTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/ProcessedFileThreadTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/TestFileGenerator.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/utils/GZipFilesTests.java
 create mode 100644 pulsar-io/file/src/test/java/org/apache/pulsar/io/file/utils/ZipFilesTests.java
 create mode 100644 pulsar-io/file/src/test/resources/org/apache/pulsar/io/file/mislabelled.gz
 copy .asf.yaml => pulsar-io/file/src/test/resources/org/apache/pulsar/io/file/nonGzipFile.txt (58%)
 create mode 100644 pulsar-io/file/src/test/resources/org/apache/pulsar/io/file/validGzip.gz
 create mode 100644 pulsar-io/file/src/test/resources/org/apache/pulsar/io/file/validZip.zip
 copy .asf.yaml => pulsar-io/file/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/flume/pom.xml
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/FlumeConfig.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/FlumeConnector.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/AbstractConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/AbstractZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/Application.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/ConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/EnvVarResolverProperties.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/MaterializedConfiguration.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/PollingPropertiesFileConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/PollingZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/PropertiesFileConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/SimpleMaterializedConfiguration.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/StaticZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/sink/AbstractSink.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/sink/SourceOfFlume.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/sink/StringSink.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/source/AbstractSinkOfFlume.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/source/AbstractSource.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/source/SinkOfFlume.java
 create mode 100644 pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/source/StringSource.java
 copy .asf.yaml => pulsar-io/flume/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 copy .asf.yaml => pulsar-io/flume/src/main/resources/flume/flume-io-sink.yaml (58%)
 copy .asf.yaml => pulsar-io/flume/src/main/resources/flume/flume-io-source.yaml (58%)
 copy .asf.yaml => pulsar-io/flume/src/main/resources/flume/sink.conf (57%)
 copy .asf.yaml => pulsar-io/flume/src/main/resources/flume/source.conf (57%)
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/AbstractFlumeTests.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestAbstractConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestAbstractZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestApplication.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestEnvVarResolverProperties.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestPollingPropertiesFileConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestPollingZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestPropertiesFileConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/node/TestStaticZooKeeperConfigurationProvider.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/sink/StringSinkTests.java
 create mode 100644 pulsar-io/flume/src/test/java/org/apache/pulsar/io/flume/source/StringSourceTests.java
 copy .asf.yaml => pulsar-io/flume/src/test/resources/flume-conf-with-envvars.properties (58%)
 create mode 100644 pulsar-io/flume/src/test/resources/flume-conf.properties
 create mode 100755 pulsar-io/flume/src/test/resources/flume-conf.properties.2786
 copy .asf.yaml => pulsar-io/flume/src/test/resources/flume/sink.conf (57%)
 copy .asf.yaml => pulsar-io/flume/src/test/resources/flume/source.conf (57%)
 copy .asf.yaml => pulsar-io/flume/src/test/resources/log4j.properties (58%)
 create mode 100644 pulsar-io/hbase/pom.xml
 create mode 100644 pulsar-io/hbase/src/main/java/org/apache/pulsar/io/hbase/HbaseAbstractConfig.java
 create mode 100644 pulsar-io/hbase/src/main/java/org/apache/pulsar/io/hbase/sink/HbaseAbstractSink.java
 create mode 100644 pulsar-io/hbase/src/main/java/org/apache/pulsar/io/hbase/sink/HbaseGenericRecordSink.java
 create mode 100644 pulsar-io/hbase/src/main/java/org/apache/pulsar/io/hbase/sink/HbaseSinkConfig.java
 copy .asf.yaml => pulsar-io/hbase/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/hbase/src/test/java/org/apache/pulsar/io/hbase/TableUtils.java
 create mode 100644 pulsar-io/hbase/src/test/java/org/apache/pulsar/io/hbase/sink/HbaseGenericRecordSinkTest.java
 create mode 100644 pulsar-io/hbase/src/test/java/org/apache/pulsar/io/hbase/sink/HbaseSinkConfigTest.java
 create mode 100644 pulsar-io/hbase/src/test/resources/hbase/hbase-site.xml
 copy .asf.yaml => pulsar-io/hbase/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/hdfs2/pom.xml
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/AbstractHdfsConfig.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/AbstractHdfsConnector.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/Compression.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/HdfsResources.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/SecurityUtil.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/package-info.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/HdfsAbstractSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/HdfsSinkConfig.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/HdfsSyncThread.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/package-info.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/seq/HdfsAbstractSequenceFileSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/seq/HdfsSequentialTextSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/seq/HdfsTextSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/seq/package-info.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/text/HdfsAbstractTextFileSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/text/HdfsStringSink.java
 create mode 100644 pulsar-io/hdfs2/src/main/java/org/apache/pulsar/io/hdfs2/sink/text/package-info.java
 copy .asf.yaml => pulsar-io/hdfs2/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/hdfs2/src/test/java/org/apache/pulsar/io/hdfs2/sink/AbstractHdfsSinkTest.java
 create mode 100644 pulsar-io/hdfs2/src/test/java/org/apache/pulsar/io/hdfs2/sink/HdfsSinkConfigTests.java
 create mode 100644 pulsar-io/hdfs2/src/test/java/org/apache/pulsar/io/hdfs2/sink/seq/HdfsSequentialSinkTests.java
 create mode 100644 pulsar-io/hdfs2/src/test/java/org/apache/pulsar/io/hdfs2/sink/seq/HdfsTextSinkTests.java
 create mode 100644 pulsar-io/hdfs2/src/test/java/org/apache/pulsar/io/hdfs2/sink/text/HdfsStringSinkTests.java
 create mode 100644 pulsar-io/hdfs2/src/test/resources/hadoop/core-site.xml
 create mode 100644 pulsar-io/hdfs2/src/test/resources/hadoop/hdfs-site.xml
 copy .asf.yaml => pulsar-io/hdfs2/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/hdfs3/pom.xml
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/AbstractHdfsConfig.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/AbstractHdfsConnector.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/Compression.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/HdfsResources.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/SecurityUtil.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/package-info.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/HdfsAbstractSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/HdfsSinkConfig.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/HdfsSyncThread.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/package-info.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/seq/HdfsAbstractSequenceFileSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/seq/HdfsSequentialTextSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/seq/HdfsTextSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/seq/package-info.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/text/HdfsAbstractTextFileSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/text/HdfsStringSink.java
 create mode 100644 pulsar-io/hdfs3/src/main/java/org/apache/pulsar/io/hdfs3/sink/text/package-info.java
 copy .asf.yaml => pulsar-io/hdfs3/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/hdfs3/src/test/java/org/apache/pulsar/io/hdfs3/sink/AbstractHdfsSinkTest.java
 create mode 100644 pulsar-io/hdfs3/src/test/java/org/apache/pulsar/io/hdfs3/sink/HdfsSinkConfigTests.java
 create mode 100644 pulsar-io/hdfs3/src/test/java/org/apache/pulsar/io/hdfs3/sink/seq/HdfsSequentialSinkTests.java
 create mode 100644 pulsar-io/hdfs3/src/test/java/org/apache/pulsar/io/hdfs3/sink/seq/HdfsTextSinkTests.java
 create mode 100644 pulsar-io/hdfs3/src/test/java/org/apache/pulsar/io/hdfs3/sink/text/HdfsStringSinkTests.java
 create mode 100644 pulsar-io/hdfs3/src/test/resources/hadoop/core-site.xml
 create mode 100644 pulsar-io/hdfs3/src/test/resources/hadoop/hdfs-site.xml
 copy .asf.yaml => pulsar-io/hdfs3/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/influxdb/pom.xml
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/BatchSink.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/InfluxDBGenericRecordSink.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v1/InfluxDBAbstractSink.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v1/InfluxDBBuilder.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v1/InfluxDBBuilderImpl.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v1/InfluxDBGenericRecordSink.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v1/InfluxDBSinkConfig.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v2/InfluxDBClientBuilder.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v2/InfluxDBClientBuilderImpl.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v2/InfluxDBSink.java
 create mode 100644 pulsar-io/influxdb/src/main/java/org/apache/pulsar/io/influxdb/v2/InfluxDBSinkConfig.java
 copy .asf.yaml => pulsar-io/influxdb/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/influxdb/src/test/java/org/apache/pulsar/io/influxdb/InfluxDBGenericRecordSinkTest.java
 create mode 100644 pulsar-io/influxdb/src/test/java/org/apache/pulsar/io/influxdb/v1/InfluxDBGenericRecordSinkTest.java
 create mode 100644 pulsar-io/influxdb/src/test/java/org/apache/pulsar/io/influxdb/v1/InfluxDBSinkConfigTest.java
 create mode 100644 pulsar-io/influxdb/src/test/java/org/apache/pulsar/io/influxdb/v2/InfluxDBSinkConfigTest.java
 create mode 100644 pulsar-io/influxdb/src/test/java/org/apache/pulsar/io/influxdb/v2/InfluxDBSinkTest.java
 copy .asf.yaml => pulsar-io/influxdb/src/test/resources/sinkConfig-v1.yaml (58%)
 copy .asf.yaml => pulsar-io/influxdb/src/test/resources/sinkConfig-v2.yaml (60%)
 create mode 100644 pulsar-io/jdbc/clickhouse/pom.xml
 create mode 100644 pulsar-io/jdbc/clickhouse/src/main/java/org/apache/pulsar/io/jdbc/ClickHouseJdbcAutoSchemaSink.java
 copy .asf.yaml => pulsar-io/jdbc/clickhouse/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/jdbc/core/pom.xml
 create mode 100644 pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/BaseJdbcAutoSchemaSink.java
 create mode 100644 pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcAbstractSink.java
 create mode 100644 pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcDriverType.java
 create mode 100644 pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcSinkConfig.java
 create mode 100644 pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcUtils.java
 copy .asf.yaml => pulsar-io/jdbc/lombok.config (58%)
 create mode 100644 pulsar-io/jdbc/mariadb/pom.xml
 create mode 100644 pulsar-io/jdbc/mariadb/src/main/java/org/apache/pulsar/io/jdbc/MariadbJdbcAutoSchemaSink.java
 copy .asf.yaml => pulsar-io/jdbc/mariadb/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/jdbc/pom.xml
 create mode 100644 pulsar-io/jdbc/postgres/pom.xml
 create mode 100644 pulsar-io/jdbc/postgres/src/main/java/org/apache/pulsar/io/jdbc/PostgresJdbcAutoSchemaSink.java
 copy .asf.yaml => pulsar-io/jdbc/postgres/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/jdbc/sqlite/pom.xml
 create mode 100644 pulsar-io/jdbc/sqlite/src/main/java/org/apache/pulsar/io/jdbc/SqliteJdbcAutoSchemaSink.java
 copy .asf.yaml => pulsar-io/jdbc/sqlite/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/jdbc/sqlite/src/test/java/org/apache/pulsar/io/jdbc/JdbcUtilsTest.java
 create mode 100644 pulsar-io/jdbc/sqlite/src/test/java/org/apache/pulsar/io/jdbc/SqliteJdbcSinkTest.java
 create mode 100644 pulsar-io/jdbc/sqlite/src/test/java/org/apache/pulsar/io/jdbc/SqliteUtils.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/pom.xml
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/AbstractKafkaConnectSource.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/KafkaConnectSource.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/PulsarIOSourceTaskContext.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/PulsarKafkaWorkerConfig.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/PulsarOffsetBackingStore.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/main/java/org/apache/pulsar/io/kafka/connect/schema/KafkaSchemaWrappedSchema.java
 copy .asf.yaml => pulsar-io/kafka-connect-adaptor/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/test/java/org/apache/pulsar/io/kafka/connect/KafkaConnectSourceTest.java
 create mode 100644 pulsar-io/kafka-connect-adaptor/src/test/java/org/apache/pulsar/io/kafka/connect/PulsarOffsetBackingStoreTest.java
 create mode 100644 pulsar-io/kafka/pom.xml
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaAbstractSink.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaAbstractSource.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaBytesSink.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaBytesSource.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaSinkConfig.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaSourceConfig.java
 create mode 100644 pulsar-io/kafka/src/main/java/org/apache/pulsar/io/kafka/KafkaStringSource.java
 copy .asf.yaml => pulsar-io/kafka/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/kafka/src/test/java/org/apache/pulsar/io/kafka/sink/KafkaAbstractSinkTest.java
 create mode 100644 pulsar-io/kafka/src/test/java/org/apache/pulsar/io/kafka/source/KafkaAbstractSourceTest.java
 copy .asf.yaml => pulsar-io/kafka/src/test/resources/kafkaSinkConfig.yaml (58%)
 copy .asf.yaml => pulsar-io/kafka/src/test/resources/kafkaSourceConfig.yaml (58%)
 create mode 100644 pulsar-io/kinesis/pom.xml
 create mode 100644 pulsar-io/kinesis/src/main/fb/KinesisMessageApi.fbs
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/AwsCredentialProviderPlugin.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/AwsDefaultProviderChainPlugin.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/BaseKinesisConfig.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisRecord.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisRecordProcessor.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisRecordProcessorFactory.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisSink.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisSinkConfig.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisSource.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/KinesisSourceConfig.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/STSAssumeRoleProviderPlugin.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/Utils.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/fbs/CompressionType.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionCtx.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/fbs/EncryptionKey.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/fbs/KeyValue.java
 create mode 100644 pulsar-io/kinesis/src/main/java/org/apache/pulsar/io/kinesis/fbs/Message.java
 copy .asf.yaml => pulsar-io/kinesis/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/kinesis/src/test/java/org/apache/pulsar/io/kinesis/KinesisSinkConfigTests.java
 create mode 100644 pulsar-io/kinesis/src/test/java/org/apache/pulsar/io/kinesis/KinesisSinkTest.java
 create mode 100644 pulsar-io/kinesis/src/test/java/org/apache/pulsar/io/kinesis/KinesisSourceConfigTests.java
 create mode 100644 pulsar-io/kinesis/src/test/java/org/apache/pulsar/io/kinesis/UtilsTest.java
 copy .asf.yaml => pulsar-io/kinesis/src/test/resources/sinkConfig.yaml (58%)
 copy .asf.yaml => pulsar-io/kinesis/src/test/resources/sourceConfig.yaml (58%)
 create mode 100644 pulsar-io/mongo/pom.xml
 create mode 100644 pulsar-io/mongo/src/main/java/org/apache/pulsar/io/mongodb/MongoConfig.java
 create mode 100644 pulsar-io/mongo/src/main/java/org/apache/pulsar/io/mongodb/MongoSink.java
 create mode 100644 pulsar-io/mongo/src/main/java/org/apache/pulsar/io/mongodb/MongoSource.java
 create mode 100644 pulsar-io/mongo/src/main/java/org/apache/pulsar/io/mongodb/package-info.java
 copy .asf.yaml => pulsar-io/mongo/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/mongo/src/test/java/org/apache/pulsar/io/mongodb/MongoConfigTest.java
 create mode 100644 pulsar-io/mongo/src/test/java/org/apache/pulsar/io/mongodb/MongoSinkTest.java
 create mode 100644 pulsar-io/mongo/src/test/java/org/apache/pulsar/io/mongodb/MongoSourceTest.java
 create mode 100644 pulsar-io/mongo/src/test/java/org/apache/pulsar/io/mongodb/TestHelper.java
 copy .asf.yaml => pulsar-io/mongo/src/test/resources/mongoSinkConfig.yaml (58%)
 create mode 100644 pulsar-io/netty/pom.xml
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/NettySource.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/NettySourceConfig.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/http/NettyHttpChannelInitializer.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/http/NettyHttpServerHandler.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/http/package-info.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/package-info.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/server/NettyServer.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/server/package-info.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/tcp/NettyTCPChannelInitializer.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/tcp/NettyTCPServerHandler.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/tcp/package-info.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/udp/NettyUDPChannelInitializer.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/udp/NettyUDPServerHandler.java
 create mode 100644 pulsar-io/netty/src/main/java/org/apache/pulsar/io/netty/udp/package-info.java
 create mode 100644 pulsar-io/netty/src/main/java/package-info.java
 copy .asf.yaml => pulsar-io/netty/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/netty/src/test/java/org/apache/pulsar/io/netty/NettySourceConfigTest.java
 create mode 100644 pulsar-io/netty/src/test/java/org/apache/pulsar/io/netty/http/NettyHttpChannelInitializerTest.java
 create mode 100644 pulsar-io/netty/src/test/java/org/apache/pulsar/io/netty/server/NettyServerTest.java
 create mode 100644 pulsar-io/netty/src/test/java/org/apache/pulsar/io/netty/tcp/NettyTCPChannelInitializerTest.java
 create mode 100644 pulsar-io/netty/src/test/java/org/apache/pulsar/io/netty/udp/NettyUDPChannelInitializerTest.java
 copy .asf.yaml => pulsar-io/netty/src/test/resources/nettySourceConfig.yaml (58%)
 copy .asf.yaml => pulsar-io/netty/src/test/resources/nettySourceConfigWithInvalidProperty.yaml (58%)
 create mode 100644 pulsar-io/pom.xml
 create mode 100644 pulsar-io/rabbitmq/pom.xml
 create mode 100644 pulsar-io/rabbitmq/src/main/java/org/apache/pulsar/io/rabbitmq/RabbitMQAbstractConfig.java
 create mode 100644 pulsar-io/rabbitmq/src/main/java/org/apache/pulsar/io/rabbitmq/RabbitMQSink.java
 create mode 100644 pulsar-io/rabbitmq/src/main/java/org/apache/pulsar/io/rabbitmq/RabbitMQSinkConfig.java
 create mode 100644 pulsar-io/rabbitmq/src/main/java/org/apache/pulsar/io/rabbitmq/RabbitMQSource.java
 create mode 100644 pulsar-io/rabbitmq/src/main/java/org/apache/pulsar/io/rabbitmq/RabbitMQSourceConfig.java
 copy .asf.yaml => pulsar-io/rabbitmq/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/rabbitmq/src/test/java/org/apache/pulsar/io/rabbitmq/RabbitMQBrokerManager.java
 create mode 100644 pulsar-io/rabbitmq/src/test/java/org/apache/pulsar/io/rabbitmq/sink/RabbitMQSinkConfigTest.java
 create mode 100644 pulsar-io/rabbitmq/src/test/java/org/apache/pulsar/io/rabbitmq/sink/RabbitMQSinkTest.java
 create mode 100644 pulsar-io/rabbitmq/src/test/java/org/apache/pulsar/io/rabbitmq/source/RabbitMQSourceConfigTest.java
 create mode 100644 pulsar-io/rabbitmq/src/test/java/org/apache/pulsar/io/rabbitmq/source/RabbitMQSourceTest.java
 create mode 100644 pulsar-io/rabbitmq/src/test/resources/qpid.json
 copy .asf.yaml => pulsar-io/rabbitmq/src/test/resources/sinkConfig.yaml (58%)
 copy .asf.yaml => pulsar-io/rabbitmq/src/test/resources/sourceConfig.yaml (58%)
 create mode 100644 pulsar-io/redis/pom.xml
 create mode 100644 pulsar-io/redis/src/main/java/org/apache/pulsar/io/redis/RedisAbstractConfig.java
 create mode 100644 pulsar-io/redis/src/main/java/org/apache/pulsar/io/redis/RedisSession.java
 create mode 100644 pulsar-io/redis/src/main/java/org/apache/pulsar/io/redis/sink/RedisSink.java
 create mode 100644 pulsar-io/redis/src/main/java/org/apache/pulsar/io/redis/sink/RedisSinkConfig.java
 copy .asf.yaml => pulsar-io/redis/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/redis/src/test/java/org/apache/pulsar/io/redis/EmbeddedRedisUtils.java
 create mode 100644 pulsar-io/redis/src/test/java/org/apache/pulsar/io/redis/sink/RedisSinkConfigTest.java
 create mode 100644 pulsar-io/redis/src/test/java/org/apache/pulsar/io/redis/sink/RedisSinkTest.java
 copy .asf.yaml => pulsar-io/redis/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/solr/pom.xml
 create mode 100644 pulsar-io/solr/src/main/java/org/apache/pulsar/io/solr/SolrAbstractSink.java
 create mode 100644 pulsar-io/solr/src/main/java/org/apache/pulsar/io/solr/SolrGenericRecordSink.java
 create mode 100644 pulsar-io/solr/src/main/java/org/apache/pulsar/io/solr/SolrSinkConfig.java
 copy .asf.yaml => pulsar-io/solr/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/solr/src/test/java/org/apache/pulsar/io/solr/SolrGenericRecordSinkTest.java
 create mode 100644 pulsar-io/solr/src/test/java/org/apache/pulsar/io/solr/SolrServerUtil.java
 create mode 100644 pulsar-io/solr/src/test/java/org/apache/pulsar/io/solr/SolrSinkConfigTest.java
 copy .asf.yaml => pulsar-io/solr/src/test/resources/sinkConfig.yaml (58%)
 create mode 100644 pulsar-io/solr/src/test/resources/solr.xml
 create mode 100644 pulsar-io/twitter/pom.xml
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHose.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHoseConfig.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/data/TweetData.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/data/TwitterRecord.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/data/package-info.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/endpoint/SampleStatusesEndpoint.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/endpoint/package-info.java
 create mode 100644 pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/package-info.java
 copy .asf.yaml => pulsar-io/twitter/src/main/resources/META-INF/services/pulsar-io.yaml (58%)
 create mode 100644 pulsar-io/twitter/src/test/java/org/apache/pulsar/io/twitter/TwitterFireHoseConfigTests.java
 rename .asf.yaml => pulsar-io/twitter/src/test/resources/sourceConfig.yaml (58%)