MODE-1822 - VersionManager.checkin throws exception in the transaction when using JTA transaction manager
ozhou Feb 27, 2013 11:05 PMHi Randall,
I re-tested this issue with latest 3.1.3, the bug is fixed. Thanks.
But I found another issue may relate to this fix.
RIght after calling the function described in the issue, I call the following code to query the content that persist just now
public void testCreateNewNode() { ..... createNewNode(sessionHolder); Query query = sessionHolder.getSession().getWorkspace().getQueryManager().createQuery("SELECT * FROM [pd:product]", Query.JCR_SQL2); System.out.println(query.execute().toString()); } @Transactional public void createNewNode(JCRSessionHolder sessionHolder) throws ItemExistsException, PathNotFoundException, NoSuchNodeTypeException, LockException, VersionException, ConstraintViolationException, RepositoryException { VersionManager vm = sessionHolder.getSession().getWorkspace().getVersionManager(); Node node = sessionHolder.getSession().getRootNode().addNode("Test3", "pd:product"); node.addMixin("mix:versionable"); node.setProperty("name", "lalalal"); node.setProperty("code", "lalalal"); sessionHolder.getSession().save(); vm.checkin(node.getPath()); }
The chances are high to get the duplicated result. But not every time.
+---+-----------------+-----------------+----------------------------------+---------------------------------------------+---------------------+---------------------+----------------------+---------------------------+-----------------------+---------------------------------------------------------------+--------------------+ | # | pd:product.name | pd:product.code | pd:product.jcr:primaryType | pd:product.jcr:mixinTypes | pd:product.jcr:path | pd:product.jcr:name | pd:product.jcr:score | pd:product.mode:localName | pd:product.mode:depth | Location(pd:product) | Score(pd:product) | +---+-----------------+-----------------+----------------------------------+---------------------------------------------+---------------------+---------------------+----------------------+---------------------------+-----------------------+---------------------------------------------------------------+--------------------+ | 1 | lalalal | lalalal | {http://www.ozhou.com/pd}product | {http://www.jcp.org/jcr/mix/1.0}versionable | /{}Test3 | {}Test3 | | Test3 | 1 | /{}Test3 @ 8c3fc847505d64ce92d520-8927-4d8b-9389-53099a315930 | 3.4474973678588867 | | 2 | lalalal | lalalal | {http://www.ozhou.com/pd}product | {http://www.jcp.org/jcr/mix/1.0}versionable | /{}Test3 | {}Test3 | | Test3 | 1 | /{}Test3 @ 8c3fc847505d64ce92d520-8927-4d8b-9389-53099a315930 | 3.4474973678588867 | +---+-----------------+-----------------+----------------------------------+---------------------------------------------+---------------------+---------------------+----------------------+---------------------------+-----------------------+---------------------------------------------------------------+--------------------+