On my D6 site, the only account with a picture in the users table is my own (there are also hundreds of blocked spam accounts with, fortunately, no pictures). Running the d6_user migration fills up migrate_message_d6_user with hundreds of complaints "File http://mikeryan.name/ could not be copied to public://.". Here's what happens, stepping through with the debugger:

The user_picture mapping in d6_user.yml:

  user_picture:
    plugin: migration
    migration: d6_user_picture_file
    source: uid

migrate_map_d6_user_picture_file contains one row, for my account's picture. Source key is my uid, since the file itself (unlike D7) comes from the users table rather than the files table (no fid in D6 for user pictures).

The migration process plugin looks up a uid (other than mine) in migrate_map_d6_user_picture_file and comes up empty. So, it tried to create a stub. Right there is where we go wrong - this is an instance where we want no stub, a lack of a picture for a user is not a chicken-and-egg situation but simply a normal case where we want nothing migrated into the field (you can guess what happens next, stub created with no filename thus the message above).

There's a related issue here, every destination should be able to create a minimally-viable stub (as we recently did for comments), but we'll deal with that later...

Comments

mikeryan created an issue. See original summary.

mikeryan’s picture

The simple solution would seem to be adding no_stub: true to the d6_user_picture_file destination configuration - but that doesn't work because #2555127: Process Migration Always Ignores no_stub Due to Pre-Existing Cached Entity Migrations, we need to fix that first.

dmoore’s picture

I can confirm when I tested the latest patch in https://www.drupal.org/node/2555127, this seems to have fixed the issue with d6_user picture migrations

quietone’s picture

Issue tags: +migrate-d6-d8

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

mikeryan’s picture

Status: Postponed » Active

It may be that the commit referenced in https://www.drupal.org/node/2555127#comment-10675366 is enough for us to fix this, so I'll give it a try.

mikeryan’s picture

Status: Active » Closed (cannot reproduce)

Can no longer reproduce, looks like the menu links patch fixed it.