OpenCalais is trying to process nodes that have been cleanly deleted. It's worth me noting that the nodes would have previously been processed by OC when they were being created.

I'm getting the error 'Could not process node with id 2104. You may try to manually resave the node to resolve this issue.' x 25 on the OC batch page after running cron.

This is then traced to the following error in the log;

EntityMalformedException: Missing bundle property on entity of type node. in entity_extract_ids() (line 7539 of /home/xxx/public_html/includes/common.inc).

This is causing a problem as OC isn't skipping the nodes, it's just trying to process the deleted nodes again and again.

Is there a solution to this?

Thanks

Comments

Adam Wood’s picture

Priority: Normal » Major

Thanks, Kono, that's just what I was looking for... I'm glad that you surmised that what I was really asking for was a spam link for Nike trainers. You might be better off spending your time realising that drupal.org 'nofollows' links.

Anyway, back to the topic...

I think this is caused when you delete a node that is queued for processing. There needs to be a 'skip' function in the queue items, that if the node doesn't exist, it skips it and removes the queue item.

The only way I managed to overcome this, as OC seems impossible to 'reset', was to dig into the database.

I basically exported the queue table, except for the drupal core queues (leave them alone), along with my node table in CSV.
I got a list of the NIDs that I needed to process.
I searched, replaced, and created the necessary NIDs to queue from scratch (removing the NIDs that had been deleted)
Reimported the queue tables
Ran cron, worked fine.

This took hours to do and will make you suicidal, so I think it's worth being looked into!

I'd be happy to go into more detail if anyone would like to know. Obviously backup you DB before doing this and also export your whole 'queue' table, as you'll probably need a few attempts. It's also worth noting that you need to keep an eye on the data column, as the format will be changed on export (phpMyAdmin doesn't like exporting ""'s within fields) and needs to be reformatted before you input it again.

ervit’s picture

Issue summary: View changes

I am getting this too, as:

EntityMalformedException: Missing bundle property on entity of type node. in entity_extract_ids() (line 7922 of /home/content/61/5393961/html/aa/includes/common.inc).

These nodes not only generate errors, but the OpenCalais bulk processing queue never reaches zero - there are always nodes left in the queue, and their number is equal to the number of errors I see in the report. I think that because I use Feeds with feed_item node expiry settings, this may get worse, considering that I will have a lot of nodes to be deleted.

And I don't know how to delete the dead node references manually (as described above) as I'm not proficient with MySQL and phpMyAdmin (or PHP for that matter).

ElusiveMind’s picture

Assigned: Unassigned » ElusiveMind
ElusiveMind’s picture

It looks like this is an issue when a node is added and deleted before it is processed by OpenCalais. Or if it is queued and then deleted. Working on a fix.

ElusiveMind’s picture

Any thoughts as to not processing unpublished nodes also?

  • ElusiveMind committed 8792a2a on 7.x-1.x
    Issue #1704730 by ElusiveMind, Adam Wood, ervit: Bulk processing fails...
ElusiveMind’s picture

Potential fix for this in dev.

ElusiveMind’s picture

Version: 7.x-1.0-alpha2 » 7.x-1.2
Component: Miscellaneous » Code
Status: Active » Needs review
ElusiveMind’s picture

Version: 7.x-1.2 » 7.x-1.x-dev