[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-27 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

Dear Support, 

is there any new news knowledge about the error(s) / why it does not work?

Thanks and best regards,
Amin

> 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: JCROakTest.java, java-code.txt, mixin-definitions.cnd
>
>
> 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)


[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-19 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

Hi Marcel,

thank you very much for investigating with me your time in this issue -> thanks 
for your help!

I have attached attached the java Class "JCROakTest.java" to this ticket. There 
are maybe only 3 Things you may modify at the beginning of the class:

   private static Mongo mongo = new MongoClient("localhost");
private static String databaseName = "jcr-dev";
private String mixinDefs = "/mixin-definitions.cnd";

Inside the main start method (public static void main) you see that I create a 
document with no thread - that works. And then afterward I create a document 
inside a thread. The same code but only inside a thread. 

But unfortunately now I have the problem that the document creation inside the 
thread shows to me the error:
=> Exception in thread "Thread-1" java.lang.RuntimeException: 
javax.jcr.RepositoryException: This session has been closed.

I use the same logic, exactly the same code inside our web application, the 
same kind of session but I don't know why we get in our webapp this error:

Caused by: javax.jcr.PathNotFoundException: noah:createdBy not found on 
/jcr:system/jcr:versionStorage/d2/88/43/d28843a2-c666-4936-b08b-e53912da4ecf/1.0/jcr:frozenNode


However, I think when we are able to fix the first problem (session closed) 
then the second error will appear.

Thank you very much for your appreciated help!

Shalom
Amin

> 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)


[jira] [Updated] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-19 Thread amin zamani (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

amin zamani updated OAK-4911:
-
Attachment: mixin-definitions.cnd

I have also attached the mixin-defintions (file mixin-definitions.cnd)  that 
you may lay at your project classpath path like:

src/main/resources/mixin-definitions.cnd

> 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: JCROakTest.java, java-code.txt, mixin-definitions.cnd
>
>
> 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)


[jira] [Updated] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-19 Thread amin zamani (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

amin zamani updated OAK-4911:
-
Attachment: JCROakTest.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: JCROakTest.java, 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)


[jira] [Comment Edited] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani edited comment on OAK-4911 at 10/12/16 6:36 PM:


I have now modified the structure of the code:

Now in ONE THREAD A NEW FILE NODE is created but when I try to access the 
property IN THE SAME THREAD I still get the same error. I access in the same 
java thread where I have created the file the properties of the node that I 
just have created before in the same thread. Here the example:

New thread created with following content, it calls only the 
createDocument(...) method and then I get the exception - without a thread i 
don't have the exception:



public Document createDocument(String folderId, CreateDocumentDto createDto) {
try {
Node node = jcrSession.getNodeByIdentifier(folderId);

Binary binary = 
jcrSession.getValueFactory().createBinary(createDto.getContent());
try {
Node file = JcrUtils.getOrCreateByPath(
node,
"",
DO_CREATE_UNIQUE_LEAF,
NodeType.NT_FOLDER,
NodeType.NT_FILE,
DO_AUTO_SAVE);

file.addMixin(NodeType.MIX_VERSIONABLE);

file.addMixin(NodeType.MIX_TITLE);
file.setProperty(Property.JCR_TITLE, createDto.getTitle());
file.setProperty(Property.JCR_DESCRIPTION, 
createDto.getDescription());

file.addMixin(CustomNodeType.NOAH_ENTITY_DOCUMENT);
if (createDto.getDocumentType() != null) {
file.setProperty(CustomProperty.NOAH_DOCUMENT_TYPE_VALUE, 
createDto.getDocumentType().getValue());
file.setProperty(CustomProperty.NOAH_DOCUMENT_TYPE_LABEL, 
createDto.getDocumentType().getLabel());
}
file.setProperty(CustomProperty.NOAH_ENTITY_URL, 
createDto.getEntityUrl());

file.addMixin(CustomNodeType.NOAH_AUDITABLE);
file.setProperty(CustomProperty.NOAH_CREATED_BY, 
SecurityUtil.getCurrentUserLogin());

Node content = JcrUtils.getOrAddNode(file, Node.JCR_CONTENT, 
NodeType.NT_RESOURCE);
content.setProperty(Property.JCR_DATA, binary);
content.setProperty(Property.JCR_MIMETYPE, 
createDto.getContentType());

String previewFileType="";
if(createDto.getPreviewType() != null){
// Ok, we are creating a preview document, so add the 
preview type
file.addMixin(CustomNodeType.NOAH_PREVIEW_DOCUMENT);
System.out.println("Create preview document, set preview 
type:"+createDto.getPreviewType().name());
file.setProperty(CustomProperty.NOAH_PREVIEW_TYPE, 
createDto.getPreviewType().name());
previewFileType = createDto.getPreviewType().name();
}

jcrSession.refresh(true);
jcrSession.save();

jcrSession.refresh(true);
System.out.println("Created "+previewFileType+" document,id: 
"+file.getIdentifier()+" ("+createDto.getTitle()+"),path: "+file.getPath());
LOG.debug("Created "+previewFileType+" document,id: 
"+file.getIdentifier()+" ("+createDto.getTitle()+"),path: "+file.getPath());

Version versionNode = versionFile(file, binary);
jcrSession.refresh(true);
return toDocument(versionNode);

} finally {
binary.dispose();
}
} catch (RepositoryException e) {
throw new RuntimeRepositoryException(e);
}
}
 




was (Author: amin.zam...@westernacher.com):
I have now modified the structure of the code:

Now in a thread a new file node is created but when I try to access the 
property I still get the same error. I access in the same java thread where I 
have created the file the properties of the node that I just have created 
before. Here a little exampe:

new thread created with following content, it calls only the 
createDocument(...) method and then I get the exception - without a thread i 
don't have the exception:



public Document createDocument(String folderId, CreateDocumentDto createDto) {
try {
Node node = jcrSession.getNodeByIdentifier(folderId);

Binary binary = 
jcrSession.getValueFactory().createBinary(createDto.getContent());
try {
Node file = JcrUtils.getOrCreateByPath(
node,
"",
DO_CREATE_UNIQUE_LEAF,
NodeType.NT_FOLDER,

[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

And then we get this error if above method is called :

Caused by: javax.jcr.PathNotFoundException: noah:createdBy not found on 
/jcr:system/jcr:versionStorage/d2/88/43/d28843a2-c666-4936-b08b-e53912da4ecf/1.0/jcr:frozenNode

> 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)


[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

and then the last method which is called inside of createDocument(..) is 
toDocument(versionNode)
=> In this method the exception is thrown:

private Document toDocument(Node documentNode) {
try {
Node file = null;
String identifier = null;

// flag to show if current node is already versioned
boolean isVersioned = true;

if( documentNode instanceof Version ){ //Versioned node
file = documentNode.getNode(Node.JCR_FROZEN_NODE);
identifier = JcrUtil.getStringProperty(file, 
Property.JCR_FROZEN_UUID);
}else{ //unversioned node
file = documentNode;
isVersioned = false;
identifier = documentNode.getIdentifier();
}

Node fileContent = file.getNode(Property.JCR_CONTENT);
String versionName = documentNode.getName();
ZonedDateTime creationDate = 
DateUtil.toZonedDateTime(file.getProperty(Property.JCR_CREATED).getDate());
ZonedDateTime lastModificationDate = 
DateUtil.toZonedDateTime(JcrUtils.getLastModified(fileContent));
String createdBy = JcrUtil.getStringProperty(file, 
CustomProperty.NOAH_CREATED_BY);
String lastModifiedBy = JcrUtil.getStringProperty(fileContent, 
Property.JCR_LAST_MODIFIED_BY);
String title = JcrUtils.getStringProperty(file, Property.JCR_TITLE, 
null);
String description = JcrUtils.getStringProperty(file, 
Property.JCR_DESCRIPTION, null);
String entityUrl = JcrUtil.getStringProperty(file, 
CustomProperty.NOAH_ENTITY_URL);
String documentTypeValue = JcrUtils.getStringProperty(file, 
CustomProperty.NOAH_DOCUMENT_TYPE_VALUE, null);
String documentTypeLabel = JcrUtils.getStringProperty(file, 
CustomProperty.NOAH_DOCUMENT_TYPE_LABEL, null);
ValueListEntry documentType = isNoneEmpty(documentTypeValue, 
documentTypeLabel) ? new ValueListEntry(documentTypeValue, documentTypeLabel) : 
null;
String contentType = JcrUtil.getStringProperty(fileContent, 
Property.JCR_MIMETYPE);
long fileSize = 
fileContent.getProperty(Property.JCR_DATA).getLength();
String previewType = JcrUtils.getStringProperty(file, 
CustomProperty.NOAH_PREVIEW_TYPE, null);

return new Document(identifier,previewType, versionName, 
creationDate, lastModificationDate, createdBy, lastModifiedBy, title, 
description, entityUrl, documentType, contentType, fileSize);
} catch (RepositoryException e) {
throw new RuntimeRepositoryException(e);
}
}

> 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 

[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

Inside above createDocument at the end the document which was created is 
versioned, the above called "versionFile" method for versioning the document 
has this implementation:

   private Version versionFile(Node file, Binary fileContent) {
try {
VersionManager versionManager = 
file.getSession().getWorkspace().getVersionManager();

versionManager.checkout(file.getPath());

file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_LAST_MODIFIED, 
Calendar.getInstance());

file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_LAST_MODIFIED_BY, 
SecurityUtil.getCurrentUserLogin());
file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_DATA, 
fileContent);

jcrSession.save();
Version version = versionManager.checkin(file.getPath());


versionManager.getVersionHistory(file.getPath()).addVersionLabel(version.getName(),
 NOAH_LAST_VERSION_LABEL, DO_MOVE_LABEL);

return version;
} catch (RepositoryException e) {
throw new RuntimeRepositoryException(e);
}
}

> 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)


[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

I have now modified the structure of the code:

Now in a thread a new file node is created but when I try to access the 
property I still get the same error. I access in the same java thread where I 
have created the file the properties of the node that I just have created 
before. Here a little exampe:

new thread created with following content, it calls only the 
createDocument(...) method and then I get the exception - without a thread i 
don't have the exception:



public Document createDocument(String folderId, CreateDocumentDto createDto) {
try {
Node node = jcrSession.getNodeByIdentifier(folderId);

Binary binary = 
jcrSession.getValueFactory().createBinary(createDto.getContent());
try {
Node file = JcrUtils.getOrCreateByPath(
node,
"",
DO_CREATE_UNIQUE_LEAF,
NodeType.NT_FOLDER,
NodeType.NT_FILE,
DO_AUTO_SAVE);

file.addMixin(NodeType.MIX_VERSIONABLE);

file.addMixin(NodeType.MIX_TITLE);
file.setProperty(Property.JCR_TITLE, createDto.getTitle());
file.setProperty(Property.JCR_DESCRIPTION, 
createDto.getDescription());

file.addMixin(CustomNodeType.NOAH_ENTITY_DOCUMENT);
if (createDto.getDocumentType() != null) {
file.setProperty(CustomProperty.NOAH_DOCUMENT_TYPE_VALUE, 
createDto.getDocumentType().getValue());
file.setProperty(CustomProperty.NOAH_DOCUMENT_TYPE_LABEL, 
createDto.getDocumentType().getLabel());
}
file.setProperty(CustomProperty.NOAH_ENTITY_URL, 
createDto.getEntityUrl());

file.addMixin(CustomNodeType.NOAH_AUDITABLE);
file.setProperty(CustomProperty.NOAH_CREATED_BY, 
SecurityUtil.getCurrentUserLogin());

Node content = JcrUtils.getOrAddNode(file, Node.JCR_CONTENT, 
NodeType.NT_RESOURCE);
content.setProperty(Property.JCR_DATA, binary);
content.setProperty(Property.JCR_MIMETYPE, 
createDto.getContentType());

String previewFileType="";
if(createDto.getPreviewType() != null){
// Ok, we are creating a preview document, so add the 
preview type
file.addMixin(CustomNodeType.NOAH_PREVIEW_DOCUMENT);
System.out.println("Create preview document, set preview 
type:"+createDto.getPreviewType().name());
file.setProperty(CustomProperty.NOAH_PREVIEW_TYPE, 
createDto.getPreviewType().name());
previewFileType = createDto.getPreviewType().name();
}

jcrSession.refresh(true);
jcrSession.save();

jcrSession.refresh(true);
System.out.println("Created "+previewFileType+" document,id: 
"+file.getIdentifier()+" ("+createDto.getTitle()+"),path: "+file.getPath());
LOG.debug("Created "+previewFileType+" document,id: 
"+file.getIdentifier()+" ("+createDto.getTitle()+"),path: "+file.getPath());

Version versionNode = versionFile(file, binary);
jcrSession.refresh(true);
return toDocument(versionNode);

} finally {
binary.dispose();
}
} catch (RepositoryException e) {
throw new RuntimeRepositoryException(e);
}
}
 



> 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 

[jira] [Commented] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-12 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

I have added in each thread before it access the node this statement:

jcrSession.refresh(true);

But same error still exists -;(

> 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)


[jira] [Updated] (OAK-4911) Can not read node Property when move code into a Thread (Java)

2016-10-10 Thread amin zamani (JIRA)

 [ 
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)


[jira] [Updated] (OAK-4911) Can not read node Property in a Thread (Java)

2016-10-10 Thread amin zamani (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

amin zamani updated OAK-4911:
-
Attachment: java-code.txt

I also have attached the important parts of the code as you can see. The error 
is thrown in the "toDocument" method were access to the property 
"lastModifiedBy" is not working for example.

Any ideas? Thank you very much for your help!

Best regards,
Amin Zamani

> Can not read node Property in 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)


[jira] [Commented] (OAK-4911) Can not read node Property in a Thread (Java)

2016-10-10 Thread amin zamani (JIRA)

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

amin zamani commented on OAK-4911:
--

Here some information of implementation of the method for updating the node - 
but as mentioned before, it is doing nothing different but is only called in a 
thread - it only writes an input stream of a file into the preview node in oak, 
nothing more and then returns deep inside of it some properties of the node :
void updateDocumentPreview(String originalDocumentId){
//Get inputstream  of the preview (preview file is in local directory of OS)
//Now save the preview file content into oak:
//Call of content update method:
updateDocumentContent(previewNodeIdToUpdate, InputStream);

}

And this is the implementation of the method with the input stream of the 
preview file:

 public Document updateDocumentContent(String documentId, InputStream 
fileContents) {
try {
Binary binary = 
jcrSession.getValueFactory().createBinary(fileContents);
try {
Node file = jcrSession.getNodeByIdentifier(documentId);
Version updatedVersion = versionFile(file, binary);

return toDocument(updatedVersion);
} finally {
binary.dispose();
}
} catch (Exception e) {
throw new RuntimeItemNotFoundException(e);
} 
}


 => The exception is thrown in the method toDocument(updatedVersion)

First, This is the implementation of the "versionFile(file, binary)" method:

 private Version versionFile(Node file, Binary fileContent) {
try {
VersionManager versionManager = 
file.getSession().getWorkspace().getVersionManager();

versionManager.checkout(file.getPath());

file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_LAST_MODIFIED, 
Calendar.getInstance());

file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_LAST_MODIFIED_BY, 
SecurityUtil.getCurrentUserLogin());
file.getNode(Property.JCR_CONTENT).setProperty(Property.JCR_DATA, 
fileContent);

jcrSession.save();
Version version = versionManager.checkin(file.getPath());


versionManager.getVersionHistory(file.getPath()).addVersionLabel(version.getName(),
 NOAH_LAST_VERSION_LABEL, DO_MOVE_LABEL);

return version;
} catch (RepositoryException e) {
throw new RuntimeRepositoryException(e);
}
}





> Can not read node Property in 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
>
> 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 

[jira] [Created] (OAK-4911) Can not read node Property in a Thread (Java)

2016-10-10 Thread amin zamani (JIRA)
amin zamani created OAK-4911:


 Summary: Can not read node Property in 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


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)