I had found yet another thing that must be fixed before starting 2.6.0
vote: while reviewing my shells to install Storm on my Nimbus hosts
and Supervision hosts, I found this old by-pass which I used to put in
place when switching from Java 11 to Java 17 at runtime:

cp storm-stable/lib-worker/jakarta.xml.bind-api-2.3.2.jar
storm-stable/lib-tools/storm-kafka-monitor

(storm-stable is the name of the directory where I extract Storm's binaries)

It turns out that this ugly by-pass is still required when running
with Java 17 (which is my case since more than 1 year), otherwise the
display of Kafka lags in Storm UI is broken, and we have the following
exceptions in ui.log:

2023-11-15 10:54:27.473 o.e.j.s.AbstractConnector main [INFO] Started
ServerConnector@e3c9c02f{HTTP/1.1, (http/1.1)}{0.0.0.0:8070}
2023-11-15 10:54:27.474 o.e.j.s.Server main [INFO] Started @4256ms
2023-11-15 10:55:02.781 o.a.s.u.NimbusClient qtp-1075191296-25 [INFO]
Found leader nimbus :
ec23-1-251-0-65.eu-west-1.compute.amazonaws.com:6627
2023-11-15 10:59:31.128 o.a.s.u.ShellUtils qtp-1075191296-24 [INFO]
Failed running command
[/usr/local/Storm/storm-stable/bin/storm-kafka-monitor, -t, audit, -g,
StormAuditPublisherTopology_SbxRealTimeSupervisionAVEEEZZeuw1, -b,
ec23-1-251-0-66.eu-west-1.compute.amazonaws.com,ec23-1-251-0-65.eu-west-1.compute.amazonaws.com,ec2-52-18-172-77,
-s, SASL_SSL, -c, /tmp/kafka-consumer-extra6421423768198678110props]
org.apache.storm.utils.ShellUtils$ExitCodeException: SLF4J: Failed to
load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
further details.
Exception in thread "main" java.lang.NoClassDefFoundError:
javax.xml.bind.DatatypeConverter
 at 
org.apache.kafka.common.security.scram.ScramMessages$ServerFirstMessage.<init>(ScramMessages.java:143)
 at 
org.apache.kafka.common.security.scram.ScramSaslClient.evaluateChallenge(ScramSaslClient.java:112)
 at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator$2.run(SaslClientAuthenticator.java:280)
 at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator$2.run(SaslClientAuthenticator.java:278)
 at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:784)
 at java.base/javax.security.auth.Subject.doAs(Subject.java:439)
 at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.createSaslToken(SaslClientAuthenticator.java:278)
 at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslToken(SaslClientAuthenticator.java:215)
 at 
org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:189)
 at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:76)
 at 
org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:385)
 at org.apache.kafka.common.network.Selector.poll(Selector.java:334)
 at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:433)
 at 
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
 at 
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:208)
 at 
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:184)
 at 
org.apache.kafka.clients.consumer.internals.Fetcher.getTopicMetadata(Fetcher.java:314)
 at 
org.apache.kafka.clients.consumer.KafkaConsumer.partitionsFor(KafkaConsumer.java:1386)
 at 
org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOffsetLags(KafkaOffsetLagUtil.java:165)
 at 
org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.main(KafkaOffsetLagUtil.java:74)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
 at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:827)
 at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1095)
 ... 20 more

 at org.apache.storm.utils.ShellUtils.runCommand(ShellUtils.java:264)
~[storm-client-2.6.0-SNAPSHOT.jar:2.6.0-SNAPSHOT]

copying jakarta.xml.bind-api-2.3.2.jar to
storm-stable/lib-tools/storm-kafka-monitor and restarting storm-ui
solves the problem.

=> Would it be possible to include jakarta.xml.bind-api-2.3.2.jar in
lib-tools/storm-kafka-monitor/ directory of binary Storm archive out
of the box?

Thanks,
Alexandre

Le mar. 14 nov. 2023 à 17:50, Alexandre Vermeerbergen
<avermeerber...@gmail.com> a écrit :
>
> Good news on my side:
> * First test with 2.6.0 snapshot 2023/11/14 with a single Supervisor host is 
> OK
>    => I will soon (tomorrow) be able to upgrade my pre production
> cluster to have a wider scope & performance results "at scale"
> * My crazy attempt to convert all my topologies code from Java EE API
> to Jakarta EE API is finally working *fine*, the issue was lying
> between my keyboard and my seat (I used a misconfigured Kafka cluster
> with my mostly Kafka-depending topologies). So it means that
> regardless of the fact that Storm internally still relies on Java EE
> artefacts, a bunch of code migrated to Jakarta EE runs anway - that's
> what I like (smooth transitions)
>
> I update when I'll have results on my pre-production cluster at scale
> (max Thursday)
>
> Alexandre
>
> Le mar. 14 nov. 2023 à 16:46, Julien Nioche
> <lists.digitalpeb...@gmail.com> a écrit :
> >
> > Thanks Richard,
> >
> > I have tested the latest snapshot with a simple crawl topology in local and
> > deployed mode + a more complex one which generates WARC files (and
> > therefore the HDFS resouces), again both in local and remote mode.
> > No issues found, everything is looking fine
> >
> > Julien
> >
> > On Tue, 14 Nov 2023 at 09:52, Richard Zowalla <r...@apache.org> wrote:
> >
> > > Hi all,
> > >
> > > as written in the other thread, I have prepared another SNAPSHOT
> > > artifact incorporting the feedbach received in the first round.
> > >
> > > I would like to receive some feedback on the current SNAPSHOT build
> > > again.
> > >
> > > I just uploaded a 2.6.0-SNAPSHOT of Storm build from
> > >
> > > https://github.com/apache/storm/commit/a7aac90fdc4b87eba8dce3b851b55c86c4a390cf
> > >
> > >
> > > It is available via the ASF Snapshot repository:
> > > https://repository.apache.org/content/repositories/snapshots/
> > >
> > > You can consume by adding
> > >
> > >  <repository>
> > >       <id>apache.snapshots</id>
> > >       <name>Apache Snapshot Repository</name>
> > >       <url>https://repository.apache.org/snapshots</url>
> > >       <releases>
> > >         <enabled>false</enabled>
> > >       </releases>
> > >  </repository>
> > >
> > > to your project pom. As we do not deploy SNAPSHOTS automatically, it
> > > should be easy to just consume the latest SNAPSHOT.
> > >
> > > The packaged binaries are available at nightlies.apache.org:
> > >
> > >
> > > https://nightlies.apache.org/storm/2.6.0-SNAPSHOT/a7aac90fdc4b87eba8dce3b851b55c86c4a390cf/
> > >
> > >
> > > If you have some minutes left: Please test and report any issues with
> > > this binaries, so we can fix before attempting to release.
> > >
> > > The most significant changes are some fixes of ui-related bugs +
> > > upgrades of dependencies with CVEs, etc.
> > >
> > > Here is a diff:
> > >
> > >
> > > https://github.com/apache/storm/compare/8f883086032669a8f04b09a3b312d60af5b44533..a7aac90fdc4b87eba8dce3b851b55c86c4a390cf
> > >
> > > A summary in Jira is here:
> > >
> > >
> > > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314820&version=12353484
> > >
> > > Gruß
> > > Richard
> > >
> > >
> > >
> > >
> >
> > --
> >
> > *Open Source Solutions for Text Engineering*
> >
> > http://www.digitalpebble.com
> > http://digitalpebble.blogspot.com/
> > #digitalpebble <http://twitter.com/digitalpebble>

Reply via email to