The feed_item_hash column can only be 32 characters long. If you set your "update_non_existent" config to unpublish the entity, the Clean function in EntityProcessorBase tries to insert the value of the unpublish action on your entity, which might look like this: entity:unpublish_action:availability which is longer than 32 characters, and then you get a php fatal: String data, right truncated: 1406 Data too long for column 'feeds_item_hash'.

The solution is to substr the string at 32 long, as its not actually a hash that needs to go in for these items being cleaned. Patch coming.

Issue fork feeds-3185907

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

ransomweaver created an issue. See original summary.

ransomweaver’s picture

StatusFileSize
new719 bytes

patch attached

mandus.cz’s picture

Looks like it works. Thanks

jrb’s picture

Version: 8.x-3.0-alpha9 » 8.x-3.0-beta3
Status: Active » Needs review
StatusFileSize
new709 bytes

This is the patch in #2 re-rolled for beta3.

xperd’s picture

Status: Needs review » Reviewed & tested by the community

Works. Better than PHP fatal error anyway.

MegaChriz made their first commit to this issue’s fork.

megachriz’s picture

I think that the type of fix is good enough. What I added in the MR is that in EntityProcessorBase::initCleanList() the chosen action is also truncated to 32 characters for filtering out already cleaned items. Else, the clean action can get applied on the same item again and again.

  • MegaChriz committed c5123caa on 8.x-3.x
    Issue #3185907 by MegaChriz, ransomweaver, jrb, Xperd, mandus.cz:...
megachriz’s picture

Status: Reviewed & tested by the community » Fixed

I merged the code!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.