How to avoid calling FieldCollectionItemEntity::deleteRevision Sorry about the confusing name. I have the following problem. I have a migration for a content type that has a multivalue field-collection-item (~50 items there in average per content). The migration is fairly quick, 150 items/min. However the migration-update is very slow, 10 items/min. I've checked with xhprof and 95% of the time it spends inside FieldCollectionItemEntity::deleteRevision - basically deleting the old field collection items when re-populating the node with the new ones.

The content type has the revisions turned off, so the number of related revisions should be 1 all the time, not more. Is there any smart way to avoid this massive time that it takes?

I'm wondering if the Entity API has a queue system to save these delete operations for later. Or somehow removing revisions completely?

Thanks you
Copy and Paste your own version of the FieldCollectionItemEntity class file and call it like FieldCollectionItemEntity2. Then simply like have FieldCollectionItemEntity::deleteRevision return or do a NO-OP. Use the new class in your migration instead of the default one you're using now.

For when the migration completes; implement like a PostImport() function to delete all but the most recent revision.

To my knowledge there is no Queue of revision items. A node/entity Save (and revisioning) I thought is done in a sql transaction statement.