Problem/Motivation

I'd like to use this module on a D9 site, but ran into less than a handful of issues that were preventing it from working.

1. Error: Call to undefined method Drupal\migrate\Plugin\Migration::get() in _migrate_queue_importer_check_dependencies() (line 137 of /var/www/html/public/modules/contrib/migrate_queue_importer/migrate_queue_importer.module)

2. LogicException: The database connection is not serializable.

3. Notice: Undefined index: ignore in Drupal\migrate_queue_importer\Plugin\QueueWorker\MigrateImportQueueWorker->processItem() (line 87 of modules/contrib/migrate_queue_importer/src/Plugin/QueueWorker/MigrateImportQueueWorker.php).

Steps to reproduce

* Drupal 9.2.6
* Migrate Tools 8.x-5.0
* Migrate Plus 8.x-5.1
* Migrate Queue Importer 8.x-1.x-dev

Proposed resolution

WORKAROUND, temporary.

1. Move to getMigrationDependencies() for retrieving dependencies.

2. Remove MigrationInterface::allRowsProcessed as a temporary workaround.

3. Explicitly set 'ignore' to FALSE instead of relying on the array key to not exist.

Remaining tasks

1. Determine if ['required'] key will always exist with all compatible versions of Migrate, potentially handle other responses.

2. Determine how to properly call this without getting the serialization error.

3. Explicitly set 'ignore' to FALSE instead of relying on the array key to not exist.

User interface changes

N/A

API changes

N/A

Data model changes

N/A

CommentFileSizeAuthor
#2 3245262-migrate_queue_importer.patch1.67 KBspelcheck

Comments

spelcheck created an issue. See original summary.

spelcheck’s picture

StatusFileSize
new1.67 KB
daveiano’s picture

Assigned: Unassigned » daveiano
Status: Active » Needs work

Thank you for the patch and for getting this back on my list! I will have a deeper look into that within the next week.

daveiano’s picture

Status: Needs work » Postponed (maintainer needs more info)

@spelcheck Please have a look at https://git.drupalcode.org/project/migrate_queue_importer/-/commit/d6c8d00 (the commit is tagged with the issue, I don't know why it's not shown in the issue).

The changes are in the development release and should fix

1. Error: Call to undefined method Drupal\migrate\Plugin\Migration::get() in _migrate_queue_importer_check_dependencies() (line 137 of /var/www/html/public/modules/contrib/migrate_queue_importer/migrate_queue_importer.module)

3. Notice: Undefined index: ignore in Drupal\migrate_queue_importer\Plugin\QueueWorker\MigrateImportQueueWorker->processItem() (line 87 of modules/contrib/migrate_queue_importer/src/Plugin/QueueWorker/MigrateImportQueueWorker.php).

For 2. LogicException: The database connection is not serializable. I don't think is something with migrate_queue_importer, sounds more like a failure on your side? Could you show me your migration yml?

  • daveiano committed d6c8d00 on 8.x-1.x
    Issue #3245262 by spelcheck, daveiano: D9 - Migration::allRowsProcessed...
daveiano’s picture

Version: 8.x-1.x-dev » 2.x-dev
Status: Postponed (maintainer needs more info) » Fixed
Issue tags: +2.0.1

Closing this due to inactivity, please feel free to open a new issue if the problem persists.

Status: Fixed » Closed (fixed)

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

daveiano’s picture

Issue tags: -2.0.1 +2.0.0