Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sn-platform][sn-platform-slim]: upgrade pulsar to 3.0 and enable 3.0 new features #1083

Merged
merged 9 commits into from
Sep 14, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 22 additions & 17 deletions charts/sn-platform-slim/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -120,47 +120,47 @@ monitoring:
images:
zookeeper:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
customTools:
backup:
repository: "streamnative/pulsar-metadata-tool"
tag: "2.10.4.7"
tag: "3.0.0.4"
restore:
repository: "streamnative/pulsar-metadata-tool"
tag: "2.10.4.7"
tag: "3.0.0.4"
bookie:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
autorecovery:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
broker:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
proxy:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
pulsar_detector:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
functions:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
function_worker:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
# NOTE: allow overriding the toolset image
toolset:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
busybox:
repository: busybox
Expand Down Expand Up @@ -193,7 +193,7 @@ images:
pullPolicy: "IfNotPresent"
pulsar_metadata:
repository: streamnative/sn-platform-slim
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
configmapReload:
repository: jimmidyson/configmap-reload
Expand Down Expand Up @@ -912,6 +912,8 @@ bookkeeper:
gcLoggingOptions: []
custom: {}
configData: {}
# For Pulsar 3.0, please do not enable Direct IO. Needs a fix https://github.com/apache/bookkeeper/pull/4041
# PULSAR_PREFIX_dbStorage_directIOEntryLogger: "true"
## Operator Controller
## templates/bookkeeper-cluster.yaml
operator:
Expand Down Expand Up @@ -1168,16 +1170,19 @@ broker:
extraOptions: []
gcLoggingOptions: []
configData:
# @deprecated:
# 1. You can use a service account to assume an IAM role to access S3 bucket
# 2. You can use a k8s secret to reference AWS credentials. See `offload.s3.secret`
# AWS_ACCESS_KEY_ID: "[YOUR AWS ACCESS KEY ID]"
# AWS_SECRET_ACCESS_KEY: "[YOUR SECRET]"
managedLedgerDefaultEnsembleSize: "3"
managedLedgerDefaultWriteQuorum: "3"
managedLedgerDefaultAckQuorum: "2"
PULSAR_PREFIX_systemTopicEnabled: "true"
PULSAR_PREFIX_topicLevelPoliciesEnabled: "true"
# Enable the new delayed message
delayedDeliveryTrackerFactoryClassName: "org.apache.pulsar.broker.delayed.BucketDelayedDeliveryTrackerFactory"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I think maybe we should support dynamic calculate of the segment size or bucket size by cluster resources in the future. :)

/cc @coderzc WDYT?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but we need to design a set of calculation formulas.

# Enable transaction buffer segmented snapshot
transactionBufferSegmentedSnapshotEnabled: "true"
# Enable the new Load Balancer, please make sure your cluster is already on Pulsar 3.0 then to use.
# Mix of new and previous Load Balancer in the same cluster will lead to unexpected problems.
# loadManagerClassName: "org.apache.pulsar.broker.loadbalance.extensions.ExtensibleLoadManagerImpl"
# loadBalancerLoadSheddingStrategy: "org.apache.pulsar.broker.loadbalance.extensions.scheduler.TransferShedder"
### Broker service account
## templates/broker-service-account.yaml
# deprecated: use `serviceAccount` section to configure service account.
Expand Down
43 changes: 24 additions & 19 deletions charts/sn-platform/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,22 +130,22 @@ monitoring:
images:
zookeeper:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
customTools:
backup:
repository: "streamnative/pulsar-metadata-tool"
tag: "2.10.4.7"
tag: "3.0.0.4"
restore:
repository: "streamnative/pulsar-metadata-tool"
tag: "2.10.4.7"
tag: "3.0.0.4"
bookie:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
presto:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
exporter:
repository: bitnami/jmx-exporter
Expand All @@ -154,36 +154,36 @@ images:
# NOTE: allow overriding the presto worker image
# presto_worker:
# repository: streamnative/sn-platform
# tag: 2.10.4.7
# tag: 3.0.0.4
# pullPolicy: IfNotPresent
autorecovery:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
broker:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
proxy:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
pulsar_detector:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
functions:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
function_worker:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
# NOTE: allow overriding the toolset image
toolset:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
kafka:
repository: confluentinc/cp-kafka
Expand Down Expand Up @@ -239,7 +239,7 @@ images:
pullPolicy: IfNotPresent
pulsar_metadata:
repository: streamnative/sn-platform
tag: "2.10.4.7"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
configmapReload:
repository: jimmidyson/configmap-reload
Expand Down Expand Up @@ -987,6 +987,8 @@ bookkeeper:
gcLoggingOptions: []
custom: {}
configData: {}
# For Pulsar 3.0, please do not enable Direct IO. Needs a fix https://github.com/apache/bookkeeper/pull/4041
# PULSAR_PREFIX_dbStorage_directIOEntryLogger: "true"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please change the default value to false

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hangc0276 fixed in 462b4a7

## Operator Controller
## templates/bookkeeper-cluster.yaml
operator:
Expand Down Expand Up @@ -1243,16 +1245,19 @@ broker:
extraOptions: []
gcLoggingOptions: []
configData:
# @deprecated:
# 1. You can use a service account to assume an IAM role to access S3 bucket
# 2. You can use a k8s secret to reference AWS credentials. See `offload.s3.secret`
# AWS_ACCESS_KEY_ID: "[YOUR AWS ACCESS KEY ID]"
# AWS_SECRET_ACCESS_KEY: "[YOUR SECRET]"
managedLedgerDefaultEnsembleSize: "3"
managedLedgerDefaultWriteQuorum: "3"
managedLedgerDefaultAckQuorum: "2"
PULSAR_PREFIX_systemTopicEnabled: "true"
PULSAR_PREFIX_topicLevelPoliciesEnabled: "true"
# Enable the new delayed message
delayedDeliveryTrackerFactoryClassName: "org.apache.pulsar.broker.delayed.BucketDelayedDeliveryTrackerFactory"
# Enable transaction buffer segmented snapshot
transactionBufferSegmentedSnapshotEnabled: "true"
# Enable the new Load Balancer, please make sure your cluster is already on Pulsar 3.0 then to use.
# Mix of new and previous Load Balancer in the same cluster will lead to unexpected problems.
# loadManagerClassName: "org.apache.pulsar.broker.loadbalance.extensions.ExtensibleLoadManagerImpl"
# loadBalancerLoadSheddingStrategy: "org.apache.pulsar.broker.loadbalance.extensions.scheduler.TransferShedder"
### Broker service account
## templates/broker-service-account.yaml
# deprecated: use `serviceAccount` section to configure service account.
Expand Down
29 changes: 14 additions & 15 deletions examples/sn-platform/values-pulsar-3.0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,32 +19,32 @@

images:
zookeeper:
tag: "3.0.0.1"
tag: "3.0.0.4"
bookie:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
autorecovery:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
broker:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
proxy:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
pulsar_detector:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
pullPolicy: IfNotPresent
functions:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
function_worker:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"
toolset:
repository: streamnative/sn-platform
tag: "3.0.0.1"
tag: "3.0.0.4"

zookeeper:
jvm:
Expand All @@ -62,9 +62,9 @@ zookeeper:
-Dzookeeper.forceSync=no

bookkeeper:
configData:
# Enable DirectIO by default
PULSAR_PREFIX_dbStorage_directIOEntryLogger: "true"
configData: {}
# For Pulsar 3.0, please do not enable Direct IO. Needs a fix https://github.com/apache/bookkeeper/pull/4041
# PULSAR_PREFIX_dbStorage_directIOEntryLogger: "true"
jvm:
gcOptions:
- >
Expand All @@ -89,15 +89,14 @@ broker:
managedLedgerDefaultAckQuorum: "2"
PULSAR_PREFIX_systemTopicEnabled: "true"
PULSAR_PREFIX_topicLevelPoliciesEnabled: "true"
# Enable the new Load Balancer, not suggest to enable and use now.
# Wait for https://github.com/apache/pulsar/pull/20528, https://github.com/apache/pulsar/pull/20525 release for fix.
# Enable the new Load Balancer, please make sure your cluster is already on Pulsar 3.0 then to use.
# loadManagerClassName: "org.apache.pulsar.broker.loadbalance.extensions.ExtensibleLoadManagerImpl"
# loadBalancerLoadSheddingStrategy: "org.apache.pulsar.broker.loadbalance.extensions.scheduler.TransferShedder"

# Enable the new delayed message
delayedDeliveryTrackerFactoryClassName: "org.apache.pulsar.broker.delayed.BucketDelayedDeliveryTrackerFactory"
# Enable transaction buffer segmented snapshot
transactionBufferSegmentedSnapshotEnabled: "true"
transactionBufferSnapshotSegmentSize: "262144"
jvm:
gcOptions:
- >
Expand Down