I'm running into an error after upgrading recurring_events from RC2 to RC 5. It occurs on two sites, one with a few events (its a new feature) and one with hundreds.

Its reproduced selecting an existing event, changing the dates to a further future time span, then confirming to allow deleting/ recreating instances for the series. Following confirmation the error shows NOTICE: PHP message: Uncaught PHP Exception Drupal\Core\Entity\EntityStorageException: "The "" plugin does not exist. Valid plugin IDs for Drupal\recurring_events\EventInstanceCreatorPluginManager are: recurring_events_eventinstance_recreator" at /app/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php line 811

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

nifsight created an issue. See original summary.

ll66382’s picture

Issue summary: View changes
owenbush’s picture

The plugin should be getting set in a hook update, did database updates run?

https://git.drupalcode.org/project/recurring_events/-/blob/2.0.x/recurri...

ll66382’s picture

Moving from rc2 => rc5 I see these with an drush deploy and the updb step--

 [notice] Database updates start.
 ------------------------------- ----------- --------------- ---------------------------------------------------------------------------------- 
  Module                          Update ID   Type            Description                                                                       
 ------------------------------- ----------- --------------- ---------------------------------------------------------------------------------- 
  recurring_events                8012        hook_update_n   8012 - Remove the event_instance entity reference field, now use computed field.  
  recurring_events                8013        hook_update_n   8013 - Update any views that use old event instance relationship.                 
  recurring_events                8014        hook_update_n   8014 - Set the default event instance plugin creator.                             
  recurring_events_registration   8009        hook_update_n   8009 - Update the event_registration field type to add permitted roles field.     
 ------------------------------- ----------- --------------- ---------------------------------------------------------------------------------- 
....
 > > >  [notice] Update started: recurring_events_update_8012
> >  [notice] Update completed: recurring_events_update_8012

> >  [notice] Update started: recurring_events_update_8013
> >  [notice] No Recurring events views to update.
> >  [notice] Update completed: recurring_events_update_8013

> >  [notice] Update started: recurring_events_update_8014
> >  [notice] Update completed: recurring_events_update_8014

> >  [notice] Update started: recurring_events_registration_update_8009

> >  [warning] Undefined property: stdClass::$event_registration__value recurring_events_registration.install:487
> >  [warning] Undefined property: stdClass::$event_registration__end_value recurring_events_registration.install:487
> >  [warning] Undefined property: stdClass::$event_registration__value recurring_events_registration.install:487
> >  [warning] Undefined property: stdClass::$event_registration__end_value recurring_events_registration.install:487
> >  [warning] Undefined property: stdClass::$event_registration__value recurring_events_registration.install:487
> >  [warning] Undefined property: stdClass::$event_registration__end_value recurring_events_registration.install:487
> >  [notice] Update completed: recurring_events_registration_update_8009
....
> >  [error]  Unable to purge following key(s) 8kCy from Fastly. Purge Method: soft. 
> >  [error]  Client error: `POST https://api.fastly.com/service//purge` resulted in a `404 Not Found` response:
> > @"msg":"Record not found", "detail": "Cannot find service '(null)'"

....
>  [success] Finished performing updates.

 [success] Cache rebuild start.
>  [success] Cache rebuild complete.

 [success] Config import start.
+------------+-------------------------------------+-----------+
| Collection | Config                              | Operation |
+------------+-------------------------------------+-----------+
|            | editor.editor.simple                | Update    |
|            | editor.editor.simple_plus_link      | Update    |
|            | editor.editor.full_html             | Update    |
|            | editor.editor.basic_html            | Update    |
|            | recurring_events.eventseries.config | Update    |
+------------+-------------------------------------+-----------+





 
ll66382’s picture

Title: Plugin not found exception after upgrading » Plugin not found after upgrading from rc2 to rc5
owenbush’s picture

I can see two problems here

Firstly, recurring_events_registration_8009 looks to be failing. That's likely a problem I need to address in the module.

Secondly, the update to set the plugin recurring_events_eventinstance_recreator seems to be running successfully, but then your config import afterwards is likely undoing it. So you need to export the new plugin setting to your recurring_events.eventseries.config file and commit that to version control. Because if you do not do that, every time you run an import it will be wiping out the new plugin setting resulting in the problem you raised this issue for.

muriqui’s picture

Just ran into this bug, too, but on a clean install and without the registration submodule enabled. Steps to reproduce:

  1. Clean install of Drupal 9.4.8, standard profile.
  2. Enable recurring_events (base module only).
  3. Create a new event series, select Monthly recur type, and set the following:
    • Start date: 10/26/2022
    • End date: 10/26/2023
    • Start time: 8:00 AM
    • Duration: 15 minutes
    • Select "Recur on Day of Month", then check the 26th.
  4. Save, then edit the series.
  5. Change the recurrence schedule to "Recur on Day of Week", then check Day Occurrence: Fourth, and Days of the Week: Wednesday.
  6. Save, then Confirm Date Changes.

Result:

The website encountered an unexpected error. Please try again later.

Drupal\Core\Entity\EntityStorageException: The "" plugin does not exist. Valid plugin IDs for Drupal\recurring_events\EventInstanceCreatorPluginManager are: recurring_events_eventinstance_recreator in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 811 of core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).

Edit: This test was with the current 2.0.x, not 2.0-rc5.

muriqui’s picture

Status: Active » Needs review

OK, found one problem: Commit c3f500eb90fbec47a1492bc51954411c915dbe60 made a config change in recurring_events_update_8014(), but that change wasn't added to config/install/recurring_events.eventseries.config.yml, so new installs of the module don't receive it. I've added the missing config in MR 53.

This fixed the issue for me, but probably doesn't resolve the OP's issue transitioning from RC2 to RC5.

  • owenbush committed 4a4bfcd on 2.0.x authored by muriqui
    Issue #3316080 by muriqui: Plugin not found after upgrading from rc2 to...

  • owenbush committed 92e0334 on 8.x-1.x authored by muriqui
    Issue #3316080 by muriqui: Plugin not found after upgrading from rc2 to...
owenbush’s picture

Great find, thank you. I've committed that MR.

I'll take a look at 8009 failing separately to that config change.

aaronbauman’s picture

Status: Needs review » Needs work

I ran into the same issue on #3319567: WSOD when updating event series definition

There's another issue which is that the config form doesn't save the value.

aaronbauman’s picture

Status: Needs work » Closed (outdated)

Nevermind, this MR appears to have been merged even though the issue is open.

Following up on #3319567: WSOD when updating event series definition

audiomason’s picture

I encountered this issue today. I was able to resolve it using the configuration sync UI by exporting the recurring_events.eventseries.config, adding the creator_plugin parameter from #11, and importing the modified config.