[ 
https://issues.apache.org/jira/browse/OAK-11788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18001392#comment-18001392
 ] 

Christian Schneider commented on OAK-11788:
-------------------------------------------

[~reschke] Unfortunately I don't know where the change of primary node type 
happens. 

> Make sure path is added when we throw exceptions in NodeDelegate and NodeImpl
> -----------------------------------------------------------------------------
>
>                 Key: OAK-11788
>                 URL: https://issues.apache.org/jira/browse/OAK-11788
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: jcr
>            Reporter: Christian Schneider
>            Priority: Major
>
> We have several cases where we apply content packages and get exceptions from 
> Oak about a node or property without a path.
> This makes it very hard to spot the issue in large packages.
> We must make sure we add the path to the exception message or as field.
> Example:
> {code:java}
> org.apache.sling.distribution.common.DistributionException: Error trying to 
> extract package at path 
> /etc/packages/some/some.ui.content-0.0.1-SNAPSHOT-cp2fm-converted.zip because 
> of 'org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: 
> javax.jcr.nodetype.ConstraintViolationException: No matching property 
> definition: jcr:data = {198 bytes}'
>       at 
> org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handlePath(ContentPackageExtractor.java:99)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handle(ContentPackageExtractor.java:82)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.PackageHandler.apply(PackageHandler.java:67)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.BookKeeper.importPackage(BookKeeper.java:162)
>       at 
> org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.processPackageMessage(DistributionSubscriber.java:333)
>       at 
> org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.tryProcess(DistributionSubscriber.java:262)
>       at 
> org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.handlePackageMessage(DistributionSubscriber.java:246)
>       at 
> com.adobe.granite.distribution.service.mclient.ServicePoller$Adapter.handle(ServicePoller.java:287)
>       at 
> com.adobe.granite.distribution.service.mclient.ServicePoller.processMessage(ServicePoller.java:240)
>       at 
> com.adobe.granite.distribution.service.mclient.ServicePoller.getNextMessageBatch(ServicePoller.java:124)
>       at 
> com.adobe.granite.distribution.service.mclient.ServicePoller.poller(ServicePoller.java:97)
>       at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>       at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: javax.jcr.RepositoryException: 
> org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: 
> javax.jcr.nodetype.ConstraintViolationException: No matching property 
> definition: jcr:data = {198 bytes}
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.AbstractArtifactHandler.importDocView(AbstractArtifactHandler.java:187)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.GenericArtifactHandler.accept(GenericArtifactHandler.java:88)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1116)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:977)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1019)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1019)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1019)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1019)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1019)
>       at org.apache.jackrabbit.vault.fs.io.Importer.run(Importer.java:532)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:284)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:399)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:357)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:343)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.installPackage(ContentPackageExtractor.java:138)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.installPackage(ContentPackageExtractor.java:120)
>       at 
> org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handlePath(ContentPackageExtractor.java:93)
>       ... 15 more
> Caused by: org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: 
> javax.jcr.nodetype.ConstraintViolationException: No matching property 
> definition: jcr:data = {198 bytes}
>       at 
> org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:256)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.AbstractArtifactHandler.importDocView(AbstractArtifactHandler.java:177)
>       ... 31 more
> Caused by: org.xml.sax.SAXException: 
> javax.jcr.nodetype.ConstraintViolationException: No matching property 
> definition: jcr:data = {198 bytes}
> javax.jcr.nodetype.ConstraintViolationException: No matching property 
> definition: jcr:data = {198 bytes}
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXHandler.endDocument(DocViewSAXHandler.java:209)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:754)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:547)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
>       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:1224)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
>       at 
> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:326)
>       at 
> org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:254)
>       ... 32 more
> Caused by: javax.jcr.nodetype.ConstraintViolationException: No matching 
> property definition: jcr:data = {198 bytes}
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.NodeDelegate.setProperty(NodeDelegate.java:495)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl$36.perform(NodeImpl.java:1417)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl$36.perform(NodeImpl.java:1404)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:230)
>       at 
> org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.internalSetProperty(NodeImpl.java:1404)
>       at 
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.setProperty(NodeImpl.java:377)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.endDocument(DocViewImporter.java:579)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXHandler.endDocument(DocViewSAXHandler.java:207)
>       ... 41 more  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to