[
https://issues.apache.org/jira/browse/OAK-4911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
amin zamani updated OAK-4911:
-----------------------------
Summary: Can not read node Property when move code into a Thread (Java)
(was: Can not read node Property in a Thread (Java))
> Can not read node Property when move code into a Thread (Java)
> --------------------------------------------------------------
>
> Key: OAK-4911
> URL: https://issues.apache.org/jira/browse/OAK-4911
> Project: Jackrabbit Oak
> Issue Type: Bug
> Affects Versions: 1.3.10
> Environment: MAC OS X
> Reporter: amin zamani
> Attachments: java-code.txt
>
>
> Hallo,
> we develop an application and everything is working as it should. We upload
> documents and for each document a new preview file (node) should be
> generated. It works well when we execute the code synchron. But because of
> the fact that the generation of a preview file (like PDF format) can take
> very long time we decided to move the preview generation code into a usual
> java thread so that after the user is upload a document the website is
> responding very quick and does not wait till the preview file is generated
> but the preview file is generated parallel.
> No the problem: As soon as I move the same code regarding to the preview file
> generation into a usual thread (no modifications to the logic, only a thread
> is bordered to it) suddenly the node path does not exist, this is the error:
> -----------------
> Caused by: javax.jcr.PathNotFoundException: jcr:lastModifiedBy not found on
> /jcr:system/jcr:versionStorage/7e/f8/5b/7ef85b25-4598-4476-82df-446eb3a08a90/1.0/jcr:frozenNode/jcr:content
> at
> org.apache.jackrabbit.oak.jcr.session.NodeImpl$11.perform(NodeImpl.java:631)
> at
> org.apache.jackrabbit.oak.jcr.session.NodeImpl$11.perform(NodeImpl.java:625)
> at
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:207)
> at
> org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)
> at
> org.apache.jackrabbit.oak.jcr.session.NodeImpl.getProperty(NodeImpl.java:625)
> at
> com.westernacher.noah.util.content_repository.JcrUtil.getStringProperty(JcrUtil.java:35)
> ---------------------------
> In my point of view this is a bug. This is the code that works:
> Example:
> /// 1) User Upload document through browser in our web app..
> // 2) ... document uploaded and saved in OAK CR
> // 3) Now generate the preview:
> updateDocumentPreview(documentId);
> --------------------------------
> Now the same in a thread that does not work:
> => I have only moved the method "updateDocumentPreview(documentId);" in a
> Thread (Java 8):
> //Same code as before except the last line replaced by following lines:
> Runnable run = ()-> {updateDocumentPreview(documentId);}
> new Thread(run).start(); //Start the thread to generate a document preview
> --------------------------
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)