diff --git a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php index 8d69418262..a23412f89a 100644 --- a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php +++ b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php @@ -335,7 +335,10 @@ public function rewind() { * * The migration iterates over rows returned by the source plugin. This * method determines the next row which will be processed and imported into - * the system. + * the system. A row will be processed if it has not already been imported, + * or the row needs an update, or it is above the highwater mark or the source + * row has changed. When set to be processed the row is also marked frozen + * and no further changes to the row source properties are allowed. * * The method tracks the source and destination IDs using the ID map plugin. * diff --git a/core/modules/migrate/src/Row.php b/core/modules/migrate/src/Row.php index 08f41ba33e..6b6f1ad9d0 100644 --- a/core/modules/migrate/src/Row.php +++ b/core/modules/migrate/src/Row.php @@ -167,7 +167,7 @@ public function getSource() { } /** - * Sets a source property. + * Sets a source property if the row is not frozen. * * This can only be called from the source plugin. * @@ -177,6 +177,8 @@ public function getSource() { * The property value to set on the source. * * @throws \Exception + * + * @see \Drupal\migrate\Plugin\migrate\source\SourcePluginBase::next */ public function setSourceProperty($property, $data) { if ($this->frozen) {