Robert Munteanu created SLING-11241:
---------------------------------------
Summary: Content package with index definitions missing the Oak
namespace cause index extraction to fail
Key: SLING-11241
URL: https://issues.apache.org/jira/browse/SLING-11241
Project: Sling
Issue Type: Bug
Affects Versions: Content-Package to Feature Model Converter 1.1.14
Reporter: Robert Munteanu
Assignee: Robert Munteanu
Fix For: Content-Package to Feature Model Converter 1.1.16
If a filevault content package index definition misses the oak namespace
declaration, e.g
{code:xml}
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0"
xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:rep="internal"
jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="nt:unstructured">
<foo
jcr:primaryType="oak:QueryIndexDefinition"
propertyNames="[foo]"
reindex="{Boolean}false"
reindexCount="{Long}1"
type="property">
</foo>
</jcr:root>
{code}
parsing the XML will fail since we are synthesizing an {{oak:index}} node,
which is now not resolvable to a namespace URI.
{code}
org.apache.sling.feature.cpconverter.ConverterException: ConverterException
occured on path /jcr_root/_oak_index/.content.xml with message: Failed parsing
the index definitions
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:538)
at
org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:112)
[0m[91m at
org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
at
org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
at
org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
at
org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:91)
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.processSubPackage(ContentPackage2FeatureModelConverter.java:404)
at
org.apache.sling.feature.cpconverter.handlers.ContentPackageEntryHandler.processSubPackage(ContentPackageEntryHandler.java:34)
at
org.apache.sling.feature.cpconverter.handlers.AbstractContentPackageHandler.handle(AbstractContentPackageHandler.java:95)
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.process(ContentPackage2FeatureModelConverter.java:522)
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:536)
... 14 more
[0m[91mCaused by: org.apache.sling.feature.cpconverter.ConverterException:
Failed parsing the index definitions
at
org.apache.sling.feature.cpconverter.handlers.IndexDefinitionsEntryHandler.handle(IndexDefinitionsEntryHandler.java:129)
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.process(ContentPackage2FeatureModelConverter.java:522)
at
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:536)[0m[91m
... 24 more
[0m[91mCaused by:
org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: Unknown
namespace prefix used in file name 'oak:index'
at
org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:256)
at
org.apache.sling.feature.cpconverter.handlers.IndexDefinitionsEntryHandler.handle(IndexDefinitionsEntryHandler.java:118)
... 26 more
[0m[91mCaused by: org.xml.sax.SAXException: Unknown namespace prefix used in
file name 'oak:index'
javax.jcr.NamespaceException: Unknown prefix oak[0m[91m
[0m[91m at
org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXHandler.startElement(DocViewSAXHandler.java:312)[0m[91m
[0m[91m at
java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)[0m[91m
[0m[91m at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)[0m[91m
[0m[91m at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:836)
at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at
java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at
java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at
java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at
java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at
java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at
java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
at
org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:254)
... 27 more
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)