When I commented out

# supportedNamespaceBundleSplitAlgorithms=range_equally_divide,topic_count_equally_divide,specified_positions_divide,flow_or_qps_equally_divide

# defaultNamespaceBundleSplitAlgorithm=range_equally_divide


and I presume it relies on defaults in code, then it at least starts.

I also suggest that the Exception puts the brokerConfig value in the message as well as the supported algos (Line 179 in PulsarBrokerStarter.java), so there is a chance to figure out what is going wrong here.

// Niclas


On 2023-07-28 11:59, Niclas Hedhman wrote:
Hi,
I am trying to upgrade from 2.10.3 to 2.11.2 and I am getting the
following right at start-up and I don't understand the message at all.

2023-07-28T09:46:07,973Z
[jdk.internal.loader.ClassLoaders$AppClassLoader@5ffd2b27] error
Uncaught exception in thread main: The given supported namespace
bundle split algorithm has unavailable algorithm. Available algorithms
are [range_equally_divide, topic_count_equally_divide,
specified_positions_divide]
java.lang.IllegalArgumentException: The given supported namespace
bundle split algorithm has unavailable algorithm. Available algorithms
are [range_equally_divide, topic_count_equally_divide,
specified_positions_divide]
        at
org.apache.pulsar.PulsarBrokerStarter$BrokerStarter.<init>(PulsarBrokerStarter.java:179)
        at
org.apache.pulsar.PulsarBrokerStarter.main(PulsarBrokerStarter.java:331)

I don't understand what a "namespace bundle split" is, but I found the
following in my broker.conf;

# Supported algorithms name for namespace bundle split.
# "range_equally_divide" divides the bundle into two parts with the
same hash range size.
# "topic_count_equally_divide" divides the bundle into two parts with
the same topics count.
# "specified_positions_divide" divides the bundle into several parts
by the specified positions.
supportedNamespaceBundleSplitAlgorithms=range_equally_divide,topic_count_equally_divide,specified_positions_divide,flow_or_qps_equally_divide

# Default algorithm name for namespace bundle split
defaultNamespaceBundleSplitAlgorithm=range_equally_divide


And since default is set to an acceptable value, I presume that my
namespace has gotten it set to something else somehow, probably on
creation (from Java client library) in a previous version (possibly
2.10.0).


Is this a new feature? And how am I supposed to make the upgrade?
Is there any upgrade/migration documentation available?

Cheers
Niclas

Reply via email to