DFC_BOF_ASPECT_INVALID_SET error and XCP types

The problem

When working with xcp types you may get following error:

DfAspectOperationException:: THREAD: main; MSG: [DFC_BOF_ASPECT_INVALID_SET] An attempt to create incompatible aspect set:
IBVDocumentAspect,cis_annotation_aspect,defaultdatatypeaspect,dmc_topic_aspect.; ERRORCODE: ff; NEXT: null
at com.documentum.fc.client.DfAspectOperationException.makeInvalidAspectSetException(DfAspectOperationException.java:31)
at com.documentum.fc.client.impl.bof.compoundclass.AspectRulesProcessor.indexCategories(AspectRulesProcessor.java:158)
at com.documentum.fc.client.impl.bof.compoundclass.AspectRulesProcessor.checkCategoryCompatibility(AspectRulesProcessor.java:29)
at com.documentum.fc.client.impl.bof.compoundclass.AspectMgr.getValidatedAndOrderedAspectSet(AspectMgr.java:472)
at com.documentum.fc.client.impl.bof.compoundclass.AspectMgr.getAllAspects(AspectMgr.java:72)
at com.documentum.fc.client.impl.bof.compoundclass.AspectMgr.getAllAspectTypeInfoMap(AspectMgr.java:41)
at com.documentum.fc.client.impl.objectmanager.PObjectFactoryWithAspects.makeObject(PObjectFactoryWithAspects.java:46)
at com.documentum.fc.client.impl.objectmanager.PersistentObjectManager.getObjectFromServer(PersistentObjectManager.java:356)
at com.documentum.fc.client.impl.objectmanager.PersistentObjectManager.getObject(PersistentObjectManager.java:311)
at com.documentum.fc.client.impl.session.Session.getObject(Session.java:906)
at com.documentum.fc.client.impl.session.SessionHandle.getObject(SessionHandle.java:637)

What does the “DFC_BOF_ASPECT_INVALID_SET” error mean? I know three reasons of such error:

  • Attached aspects are marked as incompatible through dmc_aspect_relation (dmc_aspect_relation with relation=0)
  • DFC can’t resolve the order in which aspects should be applied (i.e. there are ambiguous dmc_aspect_relation objects in docbase)
  • Attached aspects shares the same aspect category (aspect_category attribute in dmc_aspect_type)

In our case we have faced with third reason (exception was thrown by AspectRulesProcessor.checkCategoryCompatibility() method). What is “aspect category”? Let’s check documentation:
As was expected, documentation says nothing 😦 In my opinion, aspect category is way to define that different aspects implement the similar functionality and attaching such aspects simultaneously could produce undefined behaviour (it seems that such option has the same functionality as dmc_aspect_relation with relation=0). What aspects are conflictingsharing the same aspect category in xcp?

1> select a1.object_name, a2.object_name, a1.aspect_category
2> from dmc_aspect_type a1, dmc_aspect_type a2
3> where any (a1.aspect_category=a2.aspect_category)
4> and a1.object_name <> a2.object_name
5> enable(ROW_BASED)
6> go
object_name           dm_attr_0002          aspect_category
--------------------- --------------------- ---------------
dmc_topic_aspect      defaultdatatypeaspect sync_all
defaultdatatypeaspect dmc_topic_aspect      sync_all
(2 rows affected)

defaultdatatypeaspect is aspect that is attached to all xcp types, it is it implements business events is xcp. What about dmc_topic_aspect? Here we are:

Resolution

The issue with sync_all aspect category was “fixed” (actually it is just a workaround in DFC) in October/November 2013 DFC patches. If you have no option to update DFC, I think, it is safe to remove sync_all category from both dmc_topic_aspect and defaultdatatypeaspect aspects.

3 thoughts on “DFC_BOF_ASPECT_INVALID_SET error and XCP types

  1. Pingback: Q & A. IV | Documentum in a (nuts)HELL
  2. Hi,
    I am facing same problem. I have migrated application from xCP 2.0 to 2.2. While creating folder with my custom object type in DA , the above errors are coming.

    Will you please help me on this?

    we are using DFC version 7.

    Regards,
    Jothi

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s