You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Alex Deparvu (Jira)" <ji...@apache.org> on 2025/02/28 14:55:00 UTC
[jira] [Commented] (SOLR-17638) Some CLI errors not logged when starting prometheus exporter
[ https://issues.apache.org/jira/browse/SOLR-17638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17931494#comment-17931494 ]
Alex Deparvu commented on SOLR-17638:
-------------------------------------
I am able to reproduce this and I think it might be related to the `exec` command somehow not being able to deal with the stacktrace being included in the output.
This is the current code that breaks output - and aparently any logs coming to the cli after this messsage:
{code:java}
log.error("Failed to parse command line arguments: ", e);
{code}
A simple change fixes this. downside is for the ParseException this is sufficient but in the generic exception case it is not ideal to not have the stacktrace.
{code:java}
log.error("Failed to parse command line arguments: {}", e.getMessage());
{code}
I think a better fix could be in the exec script itself, but don't know yet. I can't tell if this is a widerspread cli issue of just affecting this module only. [~epugh] any ideas?
Note. there is also a `return` statement [missing here|https://github.com/apache/solr/blob/releases/solr/9.8.0/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java#L366] causing the NPE in the logs which should be fixed.
{code}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.solr.prometheus.exporter.SolrScrapeConfiguration.getType()" because "configuration" is null
{code}
> Some CLI errors not logged when starting prometheus exporter
> ------------------------------------------------------------
>
> Key: SOLR-17638
> URL: https://issues.apache.org/jira/browse/SOLR-17638
> Project: Solr
> Issue Type: Bug
> Components: contrib - prometheus-exporter
> Affects Versions: 9.8
> Reporter: Philipp Trulson
> Priority: Major
>
> Hey everyone, we are currently upgrading our 8.11 setup to 9.8 and right now I'm working on the prometheus-exporter.
> To my surprise, the program was exiting directly without any output at all, which was very frustrating. Only after manually putting a log4j2 config in the classpath the culprit was finally visible:
>
> {noformat}
> org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option: --zkhost{noformat}
>
> So the program was exiting because the cli option was renamed from zkhost to zk-host, would have been an easy fix normally, _if_ the program would have told me. What's funny though is that other messages are being logged to the console and I can't find the difference atm. My guess is that something got messed up after switching the cli lib in SOLR-16996.
> Reproduction:
> {code:java}
> $ podman run --rm -it --entrypoint bash solr:9.8.0 /opt/solr/prometheus-exporter/bin/solr-exporter --port=9854
> ERROR - 2025-01-30 08:52:53.052; org.apache.solr.prometheus.exporter.SolrExporter; Must provide either --base-url or --zk-host
> Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.solr.prometheus.exporter.SolrScrapeConfiguration.getType()" because "configuration" is null
> at org.apache.solr.prometheus.exporter.SolrExporter.createScraper(SolrExporter.java:127)
> at org.apache.solr.prometheus.exporter.SolrExporter.<init>(SolrExporter.java:90)
> at org.apache.solr.prometheus.exporter.SolrExporter.main(SolrExporter.java:426)
> $ podman run --rm -it --entrypoint bash solr:9.8.0 /opt/solr/prometheus-exporter/bin/solr-exporter --zkhost=lalala
> -> no output{code}
>
> (Small sidenote: The program errors when not providing --base-url or --zk-host, even though the help text says {_}If omitted both the -b parameter and the -z parameter, connect to http://localhost:8983/solr{_}. Not sure if it's worth opening a separate issue for that, looks like the CLI args are being worked on already in 9.9)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org