Adam McElwee created SOLR-7512:
----------------------------------
Summary: SolrOutputFormat creates an invalid solr.xml in the solr
home zip for MapReduceIndexerTool
Key: SOLR-7512
URL: https://issues.apache.org/jira/browse/SOLR-7512
Project: Solr
Issue Type: Bug
Components: contrib - MapReduce
Affects Versions: 5.1
Reporter: Adam McElwee
Priority: Blocker
Sometime after Solr 4.9, the `MapReduceIndexerTool` got busted because invalid
`solr.xml` contents were being written to the solr home dir zip. My guess is
that a 5.0 change made the invalid file start to matter.
The error manifests as:
{code:java}
Error: java.lang.IllegalStateException: Failed to initialize record writer for
org.apache.solr.hadoop.MapReduceIndexerTool/SolrMapper,
attempt_1430953999892_0012_r_000001_1
at
org.apache.solr.hadoop.SolrRecordWriter.<init>(SolrRecordWriter.java:126)
at
org.apache.solr.hadoop.SolrOutputFormat.getRecordWriter(SolrOutputFormat.java:163)
at
org.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter.<init>(ReduceTask.java:569)
at
org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:643)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:394)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:175)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:170)
Caused by: org.apache.solr.common.SolrException: org.xml.sax.SAXParseException;
Premature end of file.
at org.apache.solr.core.Config.<init>(Config.java:156)
at
org.apache.solr.core.SolrXmlConfig.fromInputStream(SolrXmlConfig.java:127)
at org.apache.solr.core.SolrXmlConfig.fromFile(SolrXmlConfig.java:110)
at
org.apache.solr.core.SolrXmlConfig.fromSolrHome(SolrXmlConfig.java:138)
at org.apache.solr.core.CoreContainer.<init>(CoreContainer.java:142)
at
org.apache.solr.hadoop.SolrRecordWriter.createEmbeddedSolrServer(SolrRecordWriter.java:162)
at
org.apache.solr.hadoop.SolrRecordWriter.<init>(SolrRecordWriter.java:119)
... 9 more
Caused by: org.xml.sax.SAXParseException; Premature end of file.
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.solr.core.Config.<init>(Config.java:145)
... 15 more
{code}
The last version that I've successfully used `MapReduceIndexerTool` was 4.9,
and I verified that this patch resolves the issue for me (testing on 5.1). I
spent a couple hours trying to write a simple test case to exhibit the error,
but I haven't quite figured out how to deal with the
{noformat}java.security.AccessControlException: java.io.FilePermission
...{noformat} errors.
Pull request for bugfix [here|https://github.com/apache/lucene-solr/pull/147]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]