IBM Support

Migrating a document class gives an E_UNEXPECTED_EXCEPTION error

Troubleshooting


Problem

Importing a document class with IBM FileNet Content Engine (CE), FileNet Deployment Manager (FDM) generates errors: The import process is stopping because an exception is being thrown com.filenet.api.exception.EngineRuntimeException: FNRCE0066E: E_UNEXPECTED_EXCEPTION: An unexpected exception occurred. The unexpected exception is chained to this exception.

Symptom

FDM deployment.log shows import failure:

2012-06-17 13:23:25,237 ERROR [pool-1-thread-1] filenet_error.api.com.filenet.apiimpl.imex.LoggingStream - The import process is stopping because an exception is being thrown
com.filenet.api.exception.EngineRuntimeException: FNRCE0066E: E_UNEXPECTED_EXCEPTION: An unexpected exception occurred. The unexpected exception is chained to this exception.
at com.filenet.imex.impl.threads.ImportManager.interruptNow(ImportManager.java:173)
at com.filenet.imex.impl.threads.ImportPrefetchConsumer.run(ImportPrefetchConsumer.java:130)
at java.security.AccessController.doPrivileged(AccessController.java:284)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.filenet.apiimpl.util.J2EEUtil.doAs(J2EEUtil.java:84)
at com.filenet.imex.impl.threads.ActionExecutor.run(ActionExecutor.java:45)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
at java.util.concurrent.FutureTask.run(FutureTask.java:149)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:736)
Caused by:
java.lang.NullPointerException
at com.filenet.api.util.Id.<init>(Id.java:71)
at com.filenet.imex.impl.ImportContext.getObjectStore(ImportContext.java:263)
at com.filenet.imex.impl.ImporterBase.findMissingObjects(ImporterBase.java:348)
at com.filenet.imex.impl.ImporterBase.handleObjectNotFound(ImporterBase.java:909)
at com.filenet.imex.impl.ImporterImpl.performBatchByObject(ImporterImpl.java:287)
at com.filenet.imex.impl.ImporterBase.processBatch(ImporterBase.java:148)
at com.filenet.imex.impl.threads.ImportPrefetchConsumer.consume(ImportPrefetchConsumer.java:278)
at com.filenet.imex.impl.threads.ImportPrefetchConsumer.run(ImportPrefetchConsumer.java:113)
... 10 more
2012-06-17 13:23:25,347 INFO [ModalContext] filenet_error.api.com.filenet.apiimpl.imex.LoggingStream - An import run has completed; status: INTERRUPTED, objects processed 23, updates 0, creates 23, failures 0, skipped 0
2012-06-17 13:23:25,347 WARN [ModalContext] com.filenet.deployment.common.Executor - Import failed. See import log for more information.
23 items processed before interruption: 23 succeeded, 0 failed.

Cause

As documented in the P8 Product Documentation- Asset prepartion, GCD objects such as marking sets can not be imported from one FileNet P8 Domain to another.

Environment

Environments that would experience this issue would have marking set property templates assigned to the classes being migrated. This can be confirmed by checking the document class' property sheet. There would be a marking set property template listed on the Property Definitions tab.

Resolving The Problem

This workaround can be used to migrate the associated marking set property templates and classes to another P8 Domain. Assumptions made when using the steps below:

  • The issue was encountered while using FDM to import, hence all preparation for using FDM has been completed.
  • All steps below will be read and understood before proceeding
  • A PMR will be opened with IBM FileNet Support requesting assistance with GCD editing tools.
  • A backup of the GCD database will occur before editing

From FileNet Enterprise Manager (FEM) on the source system:
  1. Remove the marking set property definition from the document class to be migrated:
    1. Right click on the document class and select properties
    2. Selected the Property Definitions tab
    3. Hightlight the marking set template and click Remove
  2. Make a note of the guid of the marking set to be migrated:
    1. Click the Making Sets folder to display the marking sets in the right pane
    2. Right click on the marking set and select properties
    3. Select the Properties tab and select the radio button for All Properties. The Property Value for the Property Name ID is the guid to make note of.
    4. Restart the source CE

Generate a new FDM export:
  1. With the marking set property definition removed from the class, generate a new export with FDM.
  2. For details on generating an FDM export, see the related URL below

On the target (destination) system:
  1. Create the marking set exactly as it was created on the source system
    1. From FEM, right click on Marking Sets and select New
    2. Complete the wizard with the same info used to create the marking set on the source system. Note: For more details on creating Marking Sets, see the related URL below.
  2. Contact IBM FileNet Support for assistance in using a GCD editing tool to change the guid of the marking set on the target system to match the guid of the marking set on the source system collected in the steps above.
  3. Support will assist with the use of the GCD tool to:
    1. Generate an xml export of the GCD on the target system.
    2. Locate attribute id=’500001’ for the marking set name in the xml export.
    3. Changing the guid associated with attribute id=’500001’ for the marking set name to the guid of the marking set from the source system.
    4. Import the now updated xml
  4. Restart the target CE after the xml has been imported
  5. Using the new FDM export created after removing the marking set property definition, run FDM import on the target system. For more details on using FDM, see the Related URL below.
  6. Associate the newly imported marking property templates with the newly imported class
    1. In FEM, right click the document class and select Add Properties to Class
    2. Follow the Wizard and select the marking Property template to be associated with this class.
    3. After completing the Property template wizard, right click on the object store containing the document class from step 1 and select Refresh.
    4. Repeat steps 1-3 above on the source system to re-associate the marking property template with the class, as needed.
  7. Create a new document using the updated document class and check that the marking set property has been added to validate the process.

[{"Product":{"code":"SSNW2F","label":"FileNet P8 Platform"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Content Engine","Platform":[{"code":"PF033","label":"Windows"},{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"5.1;5.0;4.5.1;4.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2018

UID

swg21605949