- 28 8月, 2019 40 次提交
-
-
由 tuteng 提交于
Fixes https://github.com/apache/pulsar/issues/4956 Master Issue: https://github.com/apache/pulsar/issues/4956 ### Motivation In the latest version of pyyaml, using load will issue a warning and explain some reasons here https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation. ### Modifications * Use yaml.FullLoader as default loader (cherry picked from commit d49e61e0)
-
由 Sijie Guo 提交于
*Motivation* The getSchema logic in Pulsar proxy handler doesn't handle the case that the request doesn't have schema version. *Modification* - Fix the logic to handle the case that a GetSchema request doesn't have schema version. - Forward the GetSchemaResponse back to the client *Tests* The GetSchema tests in ProxyTest was disabled by mistake. Turn it on. (cherry picked from commit 676fd71a)
-
由 Rajan Dhabalia 提交于
(cherry picked from commit 41bc407e)
-
由 marcusalmeida 提交于
(cherry picked from commit 33441ea0)
-
由 Sijie Guo 提交于
*Motivation* Currently KeyValue schema doesn't support using AUTO_CONSUME. This PR is to add this support. This PR is based on #4836 *Changes* - refactor a bit on Schema interface to support fetching schema info for both AutoConsumeSchema and KeyValueSchema before subscribing - add AUTO_CONSUME support to KeyValueSchema - add tests (cherry picked from commit dd7cc890)
-
由 Addison Higham 提交于
This commit adds a new option optionally disable authentication for the `/metrics` endpoint in the pulsar-proxy. Currently, authentication is required for the metrics endpoint when authentication is enabled, which makes monitoring more difficult. However, rather than just disable it completely and allow for metrics to be exposed to any unknown user, this makes it opt in. It could be argued that it should default to false, but as it is likely that the proxy is the only component potentially exposed to the public internet, we default to not exposing data. Fixes #4920 (cherry picked from commit be7b24f9)
-
由 Rajan Dhabalia 提交于
(cherry picked from commit 02f9fd3e)
-
由 lipenghui 提交于
Fixes #4785 ### Motivation 1. Stop return partition name in table list, just return the partitioned topic name in table list. This will avoid huge tables while user create large number of partition. 2. Make partition as internal column, provide users with the ability to get which partition data in and filtration based on partition. For example: ``` SELECT * FROM "my-table" WHERE "__partition__" = 0; SELECT * FROM "my-table" WHERE "__partition__" in (2,3); SELECT * FROM "my-table" WHERE "__partition__" < 1; ``` ### Modifications 1. Add "__partition__" internal column. 2. Add domain handle for "__partition__". ### Verifying this change Added new unit test to verify this change ### Does this pull request potentially affect one of the following parts: *If `yes` was chosen, please highlight the changes* - Dependencies (does it add or upgrade a dependency): (no) - The public API: (yes) - The schema: (no) - The default values of configurations: (no) - The wire protocol: ( no) - The rest endpoints: (no) - The admin cli options: (no) - Anything that affects deployment: (no) ### Documentation - Does this pull request introduce a new feature? (yes) (cherry picked from commit 5adc522e)
-
由 Sergii Zhevzhyk 提交于
The checksyle plugin was added to the pulsar sql module to enforce the defined style. All violations were fixed: - Ordering of imports. - Formatting of the code. - Absent Javadoc comments. - Other small issues. (cherry picked from commit f6fee1c6)
-
由 Matteo Merli 提交于
(cherry picked from commit f88ea9df)
-
由 Boyang Jerry Peng 提交于
(cherry picked from commit 075f28b7)
-
由 lipenghui 提交于
### Motivation Fix #4732 ### Modifications Add options to rewrite the namespace delimiter, disable by default Enable rewrite namespace delimiter can work well with superset: <img width="1279" alt="superset" src="https://user-images.githubusercontent.com/12592133/61385412-f0f35700-a8e4-11e9-87b2-a31b62128b58.png"> ### Does this pull request potentially affect one of the following parts: *If `yes` was chosen, please highlight the changes* - Dependencies (does it add or upgrade a dependency): (no) - The public API: (no) - The schema: (no) - The default values of configurations: (no) - The wire protocol: (no) - The rest endpoints: (no) - The admin cli options: (no) - Anything that affects deployment: (no) ### Documentation - Does this pull request introduce a new feature? (no) (cherry picked from commit 6ddd51ff)
-
由 Jia Zhai 提交于
Motivation In PR #4764, we allow to create partitioned topic with 1 partition, But in Pulsar Client, user still not able to do it. This fix try to make sure user could create consumer/producer for 1 partitioned topic . Modifications - old and new added unit test passed. (cherry picked from commit 128287e3)
-
由 Kezhu Wang 提交于
### Motivation Fix concurrent access of `uninitializedCursors` in `ManagedLedgerImpl.asyncOpenCursor`. ### Modifications * Adds test to expose concurrent access of `uninitializedCursors` in `ManagedLedgerImpl.asyncOpenCursor`. * Fixes concurrent access of `uninitializedCursors` in `ManagedLedgerImpl.asyncOpenCursor`. (cherry picked from commit 5bf319e4)
-
由 Robert Moucha 提交于
### Motivation Incorrect value is being used in Pulsar Helm template `autorecovery-deployment.yaml` ### Modifications Proper variable name set. ### Verifying this change Fixed variable name is already set in `values.yaml` and `values-mini.yaml`. This change is a trivial rework / code cleanup without any test coverage. ### Documentation None needed. (cherry picked from commit 2b52ccb2)
-
由 Xiaobing Fang 提交于
Fixes #4852 Bug: After create an empty ledger by sub/unsub and trim ledgers, the first position in managedLedger is ahead of the last when create a consumer without reopen the managed ledger. Reason: Last position will be update when opening managedLedger. Because when creating an empty Ledger without reopening managedLedger, the last position is not be updated. Since the ledger pointed of the last position has been deleted, the first position point to the new ledger. Fix: The first position should fall back to last position. (cherry picked from commit 46bfb2c2)
-
由 Yi Tang 提交于
### Motivation jdbc sink treat all record as INSERT before #4358 , now it requires an indispensable action property which seems to be a break change, and we can deal records without any action property as INSERT. ### Modifications treat action not set as INSERT action like before. (cherry picked from commit d8356d8c)
-
由 Xiaobing Fang 提交于
the 0 size limit can't means "infinite" size quota (cherry picked from commit 77f63709)
-
由 Boyang Jerry Peng 提交于
(cherry picked from commit 3c9136b2)
-
由 Xiaobing Fang 提交于
fix #4755 Retention policy is used in Ledger GC and Topic GC. Default retention policy is not uploaded to zookeeper, but it is getted from zookeeper when it is used. So, if zookeeper doesn't have retention policy, we should load it from default config file. In Ledger GC configuration, it's OK. https://github.com/apache/pulsar/blob/075f28b71c8fd9259ce8e136dbb81c0629c3f271/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java#L739-L742 But in Topic GC, do nothing. (cherry picked from commit 1dcac8cc)
-
由 Boyang Jerry Peng 提交于
### Modifications When submitting a function via REST interface, if user doesn't provide the function package or function runtime as part of function config, the function will get submitted and deployed to run but the typeClassName for the source will not be set causing a weird error in the function instance code (cherry picked from commit e1547e12)
-
由 Boyang Jerry Peng 提交于
### Motivation A message doesn't get automatically ACKed if there is the output topic is not set (cherry picked from commit 19b883b7)
-
由 tuteng 提交于
### Motivation Currently our JDBC Sink not support deletion and update events. Support for delete and update events. ### Modifications Support for delete and update events. Add some document for JDBC Sink. https://github.com/apache/pulsar/issues/4073 ### Verifying this change local Unit Test pass. Integration test pass
-
由 Rui Fu 提交于
### Motivation `pulsar-function-go/conf` package apply `instance-conf-path` with default value `HOME_PATH+github.com/apache/pulsar/pulsar-function-go/conf/conf.yaml`, once function deployed, the running node may not have the yaml conf file exist, then go function will panic with `not found conf file` error. This PR changed the logic of config parsing, parse `confContent` first, then parse `confFilePath` if `confContent` empty. (cherry picked from commit 8a3b3af6)
-
由 Matteo Merli 提交于
### Motivation After the changes in #3118, there has a been a sharp increase of memory utilization for the UnackedMessageTracker due to the time buckets being created. This is especially true when the acktimeout is set to a larger value (eg: 1h) where 3600 time-buckets are being created. This lead to use 20MB per partition even when no message is tracked. Allowing to configure the tick time so that application can tune it based on needs. Additionally, fixed the logic that keeps creating hash maps and throwing them away at each tick time iteration, since that creates a lot of garbage and doesn't take care of the fact that the hash maps are expanding based on the required capacity (so next time they are already of the "right" size). On a final note: the current default of 1sec seems very wasteful. Something like 10s should be more appropriate as default. (cherry picked from commit f13af487)
-
由 Boyang Jerry Peng 提交于
### Motivation Currently, if the kubernetes namespace set to deploy functions in is different than the one in which brokers/workers reside, get status and stats doesn't work because the url for instances does not specify the namespace. (cherry picked from commit 8c3445ad)
-
由 Boyang Jerry Peng 提交于
(cherry picked from commit 26fc4efe)
-
由 Rui Fu 提交于
### Motivation Currently golang function needs to be compiled before deploy to pulsar, so the executable permission is required when function package is downloaded to local node from bookkeeper. This PR is intent to make golang function package executable after download from bookkeeper, to make sure the function is ok to run. (cherry picked from commit bf58c8eb)
-
由 Jia Zhai 提交于
**Motivation** when create partitioned topic, there is a check that `numPartitions > 1`, if numPartitions==1, it will fail. Some user may want to create partitioned topic with only 1 topic at the start time, and during using it, could update to more topics later. **Modification** change check of `numPartitions > 1` to `numPartitions > 0` expect all existing ut passed. (cherry picked from commit 5162393c)
-