Problems in Syndication on Portal 6.0

Syndicators and subscribers should always be at the same build and patch level!




Here's a bit of feedback about syndication issues in Portal 6.0 - what problems (and any solutions) are people experiencing? To date I've encountered the following issues:

1. Syndication on 6.0.0.0 results in all content being "locked" on the subscriber by wpsadmin, and unable to be unlocked - permanently read-only
2. Syndication on 6.0.0.1 is unable to copy 90% of content or other items where there are permissions granted to [all users]
3. Syndication on 6.0.0.1 results in locked items in subscriber library that need to be unlocked by wpsadmin

All of these issues have occurred when syndicating from Windows to AIX installations.


Few issues I have came across, these are all problems in 6001 (fixes are available for these):

Problem:
Syndications always copies all the versions right now from Syndicator to Subscriber, this can cause large intial data copy even if versions are not required on Subscriber machine.


Problem:
Syndication is trying to send an older version of an item, but there's already a newer version of the item in its place on the Subscriber. The item existed at some point on the Syndicator, but it was deleted and another item with the same name was created in the same library. The problem occurs when WCM syndicates the old version of the item (the one that is deleted), and WCM attempts to add the item to the repository. Since an item already exists with this name, a DuplicatePathException is thrown. Any subsequent updates that reference the item also fail, and an ItemNotFoundException is thrown. Below is an example of the stack trace for an ItemNotFoundException.

[1/5/07 18:50:35:170 EST] 00000054 RepositoryUpd E Could not find existing item with ID: a69fa88042b25d169e2edead51746063
javax.jcr.ItemNotFoundException: A node does not exist with UUID: a69fa88042b25d169e2edead51746063
at com.ibm.icm.jcr.WorkspaceImpl.getNodeByUuid(WorkspaceImpl.java(Compiled Code))
at com.ibm.workplace.wcm.services.repository.RepositoryServiceImpl.getNodeByUUID(RepositoryServiceImpl.java(Compiled Code))
at com.ibm.workplace.wcm.services.transaction.steps.repository.RepositoryUpdate.getNode(RepositoryUpdate.java:181)
at com.ibm.workplace.wcm.services.transaction.steps.repository.RepositoryUpdate.preExecute(RepositoryUpdate.java:149)
at com.ibm.workplace.wcm.services.transaction.TxUnitOfWork.run(TxUnitOfWork.java:68)
at com.ibm.workplace.wcm.services.content.ContentServiceImpl.save(ContentServiceImpl.java:5698)
at com.ibm.workplace.wcm.services.content.ContentServiceImpl.update(ContentServiceImpl.java:6189)
at com.ibm.workplace.wcm.services.content.ContentServiceImpl.update(ContentServiceImpl.java:6279)
at com.aptrix.deployment.subscriber.PackageProcessor.repositoryUpdate(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.updateItemsInRepository(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.finishPackage(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.processUpdate(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.process(PackageProcessor.java:368)
at com.aptrix.deployment.subscriber.PlutoSubscriberInterface.processPackage(PlutoSubscriberInterface.java:238)
at com.aptrix.syndication.business.subscriber.SubscriberTaskManager.processUpdate(SubscriberTaskManager.java:148)
at com.aptrix.syndication.business.subscriber.SubscriberTaskManager$UpdateTask.doManagedWork(SubscriberTaskManager.java:109)


Problem:
After purging an item on the subscriber and a full update is kicked off from the syndicator, the subscriber throws an exception when attempting to recreate the item because the version entry for the item still exists in the event log's version table (JCR.EV_VERSION).

[1/11/07 1:02:52:139 EST] 0000005a PackageProces W IWKPD1029X: Could not store doc: LONDON Leasing, IdRef: {4b578980435d4685be69ff82fa89bead, com.aptrix.pluto.site.SiteArea}
java.lang.RuntimeException: com.ibm.workplace.wcm.services.eventlog.EventLogException: IWKMU1062X: Message: Cannot add version entry for item [Ljava.lang.Object;@adfe8b6., Cause: com.ibm.websphere.ce.cm.DuplicateKeyException: [IBM][CLI Driver][DB2/AIX64] SQL0803N One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "1" constrains table "JCR.EV_VERSION" from having duplicate rows for those columns. SQLSTATE=23505

at com.ibm.workplace.wcm.services.content.ContentServiceImpl.addToParent(ContentServiceImpl.java:4935)
at com.ibm.workplace.wcm.services.content.ContentServiceImpl.addToParent(ContentServiceImpl.java:4885)
at com.aptrix.deployment.subscriber.PackageProcessor.repositorySaveNew(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.saveNewItem(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.saveItemAndParents(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.addItemsToRepository(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.finishPackage(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.processUpdate(PackageProcessor.java(Compiled Code))
at com.aptrix.deployment.subscriber.PackageProcessor.process(PackageProcessor.java:365)
at com.aptrix.deployment.subscriber.PlutoSubscriberInterface.processPackage(PlutoSubscriberInterface.java:238)
at com.aptrix.syndication.business.subscriber.SubscriberTaskManager.processUpdate(SubscriberTaskManager.java:148)
at com.aptrix.syndication.business.subscriber.SubscriberTaskManager$UpdateTask.doManagedWork(SubscriberTaskManager.java:109)
at com.aptrix.syndication.business.TaskManager$ManagedTask.run(TaskManager.java:832)
at com.ibm.wps.services.workmanager.impl.WasWorkWrapper.run(Unknown Source)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:258)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
at javax.security.auth.Subject.doAs(Subject.java:477)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:325)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:218)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:154)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))


0 comments: