neos / neos-development-collection

The unified repository containing the Neos core packages, used for Neos development.
https://www.neos.io/
GNU General Public License v3.0
260 stars 222 forks source link

Translating a deleted translated page again leads to error 500 #1435

Open daniellienert opened 7 years ago

daniellienert commented 7 years ago

Description

Trying to translate a page which has been deleted in this dimension preset before but not published, leads to an error 500.

Steps to Reproduce

  1. Create a page in default dimension preset
  2. Translate the page to another preset (Nodes in the tree rootline are automatically generated)
  3. Delete this page in the translated preset -> Do not publish the changes
  4. Try to translate the page again

Expected behavior

Page is created again in this dimension

Actual behavior

Error 500 (Integrity constraint violation)

Exception in line 128 of /var/www/Packages/Libraries/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php: An exception occurred while executing 'INSERT INTO neos_contentrepository_domain_model_nodedata (persistence_object_identifier, pathhash, path, parentpathhash, parentpath, identifier, sortingindex, removed, dimensionshash, lastmodificationdatetime, la

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'e0e3a92c142f016ef59c9aa75aa4a6df-user-daniel-e781f29c8dd927c0973' for key 'UNIQ_CE6515692DBEC7578D94001992F8FB01'

22 Doctrine\DBAL\Driver\AbstractMySQLDriver::convertException("An exception occurred while executing 'INSERT INTO…3' for key 'UNIQ_CE6515692DBEC7578D94001992F8FB01'", Doctrine\DBAL\Driver\PDOException)
21 Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Doctrine\DBAL\Driver\PDOMySql\Driver, Doctrine\DBAL\Driver\PDOException, "INSERT INTO neos_contentrepository_domain_model_no…?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", array|23|)
20 Doctrine\DBAL\Statement::execute()
19 Doctrine\ORM\Persisters\Entity\BasicEntityPersister::executeInserts()
18 Doctrine\ORM\UnitOfWork::executeInserts(Neos\Flow\Persistence\Doctrine\Mapping\ClassMetadata)
17 Doctrine\ORM\UnitOfWork::commit(NULL)
16 Doctrine\ORM\EntityManager::flush()
15 Neos\Flow\Persistence\Doctrine\PersistenceManager_Original::persistAll()
14 Neos\Flow\Package::Neos\Flow\{closure}(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Http\Response, Neos\Neos\Controller\Service\NodesController, "Neos\Flow\Mvc\Dispatcher::afterControllerInvocation")
13 Closure::__invoke(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Http\Response, Neos\Neos\Controller\Service\NodesController, "Neos\Flow\Mvc\Dispatcher::afterControllerInvocation")
12 call_user_func_array(array|2|, array|4|)
11 Neos\Flow\SignalSlot\Dispatcher::dispatch("Neos\Flow\Mvc\Dispatcher", "afterControllerInvocation", array|4|)
10 Neos\Flow\SignalSlot\SignalAspect_Original::forwardSignalToDispatcher(Neos\Flow\Aop\JoinPoint)
9 Neos\Flow\Aop\Advice\AbstractAdvice::invoke(Neos\Flow\Aop\JoinPoint)
8 Neos\Flow\Mvc\Dispatcher::emitAfterControllerInvocation(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Http\Response, Neos\Neos\Controller\Service\NodesController)
7 Neos\Flow\Mvc\Dispatcher_Original::initiateDispatchLoop(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Http\Response)
6 Neos\Flow\Mvc\Dispatcher_Original::dispatch(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Http\Response)
5 Neos\Flow\Mvc\DispatchComponent_Original::handle(Neos\Flow\Http\Component\ComponentContext)
4 Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
3 Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
2 Neos\Flow\Http\RequestHandler::handleRequest()
1 Neos\Flow\Core\Bootstrap::run()

Affected Versions

Neos: 3.0

PRGfx commented 7 months ago

I can confirm this for Neos 8.2.