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

PIP-117: Change Pulsar standalone defaults #13302

Closed
merlimat opened this issue Dec 14, 2021 · 4 comments
Closed

PIP-117: Change Pulsar standalone defaults #13302

merlimat opened this issue Dec 14, 2021 · 4 comments
Assignees
Milestone

Comments

@merlimat
Copy link
Contributor

Motivation

Pulsar standalone is the "Pulsar in a box" version of a Pulsar cluster, where
all the components are started within the context of a single JVM process.

Users are using the standalone a as way to get quickly started with Pulsar or
in all the cases where it makes sense to have a single node deployment.

Right now, the standalone is starting by default many components, several of
which are quite complex, since they are designed to be deployed in a distributed
fashion.

Goal

Simplify the components of Pulsar standalone to achieve:

  1. Reduce complexity
  2. Reduce startup time
  3. Reduce memory and CPU footprint of running standalone

Proposed changes

The proposal here is to change some of the default implementations that are
used for the Pulsar standalone.

  1. Metadata Store implementation -->
    Change from ZooKeeper to RocksDB

  2. Pulsar functions package backend -->
    Change from using DistributedLog to using local filesystem, storing the
    jars directly in the data folder instead of uploading them into BK.

  3. Pulsar functions state store implementation -->
    Change the state store to be backed by a MetadataStore based backed,
    with the RocksDB implementation.

  4. Table Service -->
    Do not start BK table service by default

Compatibility considerations

In order to avoid compatibility issues where users have existing Pulsar
standalone services that they want to upgrade without conflicts, we will
follow the principle of keeping the old defaults where there is existing
data on the disk.

We will add a file, serving the purpose as a flag, in the data/standalone
directory, for example new-2.10-defaults.

If the file is present, or if the data directory is completely missing, we
will adopt the new set of default configuration settings.

If the file is not there, we will continue to use existing defaults and we will
not break the upgrade operation.

@github-actions
Copy link

The issue had no activity for 30 days, mark with Stale label.

@liangyuanpeng
Copy link
Contributor

liangyuanpeng commented Apr 18, 2022

remove-lifecycle stale

The issue had no activity for 30 days, mark with Stale label.

Add some doc or command to talk people how can remove label of stale will be great.

Update: label from actions/stale, action config created on https://github.com/apache/pulsar/blob/master/.github/workflows/ci-stale-issue-pr.yaml.

@github-actions
Copy link

The issue had no activity for 30 days, mark with Stale label.

@tisonkun
Copy link
Member

tisonkun commented Dec 7, 2022

Resolved by #15478. Correct me if there's still remaining works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment