\Drupal\migrate\ProcessPluginBase::stopPipeline calls should return NULL

Created on 31 July 2025, 3 days ago

Problem/Motivation

The change record Migrate process plugin can now stop the process pipeline after they run β†’ examples show returning NULL after \Drupal\migrate\ProcessPluginBase::stopPipeline is called, but the implementations in do not return NULL after the stop call. This leads to the values passed to the file_blob, gate, and skip_on_value plugins being returned by those plugins when the pipeline is stopped, which MigrateExecutable then saves.

Steps to reproduce

Create a migration with the following pipeline:

field_taxonomy:
  - plugin: skip_on_value
    source: taxonomy
    value:
      - 'Skip One'
      - 'Skip Two'
  - plugin: entity_generate
    entity_type: taxonomy_term
    value_key: name
    bundle_key: vid
    bundle: vocabulary
    ignore_case: true

Note that even if the term matches the values to skip, the value of the taxonomy source field will attempt to be inserted into field_taxonomy causing a database exception.

Proposed resolution

Add return NULL; after calls to \Drupal\migrate\ProcessPluginBase::stopPipeline.

πŸ› Bug report
Status

Active

Version

6.0

Component

Plugins

Created by

πŸ‡ΊπŸ‡ΈUnited States benabaird

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024