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