I just remembered the issue and relayed the JIRA ;).
As to why I suspect the Java issue, if this was a core Solr issue I’d expect it
to be a show stopper,
Solr isn’t much good if you can’t create cores. Of course weirder things have
happened. Plus,
the date is fine: "2020-07-27T18:02:42.069Z"
If you have the bandwidth, I’d log all the inputs in
ParseDateFieldUpdateProcessor.validateFormatter,
which looks at a glance to be where the exception is caught. The code looks
like this:
public static void validateFormatter(DateTimeFormatter formatter) {
// check it's valid via round-trip
try {
parseInstant(formatter, formatter.format(Instant.now()), new
ParsePosition(0));
} catch (Exception e) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
"Bad or unsupported pattern: " + formatter.toFormat().toString(), e);
}
}
I suspect the message is a bit misleading and the formatter in that call is
null or some such. Why I
haven’t a clue.
Best,
Erick
> On Jul 27, 2020, at 3:54 PM, Chris Larsson <[email protected]> wrote:
>
> Thank you Erick. I appreciate you taking the time to respond. I have seen
> the post you shared and I know the work around does solve the issue. I am
> more concerned about why Solr doesn't work with the default settings. I am
> also not convinced it is solely a Java issue, but I would like to
> investigate that further so I ask what makes you say it is a Java issue as
> opposed to being a Solr issue? I see David's comment, but he seems to be
> approaching the solution as an end user as opposed to a Solr developer.
>
>
> On Mon, Jul 27, 2020 at 3:43 PM Erick Erickson <[email protected]>
> wrote:
>
>> Take a look at:
>>
>> https://issues.apache.org/jira/browse/SOLR-13606
>>
>> It’s actually a weirdness with Java. In that JIRA David Smiley
>> suggest a way to deal with it, but I confess I haven’t a clue
>> about the nuances there.
>>
>> Best,
>> Erick
>>
>>
>>
>>> On Jul 27, 2020, at 3:12 PM, Chris Larsson <[email protected]> wrote:
>>>
>>> Ran into an issue attempting to create a core on a new install of Solr
>>> 8.6. The system is CentOS 8 fully updated and using Java OpenJDK version
>>> 14.0.1.
>>>
>>> # java -version
>>> openjdk version "14.0.1" 2020-04-14
>>> OpenJDK Runtime Environment 20.3 (build 14.0.1+7)
>>> OpenJDK 64-Bit Server VM 20.3 (build 14.0.1+7, mixed mode, sharing)
>>>
>>> Attempting to create a core from the command line results in the
>> following
>>> messages:
>>>
>>> # cd /opt/solr; sudo -u solr bin/solr create_core -c foocore
>>> WARNING: Using _default configset with data driven schema functionality.
>>> NOT RECOMMENDED for production use.
>>> To turn off: bin/solr config -c foocore -p 8983 -action
>>> set-user-property -property update.autoCreateFields -value false
>>>
>>> ERROR: Error CREATEing SolrCore 'foocore': Unable to create core
>> [foocore]
>>> Caused by: null
>>>
>>>
>>> The Solr admin site at http://localhost:8983/solr/#/ reports:
>>>
>>> SolrCore Initialization Failures
>>> foocore:
>>>
>> org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
>>> Bad or unsupported pattern:
>>> java.time.format.DateTimeFormatter$ClassicFormat@1c85900d
>>>
>>> Additional output while the server was running in the foreground:
>>>
>>> 2020-07-27 18:02:42.104 ERROR (qtp997850486-21) [ ]
>>> o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: Error
>>> CREATEing SolrCore 'foocore': Unable to create core [foocore] Caused by:
>>> null
>>> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1312)
>>> at
>>>
>> org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$0(CoreAdminOperation.java:95)
>>> at
>>>
>> org.apache.solr.handler.admin.CoreAdminOperation.execute(CoreAdminOperation.java:367)
>>> at
>>>
>> org.apache.solr.handler.admin.CoreAdminHandler$CallInfo.call(CoreAdminHandler.java:397)
>>> at
>>>
>> org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:181)
>>> at
>>>
>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:214)
>>> at
>> org.apache.solr.servlet.HttpSolrCall.handleAdmin(HttpSolrCall.java:854)
>>> at
>>>
>> org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:818)
>>> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:566)
>>> at
>>>
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:415)
>>> at
>>>
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:345)
>>> at
>>>
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)
>>> at
>>>
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>> at
>>>
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
>>> at
>>>
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>>> at
>>>
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>>> at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
>>> at
>>>
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>> at
>>>
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
>>> at
>>>
>> org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:177)
>>> at
>>>
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
>>> at
>>>
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>>> at
>>>
>> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
>>> at
>>>
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>>> at org.eclipse.jetty.server.Server.handle(Server.java:500)
>>> at
>>>
>> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
>>> at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
>>> at
>>>
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
>>> at
>>> org.eclipse.jetty.io
>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
>>> at
>>>
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>>> at
>>>
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>>> at
>>>
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>>> at
>>>
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>>> at
>>>
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
>>> at
>>>
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
>>> at
>>>
>> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
>>> at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: org.apache.solr.common.SolrException: Unable to create core
>>> [foocore]
>>> at
>>>
>> org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1408)
>>> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1273)
>>> ... 47 more
>>> Caused by: org.apache.solr.common.SolrException: Bad or unsupported
>>> pattern: java.time.format.DateTimeFormatter$ClassicFormat@1c85900d
>>> at org.apache.solr.core.SolrCore.<init>(SolrCore.java:1071)
>>> at org.apache.solr.core.SolrCore.<init>(SolrCore.java:906)
>>> at
>>>
>> org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1387)
>>> ... 48 more
>>> Caused by: org.apache.solr.common.SolrException: Bad or unsupported
>>> pattern: java.time.format.DateTimeFormatter$ClassicFormat@1c85900d
>>> at
>>>
>> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:220)
>>> at
>>>
>> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.init(ParseDateFieldUpdateProcessorFactory.java:192)
>>> at org.apache.solr.core.PluginBag.initInstance(PluginBag.java:107)
>>> at org.apache.solr.core.PluginBag.createPlugin(PluginBag.java:155)
>>> at org.apache.solr.core.PluginBag.init(PluginBag.java:300)
>>> at org.apache.solr.core.PluginBag.init(PluginBag.java:289)
>>> at org.apache.solr.core.SolrCore.<init>(SolrCore.java:995)
>>> ... 50 more
>>> Caused by: java.time.format.DateTimeParseException: Text
>>> '2020-07-27T18:02:42.069Z' could not be parsed: null
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2021)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1924)
>>> at
>>>
>> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.parseInstant(ParseDateFieldUpdateProcessorFactory.java:233)
>>> at
>>>
>> org.apache.solr.update.processor.ParseDateFieldUpdateProcessorFactory.validateFormatter(ParseDateFieldUpdateProcessorFactory.java:217)
>>> ... 56 more
>>> Caused by: java.lang.NullPointerException
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$PrefixTree.prefixLength(DateTimeFormatterBuilder.java:4538)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$PrefixTree.add0(DateTimeFormatterBuilder.java:4407)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$PrefixTree.add(DateTimeFormatterBuilder.java:4402)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$ZoneTextPrinterParser.getTree(DateTimeFormatterBuilder.java:4149)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$ZoneIdPrinterParser.parse(DateTimeFormatterBuilder.java:4260)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.parse(DateTimeFormatterBuilder.java:2362)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.parse(DateTimeFormatterBuilder.java:2362)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.parse(DateTimeFormatterBuilder.java:2362)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.parse(DateTimeFormatterBuilder.java:2372)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatter.parseUnresolved0(DateTimeFormatter.java:2111)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2040)
>>> at
>>>
>> java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1920)
>>> ... 58 more
>>>
>>> 2020-07-27 18:02:42.104 INFO (qtp997850486-21) [ ]
>> o.a.s.s.HttpSolrCall
>>> [admin] webapp=null path=/admin/cores
>>> params={name=foocore&action=CREATE&instanceDir=foocore&wt=json}
>> status=400
>>> QTime=1318
>>> 2020-07-27 18:02:53.943 INFO (qtp997850486-22) [ ]
>> o.a.s.s.HttpSolrCall
>>> [admin] webapp=null path=/admin/cores
>>> params={indexInfo=false&wt=json&_=1595872899383} status=0 QTime=0
>>> 2020-07-27 18:02:53.954 INFO (qtp997850486-21) [ ]
>> o.a.s.s.HttpSolrCall
>>> [admin] webapp=null path=/admin/info/system
>>> params={wt=json&_=1595872899384} status=0 QTime=6
>>> 2020-07-27 18:02:54.022 INFO (qtp997850486-19) [ ]
>> o.a.s.s.HttpSolrCall
>>> [admin] webapp=null path=/admin/info/system
>>> params={wt=json&_=1595872899384} status=0 QTime=6
>>>
>>>
>>> Chris
>>
>>