Translating a menu link results in an error (Integrity constraint violation) in both: Drupal\Core\Entity\EntityStorageException and Drupal\Core\Database\IntegrityConstraintViolationException

Steps to reproduce:
1. Installed lightning v8.x-2.03 via Acquia Dev Desktop
2. Install Content Translation and Language modules
3. Add the Spanish language (admin/config/regional/language)
4. Go here: admin/config/regional/content-language
5. Under Custom Language Settings, check Custom Menu Link
6. Under Custom menu link, check Custom menu link and Menu link title
7. Add a new menu (/admin/structure/menu/add) and a few links
8. Click Translate for a menu link (/admin/structure/menu/manage/{menu name here}
9. Once Translate is clicked, the new path is: /admin/structure/menu/item/12/edit/translations
10. Click Add for the Spanish translation
11. Click save on the new Spanish translation of the menu item

2 errors show up in the log:

Location: http://mysitenamehere.dev.dd:8083/es/admin/structure/menu/item/12/edit/t...

Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '12' for key 'PRIMARY': INSERT INTO {menu_link_content_data} (id, revision_id, bundle, langcode, title, description, menu_name, link__uri, link__title, link__options, external, rediscover, weight, expanded, enabled, parent, changed, default_langcode, workspace, _deleted, _rev, content_translation_source, content_translation_outdated, content_translation_uid, content_translation_status, content_translation_created) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23, :db_insert_placeholder_24, :db_insert_placeholder_25), (:db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29, :db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35, :db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41, :db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45, :db_insert_placeholder_46, :db_insert_placeholder_47, :db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => 56 [:db_insert_placeholder_2] => menu_link_content [:db_insert_placeholder_3] => en [:db_insert_placeholder_4] => refunds [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => nav [:db_insert_placeholder_7] => internal:/refunds [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => a:0:{} [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 1 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => 1 [:db_insert_placeholder_15] => [:db_insert_placeholder_16] => 1489031705 [:db_insert_placeholder_17] => 1 [:db_insert_placeholder_18] => 1 [:db_insert_placeholder_19] => 0 [:db_insert_placeholder_20] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_21] => und [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 11 [:db_insert_placeholder_24] => 1 [:db_insert_placeholder_25] => 1489031279 [:db_insert_placeholder_26] => 12 [:db_insert_placeholder_27] => 56 [:db_insert_placeholder_28] => menu_link_content [:db_insert_placeholder_29] => es [:db_insert_placeholder_30] => refundo [:db_insert_placeholder_31] => [:db_insert_placeholder_32] => nav [:db_insert_placeholder_33] => internal:/refunds [:db_insert_placeholder_34] => [:db_insert_placeholder_35] => a:0:{} [:db_insert_placeholder_36] => 0 [:db_insert_placeholder_37] => 1 [:db_insert_placeholder_38] => 0 [:db_insert_placeholder_39] => 0 [:db_insert_placeholder_40] => 1 [:db_insert_placeholder_41] => [:db_insert_placeholder_42] => 1489031705 [:db_insert_placeholder_43] => 0 [:db_insert_placeholder_44] => 1 [:db_insert_placeholder_45] => 0 [:db_insert_placeholder_46] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_47] => en [:db_insert_placeholder_48] => 0 [:db_insert_placeholder_49] => 11 [:db_insert_placeholder_50] => 1 [:db_insert_placeholder_51] => 1489031705 ) in Drupal\Core\Database\Connection->handleQueryException() (line 668 of /Users/myname/Sites/devdesktop/mysitenamehere-dev/docroot/core/lib/Drupal/Core/Database/Connection.php).

Location: http://mysitenamehere.dev.dd:8083/es/admin/structure/menu/item/12/edit/t...

Drupal\Core\Entity\EntityStorageException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '12' for key 'PRIMARY': INSERT INTO {menu_link_content_data} (id, revision_id, bundle, langcode, title, description, menu_name, link__uri, link__title, link__options, external, rediscover, weight, expanded, enabled, parent, changed, default_langcode, workspace, _deleted, _rev, content_translation_source, content_translation_outdated, content_translation_uid, content_translation_status, content_translation_created) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23, :db_insert_placeholder_24, :db_insert_placeholder_25), (:db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29, :db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35, :db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41, :db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45, :db_insert_placeholder_46, :db_insert_placeholder_47, :db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => 56 [:db_insert_placeholder_2] => menu_link_content [:db_insert_placeholder_3] => en [:db_insert_placeholder_4] => refunds [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => nav [:db_insert_placeholder_7] => internal:/refunds [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => a:0:{} [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 1 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => 1 [:db_insert_placeholder_15] => [:db_insert_placeholder_16] => 1489031705 [:db_insert_placeholder_17] => 1 [:db_insert_placeholder_18] => 1 [:db_insert_placeholder_19] => 0 [:db_insert_placeholder_20] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_21] => und [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 11 [:db_insert_placeholder_24] => 1 [:db_insert_placeholder_25] => 1489031279 [:db_insert_placeholder_26] => 12 [:db_insert_placeholder_27] => 56 [:db_insert_placeholder_28] => menu_link_content [:db_insert_placeholder_29] => es [:db_insert_placeholder_30] => refundo [:db_insert_placeholder_31] => [:db_insert_placeholder_32] => nav [:db_insert_placeholder_33] => internal:/refunds [:db_insert_placeholder_34] => [:db_insert_placeholder_35] => a:0:{} [:db_insert_placeholder_36] => 0 [:db_insert_placeholder_37] => 1 [:db_insert_placeholder_38] => 0 [:db_insert_placeholder_39] => 0 [:db_insert_placeholder_40] => 1 [:db_insert_placeholder_41] => [:db_insert_placeholder_42] => 1489031705 [:db_insert_placeholder_43] => 0 [:db_insert_placeholder_44] => 1 [:db_insert_placeholder_45] => 0 [:db_insert_placeholder_46] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_47] => en [:db_insert_placeholder_48] => 0 [:db_insert_placeholder_49] => 11 [:db_insert_placeholder_50] => 1 [:db_insert_placeholder_51] => 1489031705 ) in Drupal\multiversion\Entity\Storage\Sql\ContentEntityStorage->save() (line 152 of /Users/myname/Sites/devdesktop/mysitenamehere-dev/docroot/profiles/lightning/modules/contrib/multiversion/src/Entity/Storage/ContentEntityStorageTrait.php).

Comments

ws6shawn created an issue. See original summary.

Version: 8.2.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Branches prior to 8.8.x are not supported, and Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

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

pameeela’s picture

Status: Active » Closed (cannot reproduce)
Issue tags: -multilingual menu +Bug Smash Initiative

I'm not able to reproduce this one, unsurprising though because if this were still occurring we'd expect to be hearing about it a lot! Likely was fixed in the meantime.