jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Harrison <michael_harri...@persistent.com>
Subject How to avoid Exception:Aborting getChildNodes() - DocumentNodeState is null
Date Thu, 17 Aug 2017 18:04:50 GMT
We are using Oak 1.6.1 with an repository that is supported by a MongoDB back end. We are doing
a bulk upload of assets from an FTP site and creating versioned assets in the repository,
where the asset nodes have the following structure:

// Node "assetName", jcr:primaryType=nt:file, jcr:mixinTypes=mix:xxx           assetNode
//   Properties: jcr:mimeType - the MIME type
//               mix:size - the size of the asset file, in bytes
//               mix:metadataNames - the metadata names as a delimited string
//               mix:metadataValues - the metadata values as a delimited string
//   Node "content", jcr:primaryType=nt:resource                                contentNode
//     Properties: jcr:data - the actual asset bytes

All the assets are of type .jpg. There are several concurrent threads that read files from
the FTP site and create assets.

For some assets, when doing a Session.save() prior to checkin we get the following exception
(stack trace snipped for compactness):

org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: Aborting getChildNodes()
- DocumentNodeState is null for br15daca61b5b-0-2 at /:conflict/changeDeletedNode/Unassigned/sequence_of_attributes_works_fine
- Copy (2).png
    at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore$7.apply(DocumentNodeStore.java:1201)
    at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:274)
    at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:416)

I have seen a number of defect reports concerning "DocumentNodeState is null", but they all
seem to have been fixed.

Can someone help me to find out what we are doing wrong that causes this exception?

Mike Harrison

This e-mail may contain privileged and confidential information which is the property of Persistent
Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed.
If you are not the intended recipient, you are not authorized to read, retain, copy, print,
distribute or use this message. If you have received this communication in error, please notify
the sender and delete all copies of this message. Persistent Systems Ltd. does not accept
any liability for virus infected mails.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message