This is an automated email from the ASF dual-hosted git repository. mmerli pushed a change to branch branch-2.3 in repository https://gitbox.apache.org/repos/asf/pulsar.git.
from 52fc45e Release 2.3.0 new c579954 fix: add retry and wait for kubernetes creation/deletion (#3603) new 10bef5a adding memory padding to memory limits set in Kubernetes (#3616) new a1598fe fix bug in kubenetes runtime (#3617) new 0d5ef2d Fixed C++ batch acks tracker to evict message from sendList array (#3618) new bba37bc Use default queue size in function producer (#3619) new 0b95393 Link wwrapper with pytho libs on MacOS (#3626) new b1add23 set functions config to me uniform (#3629) new 4e9a4a4 Support graceful shutdown Kubernetes (#3628) new d270056 [distribution] remove pulsar-io-debezium nar package (#3656) new 40a3aaf Fixed conversion of unix timestamp to golang time (#3659) new 043f32f [Issue 3409] Support '--help' option of Pulsar command-line tools (#3410) new ed2c899 fix context publish signature (#3669) new 22c21ae When linking statically a the Python wrapper on Macos, also include libicu (#3647) new d3e17f4 [pulsar-broker] redelivery tracker use open hashmap (#3585) new ec850a7 In C++ allow messages that compress to <5mb to be sent with batching enabled (#3673) new ca070a4 report sys errors when failed to produce successfully (#3668) new 3a3966c package windowing code with function instance (#3638) new 745f7d0 fix: non-batched messages cause sql query to fail (#3684) new d97c94d Added a flush method for python producer (#3685) new 1cfbfe8 [pulsar-broker] fix: npe while acking message (#3687) new de4bbe8 [pulsar-admin-cli] add tls-trust-cert-path option to cli input (#3709) new 5746db9 When the loadmanager leader is not available, fall through regular least loaded selection (#3688) new 1467937 fix pulsar_message_set_replication_clusters (#3729) new 2f42dfd Adjust the serving threads to have a minimum of threads (#3698) new a7223fc Fail the source record if the write fails (#3706) new 8aa63aa On publish failures, log error and count them as sys exceptions (#3704) new 0dba803 Simplified the workflow of functionruntime manager (#3551) new 5d52ccb fix function termination cleanup (#3751) new 4d4df38 On shutdown, kill the function instance thread after interrupt attempt (#3749) new 1e344e0 Retry creation of assignment topic a few times before giving up (#3722) new 49baf5d Use at least 8 threads in Jetty thread pool (#3776) new 52db989 Allow users to update everything in inputspecs except for isregexpattern (#3770) new 253381c Expose Secrets in Source/SinkContext (#3717) new cc638d3 [java client] Bugfix prevent dup consumers for same topic subscribe (#3746) new 36362ad Fixed Reader.HasNext() in Go client (#3764) new f46bed7 propagate default resource values in Pulsar Functions (#3636) new 84dba37 fix: function config cleanupSubscription update bug (#3771) new 399b6da Report direct memory used in Proxy to prometheus (#3721) new 7f6d36d Fixed increasing consumer permits after ack dedup operation (#3787) new 2d924ab Set the dedup cursor as "inactive" after recovery (#3612) new 15d2c3c Make Python consumers acks async (#3782) new 01f868c NullPointerException at using BytesSchema.of() (#3754) new 18aa430 [python client] set protobuf version to be larger than 3.6.0 (#3737) new 449f2f5 [pulsar-webscoket] avoid creating temp list of metrics on every-metrics generator (#3792) new e190534 Feature - implement reference count for ConsumerImpl (#3795) new e091a9b Issue #3803: Make ManagedLedger read batch size configurable (#3808) new b725d87 In Java allow messages that compress to <5mb to be sent with batching enabled (#3718) new 9355a19 Implement configurable token auth claim (#3826) new d131a2b fix message_id_serialize to empty slice (#3801) new c6aa56f [cpp client] Bugfix prevent dup consumer for same topic subscription (#3748) new e88fed4 Use correct number of messages in batch for publish rate stats during replication (#3834) new b6c767e Expand add env functionality to add variables if not present (#3827) new 780ba31 Use `PULSAR_PREFIX_` for appending new keys (#3858) new 5e79dd4 [stats] Expose namespace topics count when exposing topic level metrics (#3849) new 9160c14 Fix set-project-version.sh (#3847) new 709d49b [pulsar-client] Fix pulsar-cpp crash on lookup timeout (#3862) new eb96f93 fix s3 spport for s3 api (#3845) new 89e3410 [schema] Introduce multi version generic record schema (#3670) new f458ec3 [schema] Introduce schema builder to build schema. (#3682) new ad888f1 [schema] Introduce `GenericSchema` interface (#3683) new f1f781b [schema] use UTF_8 for storing schema information (#3666) new 41d0979 Support passing schema definition for JSON and AVRO schemas (#3766) new 6e76af2 revise the schema default type not null (#3752) new c078e71 [Issue #3712][python-client] exposing InitialPosition management in the ConsumerConfiguration. (#3714) new 95b4414 Fix the loop of consumer poll, so the consumer can cache more than one record in signal poll. (#3852) new ede6f6e [Issue 3806] Fix NPE while call PartitionedProducerImpl.getStats() (#3829) new a76222f [pulsar-broker] Fix deadlock: add zk-operation timeout for blocking call on zk-cache (#3633) new 8e3f014 Fix read batching message by pulsar reader (#3830) new c216dc0 Fixed reading from file with newlines (#3864) new fa3bc7e Enable generation of swagger definitions for functions/sources/sinks (#3871) new 0e378dc Add ability to specify runtime flags in functions/sources/sinks (#3872) new a9c4738 Added sensitive annotations (#3866) new 3bfc264 [Issue 3896] [pulsar-io] Fix NPE in ElasticSearchSink (#3899) new e800273 [schema] Batch message should propagate the schema version from single message (#3870) new 0bc17d1 Logical type use (#3900) new 5f3f5cf [cpp client] implement reference count for close() (#3863) new ee76078 Fix: unloading namespace logging (#3920) new ec3d635 Include java-xmlbuilder in tiered-storage-jcloud NAR (#3928) (#3929) new a465530 Fix source/sink creation to use JSON config values. (#3922) new d1c17cd Cleanup logic in JavaInstanceRunnable close method (#3932) new 4959f51 Classloader choice for validating Source/Sink (#3865) new 2fecbd6 [pulsar-client] add Date/Time/Timestamp schema (#3856) new ea94ba0 [schema] store schema type correctly in schema registry (#3940) new 3418de9 Fixed manual offloading when the last ledger is empty (#3913) new e077374 Added ability to specify consumer queue size for function input topics (#3608) new cbd2f64 Upgrade third party libraries with security vulnerabilities (#3938) The 2978 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: .gitignore | 1 + bin/bookkeeper | 2 +- bin/pulsar | 2 +- bin/pulsar-daemon | 13 +- bin/pulsar-perf | 6 +- conf/broker.conf | 19 +- conf/functions_worker.yml | 2 + conf/proxy.conf | 4 +- conf/standalone.conf | 9 + distribution/io/src/assemble/io.xml | 1 - distribution/server/src/assemble/LICENSE.bin.txt | 23 +- docker/pulsar/scripts/apply-config-from-env.py | 13 + .../apache/bookkeeper/mledger/ManagedCursor.java | 6 + .../bookkeeper/mledger/impl/ManagedCursorImpl.java | 12 +- .../bookkeeper/mledger/impl/ManagedLedgerImpl.java | 25 +- .../mledger/impl/ManagedCursorContainerTest.java | 4 + .../bookkeeper/mledger/impl/ManagedCursorTest.java | 15 + .../bookkeeper/mledger/impl/OffloadPrefixTest.java | 43 ++ pom.xml | 5 +- .../apache/pulsar/broker/ServiceConfiguration.java | 35 +- .../AuthenticationProviderToken.java | 16 +- .../broker/authorization/AuthorizationService.java | 17 +- .../AuthenticationProviderTokenTest.java | 51 +++ pulsar-broker/pom.xml | 59 ++- .../pulsar/broker/BookKeeperClientFactoryImpl.java | 4 +- .../org/apache/pulsar/broker/PulsarService.java | 6 +- .../pulsar/broker/admin/impl/NamespacesBase.java | 2 +- .../broker/admin/impl/PersistentTopicsBase.java | 4 +- .../apache/pulsar/broker/admin/v2/Functions.java | 2 +- .../apache/pulsar/broker/admin/v3/Functions.java | 2 +- .../org/apache/pulsar/broker/admin/v3/Sink.java | 2 +- .../org/apache/pulsar/broker/admin/v3/Source.java | 2 +- .../broker/loadbalance/LeaderElectionService.java | 17 + .../pulsar/broker/namespace/NamespaceService.java | 28 +- .../org/apache/pulsar/broker/service/Consumer.java | 7 +- .../broker/service/InMemoryRedeliveryTracker.java | 25 +- .../pulsar/broker/service/RedeliveryTracker.java | 4 +- .../broker/service/RedeliveryTrackerDisabled.java | 4 +- .../apache/pulsar/broker/service/ServerCnx.java | 19 +- .../service/persistent/CompactorSubscription.java | 3 + .../service/persistent/DispatchRateLimiter.java | 3 +- .../service/persistent/MessageDeduplication.java | 22 +- .../PersistentDispatcherMultipleConsumers.java | 15 +- .../PersistentDispatcherSingleActiveConsumer.java | 9 +- .../service/persistent/PersistentReplicator.java | 13 +- .../broker/service/persistent/PersistentTopic.java | 15 +- .../service/persistent/SubscribeRateLimiter.java | 1 - .../service/schema/SchemaRegistryServiceImpl.java | 33 +- .../stats/prometheus/NamespaceStatsAggregator.java | 11 + .../pulsar/broker/web/PulsarWebResource.java | 6 +- .../src/main/proto/SchemaRegistryFormat.proto | 11 + .../broker/cache/ResourceQuotaCacheTest.java | 2 +- .../broker/namespace/OwnershipCacheTest.java | 2 +- .../PersistentDispatcherFailoverConsumerTest.java | 5 + .../pulsar/broker/service/PersistentTopicTest.java | 5 + .../pulsar/broker/service/ServerCnxTest.java | 4 + .../broker/service/schema/ClientGetSchemaTest.java | 8 + .../schema/JsonSchemaCompatibilityCheckTest.java | 5 +- .../client/api/SimpleProducerConsumerTest.java | 103 ++++- .../api/SimpleTypedProducerConsumerTest.java | 28 +- .../client/api/v1/V1_ProducerConsumerTest.java | 75 ---- .../client/impl/ConsumerDedupPermitsUpdate.java | 124 ++++++ .../org/apache/pulsar/client/impl/ReaderTest.java | 115 +++++ .../apache/pulsar/io/PulsarFunctionE2ETest.java | 84 +++- .../java/org/apache/pulsar/client/api/Schema.java | 148 ++++++- .../client/api/schema/FieldSchemaBuilder.java | 86 ++++ .../pulsar/client/api/schema/GenericRecord.java | 7 + .../pulsar/client/api/schema/GenericSchema.java | 18 +- ...GenericRecord.java => RecordSchemaBuilder.java} | 40 +- .../api/schema/{Field.java => SchemaBuilder.java} | 27 +- .../{GenericRecord.java => SchemaDefinition.java} | 47 +- .../client/api/schema/SchemaDefinitionBuilder.java | 81 ++++ .../client/internal/DefaultImplementation.java | 120 ++++- .../apache/pulsar/common/schema/SchemaType.java | 123 ++++-- pulsar-client-cpp/docker/Dockerfile | 3 + pulsar-client-cpp/include/pulsar/c/message.h | 4 +- .../lib/BatchAcknowledgementTracker.cc | 13 +- pulsar-client-cpp/lib/BatchMessageContainer.cc | 8 + pulsar-client-cpp/lib/ClientConnection.cc | 2 +- pulsar-client-cpp/lib/ClientImpl.cc | 4 +- pulsar-client-cpp/lib/ConsumerImpl.cc | 24 +- pulsar-client-cpp/lib/ConsumerImpl.h | 11 +- pulsar-client-cpp/lib/ConsumerImplBase.h | 1 + pulsar-client-cpp/lib/ProducerImpl.cc | 13 +- pulsar-client-cpp/lib/Reader.cc | 6 +- pulsar-client-cpp/lib/c/c_Message.cc | 8 +- pulsar-client-cpp/lib/c/c_MessageId.cc | 1 + pulsar-client-cpp/python/CMakeLists.txt | 13 +- pulsar-client-cpp/python/pulsar/__init__.py | 20 +- .../python/pulsar/functions/context.py | 2 +- pulsar-client-cpp/python/pulsar_test.py | 34 +- pulsar-client-cpp/python/setup.py | 2 +- pulsar-client-cpp/python/src/config.cc | 2 + pulsar-client-cpp/python/src/consumer.cc | 28 +- pulsar-client-cpp/python/src/enums.cc | 4 + pulsar-client-cpp/python/src/producer.cc | 12 + pulsar-client-cpp/python/test_producer.py | 1 + pulsar-client-cpp/tests/BasicEndToEndTest.cc | 77 +++- pulsar-client-go/pulsar/c_message.go | 9 +- pulsar-client-go/pulsar/consumer_test.go | 15 +- pulsar-client-go/pulsar/reader_test.go | 44 ++ .../clients/consumer/PulsarKafkaConsumer.java | 2 +- .../java/org/apache/pulsar/admin/cli/CmdSinks.java | 2 +- .../org/apache/pulsar/admin/cli/CmdSources.java | 3 +- .../apache/pulsar/admin/cli/PulsarAdminTool.java | 10 +- .../org/apache/pulsar/admin/cli/TestCmdSinks.java | 2 +- .../apache/pulsar/admin/cli/TestCmdSources.java | 2 +- pulsar-client/pom.xml | 29 +- .../pulsar/client/impl/BatchMessageContainer.java | 2 +- .../apache/pulsar/client/impl/ConsumerBase.java | 17 +- .../apache/pulsar/client/impl/ConsumerImpl.java | 53 ++- .../client/impl/ConsumerStatsRecorderImpl.java | 20 +- .../org/apache/pulsar/client/impl/MessageImpl.java | 16 +- .../apache/pulsar/client/impl/ProducerImpl.java | 53 ++- .../client/impl/ProducerStatsRecorderImpl.java | 18 +- .../pulsar/client/impl/PulsarClientImpl.java | 20 +- .../client/impl/auth/AuthenticationToken.java | 2 +- .../client/impl/schema/AutoConsumeSchema.java | 16 +- .../client/impl/schema/AutoProduceBytesSchema.java | 4 +- .../pulsar/client/impl/schema/AvroSchema.java | 60 ++- .../schema/{BytesSchema.java => DateSchema.java} | 65 +-- .../client/impl/schema/FieldSchemaBuilderImpl.java | 187 ++++++++ .../pulsar/client/impl/schema/JSONSchema.java | 47 +- .../pulsar/client/impl/schema/KeyValueSchema.java | 16 +- .../pulsar/client/impl/schema/ProtobufSchema.java | 29 +- .../impl/schema/RecordSchemaBuilderImpl.java | 124 ++++++ .../impl/schema/SchemaDefinitionBuilderImpl.java | 95 ++++ .../client/impl/schema/SchemaDefinitionImpl.java | 98 +++++ .../pulsar/client/impl/schema/SchemaUtils.java | 152 +++++++ .../pulsar/client/impl/schema/StructSchema.java | 76 ++++ .../schema/{BytesSchema.java => TimeSchema.java} | 65 +-- .../{BytesSchema.java => TimestampSchema.java} | 65 +-- .../impl/schema/generic/GenericAvroRecord.java | 16 +- .../impl/schema/generic/GenericAvroSchema.java | 6 +- .../impl/schema/generic/GenericJsonRecord.java | 16 +- .../impl/schema/generic/GenericJsonSchema.java | 6 +- .../{GenericSchema.java => GenericSchemaImpl.java} | 12 +- ...nSchema.java => MultiVersionGenericSchema.java} | 51 ++- .../client/impl/schema/generic/SchemaProvider.java | 18 +- .../schema/generic/VersionedGenericRecord.java | 30 +- .../client/impl/MultiTopicsConsumerImplTest.java | 65 +++ .../client/impl/PartitionedProducerImplTest.java | 37 +- .../client/impl/auth/AuthenticationTokenTest.java | 28 ++ .../pulsar/client/impl/schema/AvroSchemaTest.java | 236 +++++++++- .../client/impl/schema/BytesSchemaTest.java} | 42 +- .../pulsar/client/impl/schema/JSONSchemaTest.java | 167 ++++++- .../client/impl/schema/KeyValueSchemaTest.java | 168 +++++-- .../client/impl/schema/PrimitiveSchemaTest.java | 53 ++- .../client/impl/schema/SchemaBuilderTest.java | 124 ++++++ .../pulsar/client/impl/schema/SchemaTestUtils.java | 40 +- ...cSchemaTest.java => GenericSchemaImplTest.java} | 14 +- .../generic/MultiVersionGenericSchemaTest.java | 90 ++++ .../tutorial/SampleAsyncProducerWithSchema.java | 4 +- .../client/tutorial/SampleConsumerWithSchema.java | 4 +- .../src/test/resources/avro/NasaMission.avsc | 11 + .../org/apache/pulsar/common/api/Commands.java | 40 +- .../apache/pulsar/common/api/proto/PulsarApi.java | 33 ++ .../pulsar/common/api/raw/MessageParser.java | 2 +- .../pulsar/common/functions/ConsumerConfig.java | 1 + .../pulsar/common/functions/FunctionConfig.java | 4 + .../apache/pulsar/common/functions/Resources.java | 20 + .../org/apache/pulsar/common/io/SinkConfig.java | 3 + .../org/apache/pulsar/common/io/SourceConfig.java | 2 + .../apache/pulsar/common/schema/SchemaData.java | 2 + pulsar-common/src/main/proto/PulsarApi.proto | 11 + .../discovery/service/BrokerDiscoveryProvider.java | 2 + .../service/web/ZookeeperCacheLoader.java | 4 +- pulsar-functions/instance/pom.xml | 6 + .../pulsar/functions/instance/ContextImpl.java | 26 +- .../functions/instance/JavaInstanceRunnable.java | 32 +- .../instance/stats/ComponentStatsManager.java | 6 +- .../instance/stats/FunctionStatsManager.java | 8 +- .../functions/instance/stats/SinkStatsManager.java | 6 +- .../instance/stats/SourceStatsManager.java | 6 +- .../apache/pulsar/functions/sink/PulsarSink.java | 68 ++- .../pulsar/functions/source/PulsarSource.java | 6 +- .../pulsar/functions/source/TopicSchema.java | 25 +- .../instance/src/main/python/Function_pb2.py | 180 ++++++-- .../instance/src/main/python/contextimpl.py | 24 +- .../instance/src/main/python/python_instance.py | 46 +- .../pulsar/functions/instance/ContextImplTest.java | 2 +- .../pulsar/functions/sink/PulsarSinkTest.java | 71 +-- .../src/test/python/test_python_instance.py | 19 +- .../proto/src/main/proto/Function.proto | 5 + .../pulsar/functions/runtime/JavaInstanceMain.java | 6 +- .../functions/runtime/KubernetesRuntime.java | 486 ++++++++++++++++----- .../runtime/KubernetesRuntimeFactory.java | 6 +- .../pulsar/functions/runtime/ProcessRuntime.java | 6 +- .../pulsar/functions/runtime/RuntimeUtils.java | 98 ++++- .../pulsar/functions/runtime/ThreadRuntime.java | 14 +- .../runtime/KubernetesRuntimeFactoryTest.java | 3 +- .../functions/runtime/KubernetesRuntimeTest.java | 95 +++- .../org/apache/pulsar/functions/utils/Actions.java | 139 ++++++ .../functions/utils/FunctionConfigUtils.java | 55 ++- .../{Exceptions.java => FunctionInstanceId.java} | 51 ++- .../pulsar/functions/utils/SinkConfigUtils.java | 67 ++- .../pulsar/functions/utils/SourceConfigUtils.java | 59 ++- .../org/apache/pulsar/functions/utils/Utils.java | 1 - .../apache/pulsar/functions/utils/ActionsTest.java | 163 +++++++ .../functions/utils/FunctionConfigUtilsTest.java | 54 ++- .../functions/utils/SinkConfigUtilsTest.java | 20 + .../functions/utils/SourceConfigUtilsTest.java | 4 + .../pulsar/functions/worker/FunctionAction.java | 40 -- .../pulsar/functions/worker/FunctionActioner.java | 263 ++++++----- .../functions/worker/FunctionRuntimeManager.java | 143 +++--- .../pulsar/functions/worker/SchedulerManager.java | 71 +-- .../pulsar/functions/worker/WorkerConfig.java | 5 + .../functions/worker/rest/api/ComponentImpl.java | 3 + .../functions/worker/FunctionActionerTest.java | 27 +- .../worker/FunctionRuntimeManagerTest.java | 173 ++++---- .../worker/rest/api/v3/SinkApiV3ResourceTest.java | 2 +- .../rest/api/v3/SourceApiV3ResourceTest.java | 2 +- .../apache/pulsar/io/canal/CanalSourceConfig.java | 2 + .../org/apache/pulsar/io/core/SinkContext.java | 7 + .../org/apache/pulsar/io/core/SourceContext.java | 7 + .../pulsar/io/core/annotations/FieldDoc.java | 7 + pulsar-io/debezium/pom.xml | 10 - .../io/elasticsearch/ElasticSearchConfig.java | 2 + .../pulsar/io/elasticsearch/ElasticSearchSink.java | 2 +- .../io/hbase/sink/HbaseGenericRecordSinkTest.java | 7 +- .../org/apache/pulsar/io/jdbc/JdbcSinkConfig.java | 2 + .../org/apache/pulsar/io/jdbc/JdbcSinkTest.java | 7 +- .../io/kafka/sink/KafkaAbstractSinkTest.java | 3 + .../io/kafka/source/KafkaAbstractSourceTest.java | 3 + .../pulsar/io/twitter/TwitterFireHoseConfig.java | 4 + .../proxy/server/BrokerDiscoveryProvider.java | 2 + .../pulsar/proxy/server/ProxyConfiguration.java | 2 +- .../pulsar/proxy/server/ProxyServiceStarter.java | 21 + .../proxy/server/util/ZookeeperCacheLoader.java | 4 +- pulsar-sql/pom.xml | 2 +- pulsar-sql/presto-distribution/LICENSE | 3 +- pulsar-sql/presto-distribution/pom.xml | 4 +- .../pulsar/sql/presto/TestPulsarConnector.java | 27 +- .../apache/pulsar/websocket/WebSocketService.java | 5 +- .../service/WebSocketProxyConfiguration.java | 2 +- .../apache/pulsar/websocket/stats/ProxyStats.java | 8 +- .../pulsar/zookeeper/GlobalZooKeeperCache.java | 5 +- .../pulsar/zookeeper/LocalZooKeeperCache.java | 4 +- .../zookeeper/ZkBookieRackAffinityMapping.java | 3 +- .../ZkIsolatedBookieEnsemblePlacementPolicy.java | 3 +- .../apache/pulsar/zookeeper/ZooKeeperCache.java | 21 +- .../pulsar/zookeeper/ZooKeeperDataCache.java | 7 +- .../zookeeper/ZkBookieRackAffinityMappingTest.java | 6 +- ...kIsolatedBookieEnsemblePlacementPolicyTest.java | 6 +- .../pulsar/zookeeper/ZookeeperCacheTest.java | 16 +- site/scripts/python-doc-gen.sh | 9 +- site2/docs/reference-configuration.md | 2 + site2/website/data/connectors.js | 98 +++++ site2/website/pages/en/admin-rest-api.js | 2 +- .../{admin-rest-api.js => functions-rest-api.js} | 8 +- .../en/{admin-rest-api.js => sink-rest-api.js} | 8 +- .../en/{admin-rest-api.js => source-rest-api.js} | 8 +- site2/website/siteConfig.js | 11 +- site2/website/static/css/custom.css | 4 + site2/website/static/js/custom.js | 29 ++ src/gen-swagger.sh | 2 +- src/set-project-version.sh | 3 + .../integration/functions/PulsarFunctionsTest.java | 68 +++ .../tests/integration/io/JdbcSinkTester.java | 3 +- .../tests/integration/presto/TestBasicPresto.java | 13 +- .../integration/topologies/PulsarCluster.java | 2 + .../org/apache/pulsar/storm/PulsarSpoutTest.java | 5 + tests/scripts/pre-integ-tests.sh | 1 + tiered-storage/jcloud/pom.xml | 11 +- .../impl/BlobStoreManagedLedgerOffloader.java | 6 +- .../impl/BlobStoreManagedLedgerOffloaderTest.java | 11 + 266 files changed, 6328 insertions(+), 1765 deletions(-) create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ConsumerDedupPermitsUpdate.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ReaderTest.java create mode 100644 pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/FieldSchemaBuilder.java copy pulsar-flink/src/main/java/org/apache/flink/streaming/connectors/pulsar/partitioner/PulsarKeyExtractor.java => pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/GenericSchema.java (69%) copy pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/{GenericRecord.java => RecordSchemaBuilder.java} (51%) copy pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/{Field.java => SchemaBuilder.java} (67%) copy pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/{GenericRecord.java => SchemaDefinition.java} (51%) create mode 100644 pulsar-client-api/src/main/java/org/apache/pulsar/client/api/schema/SchemaDefinitionBuilder.java copy pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/{BytesSchema.java => DateSchema.java} (53%) create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/FieldSchemaBuilderImpl.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/RecordSchemaBuilderImpl.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/SchemaDefinitionBuilderImpl.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/SchemaDefinitionImpl.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/SchemaUtils.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/StructSchema.java copy pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/{BytesSchema.java => TimeSchema.java} (53%) copy pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/{BytesSchema.java => TimestampSchema.java} (51%) rename pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/{GenericSchema.java => GenericSchemaImpl.java} (88%) copy pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/{GenericJsonSchema.java => MultiVersionGenericSchema.java} (50%) copy pulsar-flink/src/main/java/org/apache/flink/streaming/connectors/pulsar/partitioner/PulsarKeyExtractor.java => pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/SchemaProvider.java (68%) copy pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/AutoSchemaFunction.java => pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/VersionedGenericRecord.java (57%) create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImplTest.java copy pulsar-client/src/{main/java/org/apache/pulsar/client/impl/schema/BytesSchema.java => test/java/org/apache/pulsar/client/impl/schema/BytesSchemaTest.java} (56%) create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/SchemaBuilderTest.java rename pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/generic/{GenericSchemaTest.java => GenericSchemaImplTest.java} (84%) create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/generic/MultiVersionGenericSchemaTest.java create mode 100644 pulsar-client/src/test/resources/avro/NasaMission.avsc create mode 100644 pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/Actions.java copy pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/{Exceptions.java => FunctionInstanceId.java} (51%) create mode 100644 pulsar-functions/utils/src/test/java/org/apache/pulsar/functions/utils/ActionsTest.java delete mode 100644 pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/FunctionAction.java create mode 100644 site2/website/data/connectors.js copy site2/website/pages/en/{admin-rest-api.js => functions-rest-api.js} (64%) copy site2/website/pages/en/{admin-rest-api.js => sink-rest-api.js} (65%) copy site2/website/pages/en/{admin-rest-api.js => source-rest-api.js} (65%)