Jakob:

I don't have Windows so rely on people who do to vet changes. But I'm
working on https://issues.apache.org/jira/browse/SOLR-12008 which
seeks to get rid of the confusing number of log4j config files and
solr.cmd has a lot of paths to change. So if you do get agreement that
you should raise a JIRA would you please link it to 12008? The "More"
drop-down has a "Link" option.....

The (tentative) place where the "one true" log4j config file will
reside is in ...server/resources, so if people work this script over
using that one would help... And if it's impossible to use that one
that'd also be good information.

Thanks,
Erick

On Tue, Jul 3, 2018 at 1:53 AM,  <ja...@jafurrer.ch> wrote:
> Hi,
>
> I was intending to open an Issue in Jira when I read that I'm supposed to
> first contact this mailinglist.
>
> Problem description
> ==================
>
> System: Microsoft Windows 10 Enterprise Version 10.0.16299 Build 16299
>
> Steps to reproduce the problem:
> 1) Download solr-7.4.0.tgz
> 2) Unzip to C:\solr-7.4.0
> 3) No changes (configuration or otherwise) whatsoever
> 4) Open cmd.exe
> 5) Execute the following command: cd c:\solr-7.4.0\bin
> 6) Execute the following command: solr.cmd start -p 8983
> 7) The following console output appears:
>
>
> c:\solr-7.4.0\bin>solr.cmd start -p 8983
> ERROR StatusLogger Unable to access
> file:/c:/solr-7.4.0/server/file:c:/solr-7.4.0/server/scripts/cloud-scripts/log4j2.xml
>  java.io.FileNotFoundException:
> c:\solr-7.4.0\server\file:c:\solr-7.4.0\server\scripts\cloud-scripts\log4j2.xml
> (Die Syntax für den Dateinamen, Verzeichnisnamen oder die
> Datenträgerbezeichnung ist falsch)
>         at java.io.FileInputStream.open0(Native Method)
>         at java.io.FileInputStream.open(FileInputStream.java:195)
>         at java.io.FileInputStream.<init>(FileInputStream.java:138)
>         at java.io.FileInputStream.<init>(FileInputStream.java:93)
>         at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>         at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>         at java.net.URL.openStream(URL.java:1045)
>         at
> org.apache.logging.log4j.core.config.ConfigurationSource.fromUri(ConfigurationSource.java:247)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:404)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:346)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
>         at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
>         at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
>         at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
>         at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
>         at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
>         at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
>         at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
>         at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
>         at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
>         at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
>         at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
>         at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
>         at org.apache.solr.util.SolrCLI.<clinit>(SolrCLI.java:228)
> ERROR StatusLogger Unable to access
> file:/c:/solr-7.4.0/server/file:c:/solr-7.4.0/server/resources/log4j2.xml
>  java.io.FileNotFoundException:
> c:\solr-7.4.0\server\file:c:\solr-7.4.0\server\resources\log4j2.xml (Die
> Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
> ist falsch)
>         at java.io.FileInputStream.open0(Native Method)
>         at java.io.FileInputStream.open(FileInputStream.java:195)
>         at java.io.FileInputStream.<init>(FileInputStream.java:138)
>         at java.io.FileInputStream.<init>(FileInputStream.java:93)
>         at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>         at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>         at java.net.URL.openStream(URL.java:1045)
>         at
> org.apache.logging.log4j.core.config.ConfigurationSource.fromUri(ConfigurationSource.java:247)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:404)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:346)
>         at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
>         at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
>         at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
>         at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
>         at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
>         at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
>         at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
>         at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
>         at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
>         at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
>         at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
>         at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
>         at org.eclipse.jetty.util.log.Slf4jLog.<init>(Slf4jLog.java:38)
>         at org.eclipse.jetty.util.log.Slf4jLog.<init>(Slf4jLog.java:32)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at org.eclipse.jetty.util.log.Log.initialized(Log.java:178)
>         at org.eclipse.jetty.util.log.Log.getLogger(Log.java:311)
>         at org.eclipse.jetty.util.log.Log.getLogger(Log.java:301)
>         at
> org.eclipse.jetty.xml.XmlConfiguration.<clinit>(XmlConfiguration.java:80)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
>         at org.eclipse.jetty.start.Main.start(Main.java:486)
>         at org.eclipse.jetty.start.Main.main(Main.java:77)
> INFO  - 2018-07-03 10:12:19.375;
> org.apache.solr.util.configuration.SSLCredentialProviderFactory; Processing
> SSL Credential Provider chain: env;sysprop
> Waiting up to 30 to see Solr running on port 8983
> Started Solr server on port 8983. Happy searching!
>
> c:\solr-7.4.0\bin>
>
>
> 8) I managed to fix the situation temporarily as follows (but I am not
> convinced this is the correct way to comprehensively tackle the problem)
>    Edit C:\solr-7.4.0\bin\solr.cmd as follows:
>    Change all occurrences of '-Dlog4j.configurationFile="file:' to
> '-Dlog4j.configurationFile="' (19 ocurrences in total)
>    Change all occurrences of 'LOG4J_CONFIG=file:' to 'LOG4J_CONFIG=' (2
> ocurrences in total)
>
>
> 9) Execute the following command: solr.cmd restart -p 8983
> 10) The following console output appears:
>
>
> c:\solr-7.4.0\bin>solr.cmd restart -p 8983
> Stopping Solr process 20024 running on port 8983
>
> Gewartet wird 0 Sekunden. Weiter mit beliebiger Taste...
> INFO  - 2018-07-03 10:47:57.994;
> org.apache.solr.util.configuration.SSLCredentialProviderFactory; Processing
> SSL Credential Provider chain: env;sysprop
> Waiting up to 30 to see Solr running on port 8983
> Started Solr server on port 8983. Happy searching!
>
> c:\solr-7.4.0\bin>
>
>
> 11) Can someone confirm this? Shall I open an issue?
>
> Cheers,
>
> Jakob

Reply via email to