You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Ravindra Ramarao (JIRA)" <ji...@apache.org> on 2008/01/23 19:37:34 UTC

[jira] Updated: (JCR-1338) ItemImpl.save(1251) | /: unable to update item.

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

Ravindra Ramarao updated JCR-1338:
----------------------------------


I don't think it is  a usage issue. It is similar to importing a repository and then deleting a document. The repository always constructs the directories on the file system if they do not exist.  I see the problem is on the delete only and not during create. That should clearly state that it is not a usage issue.  The saveSession is the one that is causing the problem. 

>  ItemImpl.save(1251) | /: unable to update item.
> ------------------------------------------------
>
>                 Key: JCR-1338
>                 URL: https://issues.apache.org/jira/browse/JCR-1338
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.4
>         Environment: Tomcat5.0 , Jackrabbit1.4 and dependent jars. Windows platform, Informix DB.
>            Reporter: Ravindra Ramarao
>            Priority: Critical
>
> Steps to create:
> Repository Home=C:\CM directory.
> repository.xml is located under the home.
> Start TomcatCat which in turn starts the repository.
> Create a document in the repository.
> Stop the server.
> Delete the subdirectories underneath the repository home. (meaning workspace,index,.............).
> Start the Tomcat back . 
> Try deleting the document which was saved previously.
> In my scenarion I have a template and a document. The relationship is one-to-many between template-document.
> All documents in the repository have a UUID . I am using this to locate and delete.
> Find the Document.
> Get the UUID from the name value pair in the UI.
> Find the node from the repository using the UUID>
> node.remove()
>             Node nodeToDelete = jcrTemplate.getNodeByUUID(id);
> 		NodeIterator nodeIter = nodeToDelete.getNodes();  - Making sure there are no child nodes.
> 		if (nodeIter.getSize() == 0) {
> 			nodeToDelete.remove();
> 		}
> 		 
> 		saveSession();
> this is the stacktrace.
> 2008-01-22 13:39:15,822 DEBUG [http-8080-Processor22] ItemManager.itemInvalidated(761) | invalidated item 10c3e652-5f6b-43a5-a2be-e5b4724181a6
> 2008-01-22 13:39:15,822 DEBUG [http-8080-Processor22] ItemManager.evictItem(702) | removing item 10c3e652-5f6b-43a5-a2be-e5b4724181a6 from cache
> 2008-01-22 13:39:31,942 DEBUG [http-8080-Processor22] TransactionSynchronizationManager.getResource(136) | Retrieved value [org.springmodules.jcr.SessionHolder@1305bf8] for key [SessionFactory for Jackrabbit 1.4|workspace=null] bound to thread [http-8080-Processor22]
> 2008-01-22 13:39:31,957 DEBUG [http-8080-Processor22] TransactionSynchronizationManager.getResource(136) | Retrieved value [org.springmodules.jcr.SessionHolder@1305bf8] for key [SessionFactory for Jackrabbit 1.4|workspace=null] bound to thread [http-8080-Processor22]
> 2008-01-22 13:39:31,957 DEBUG [http-8080-Processor22] JcrTemplate.execute(71) | Found thread-bound Session for JcrTemplate
> 2008-01-22 13:39:31,973 DEBUG [http-8080-Processor22] ItemManager.itemCreated(750) | created item cafebabe-cafe-babe-cafe-babecafebabe
> 2008-01-22 13:39:31,989 DEBUG [http-8080-Processor22] ItemManager.cacheItem(689) | caching item cafebabe-cafe-babe-cafe-babecafebabe
> 2008-01-22 13:39:32,285 DEBUG [http-8080-Processor22] ItemImpl.save(1251) | /: unable to update item.
> 2008-01-22 13:39:32,317 DEBUG [http-8080-Processor22] JcrTemplate.execute(95) | Not closing pre-bound Jcr Session after JcrTemplate

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.