BlackbitDigitalCommerce / pimcore-data-director

Import Bundle for Pimcore
16 stars 3 forks source link

Argument #1 ($element) must be of type Pimcore\Model\Element\ElementInterface, null given #154

Open betterapp opened 2 months ago

betterapp commented 2 months ago

When I import data I get same error and dataport stop import.

[ERROR] No entry for object id 211228
[INFO] object 211228 does not exist anymore
[ERROR] Unable to import data: TypeError: Pimcore\Model\Element\Service::getElementType(): Argument #1 ($element) must be of type Pimcore\Model\Element\ElementInterface, null given, called in /var/www/pimcore.dev/www/vendor/pimcore/pimcore/models/DataObject/ClassDefinition/Data/AdvancedManyToManyObjectRelation.php on line 811 and defined in /var/www/pimcore.dev/www/vendor/pimcore/pimcore/models/Element/Service.php:489
Stack trace:
#0 /var/www/pimcore.dev/www/vendor/pimcore/pimcore/models/DataObject/ClassDefinition/Data/AdvancedManyToManyObjectRelation.php(811): Pimcore\Model\Element\Service::getElementType()
#1 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/ManyToOneRelation.php(198): Pimcore\Model\DataObject\ClassDefinition\Data\AdvancedManyToManyObjectRelation->normalize()
#2 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/ManyToManyObjectRelation.php(64): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\ManyToOneRelation->doGetIndexDataValue()
#3 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/DefaultAdapter.php(178): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\ManyToManyObjectRelation->doGetIndexDataValue()
#4 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/Service.php(462): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\DefaultAdapter->getIndexData()
#5 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/Service.php(506): AdvancedObjectSearchBundle\Service->getIndexData()
#6 /var/www/pimcore.dev/www/vendor/pimcore/advanced-object-search/src/EventListener/IndexUpdateListener.php(52): AdvancedObjectSearchBundle\Service->doUpdateIndexData()
#7 /var/www/pimcore.dev/www/vendor/symfony/event-dispatcher/Debug/WrappedListener.php(116): AdvancedObjectSearchBundle\EventListener\IndexUpdateListener->updateObject()
#8 /var/www/pimcore.dev/www/vendor/symfony/event-dispatcher/EventDispatcher.php(220): Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
#9 /var/www/pimcore.dev/www/vendor/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#10 /var/www/pimcore.dev/www/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php(139): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#11 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/EventDispatcher.php(30): Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
#12 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(6380): Blackbit\DataDirectorBundle\lib\Pim\EventDispatcher->dispatch()
#13 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(9582): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->writeBuffer()
#14 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(978): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->saveItems()
#15 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importmanager.php(932): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->import()
#16 /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importmanager.php(640): Blackbit\DataDirectorBundle\lib\Pim\Item\Importmanager->processChunk()
#17 /var/www/pimcore.dev/www/vendor/blackbit/data-director/Command/ImportPimCommand.php(309): Blackbit\DataDirectorBundle\lib\Pim\Item\Importmanager->importDataport()
#18 /var/www/pimcore.dev/www/vendor/blackbit/data-director/Command/ImportPimCommand.php(202): Blackbit\DataDirectorBundle\Command\ImportPimCommand::import()
#19 /var/www/pimcore.dev/www/vendor/symfony/console/Command/Command.php(326): Blackbit\DataDirectorBundle\Command\ImportPimCommand->execute()
#20 /var/www/pimcore.dev/www/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#21 /var/www/pimcore.dev/www/vendor/symfony/framework-bundle/Console/Application.php(126): Symfony\Component\Console\Application->doRunCommand()
#22 /var/www/pimcore.dev/www/vendor/symfony/console/Application.php(324): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand()
#23 /var/www/pimcore.dev/www/vendor/symfony/framework-bundle/Console/Application.php(80): Symfony\Component\Console\Application->doRun()
#24 /var/www/pimcore.dev/www/vendor/symfony/console/Application.php(175): Symfony\Bundle\FrameworkBundle\Console\Application->doRun()
#25 /var/www/pimcore.dev/www/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\Component\Console\Application->run()
#26 /var/www/pimcore.dev/www/vendor/autoload_runtime.php(29): Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run()
#27 /var/www/pimcore.dev/www/bin/console(20): require_once('...')
#28 {main}
betterapp commented 2 months ago

also I see some notice

[INFO] --- Importing next raw data item [NOTICE] E_DEPRECATED: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php, line 5323 [INFO] Value for key field "id": null [INFO] Skipping item because raw data in at least one key column is null

betterapp commented 2 months ago

@BlackbitDevs ??

BlackbitDevs commented 2 months ago

Hi @betterapp ,

this means you are skipping the item but nevertheless the pimcore.dataobject.postAdd event gets triggered? I cannot reproduce this in 3.6. Does this also happen at your system with 3.6?

[NOTICE] E_DEPRECATED: trim(): Passing null to parameter #1($string) of type string is deprecated in /var/www/pimcore.dev/www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php, line 5323

This has been fixed some time ago.

betterapp commented 1 month ago

Still have error @BlackbitDevs DataDirector: 3.6.31

[ERROR] No entry for object id 245446
[INFO] object 245446 does not exist anymore
[ERROR] Unable to import data: TypeError: Pimcore\Model\Element\Service::getElementType(): Argument #1 ($element) must be of type Pimcore\Model\Element\ElementInterface, null given, called in /www/vendor/pimcore/pimcore/models/DataObject/ClassDefinition/Data/AdvancedManyToManyObjectRelation.php on line 811 and defined in /www/vendor/pimcore/pimcore/models/Element/Service.php:489
Stack trace:
#0 /www/vendor/pimcore/pimcore/models/DataObject/ClassDefinition/Data/AdvancedManyToManyObjectRelation.php(811): Pimcore\Model\Element\Service::getElementType()
#1 /www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/ManyToOneRelation.php(198): Pimcore\Model\DataObject\ClassDefinition\Data\AdvancedManyToManyObjectRelation->normalize()
#2 /www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/ManyToManyObjectRelation.php(64): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\ManyToOneRelation->doGetIndexDataValue()
#3 /www/vendor/pimcore/advanced-object-search/src/Filter/FieldDefinitionAdapter/DefaultAdapter.php(178): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\ManyToManyObjectRelation->doGetIndexDataValue()
#4 /www/vendor/pimcore/advanced-object-search/src/Service.php(462): AdvancedObjectSearchBundle\Filter\FieldDefinitionAdapter\DefaultAdapter->getIndexData()
#5 /www/vendor/pimcore/advanced-object-search/src/Service.php(506): AdvancedObjectSearchBundle\Service->getIndexData()
#6 /www/vendor/pimcore/advanced-object-search/src/EventListener/IndexUpdateListener.php(52): AdvancedObjectSearchBundle\Service->doUpdateIndexData()
#7 /www/vendor/symfony/event-dispatcher/Debug/WrappedListener.php(116): AdvancedObjectSearchBundle\EventListener\IndexUpdateListener->updateObject()
#8 /www/vendor/symfony/event-dispatcher/EventDispatcher.php(220): Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
#9 /www/vendor/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#10 /www/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php(139): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#11 /www/vendor/blackbit/data-director/lib/Pim/EventDispatcher.php(30): Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
#12 /www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(3229): Blackbit\DataDirectorBundle\lib\Pim\EventDispatcher->dispatch()
#13 /www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(5747): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->writeBuffer()
#14 /www/vendor/blackbit/data-director/lib/Pim/Item/Importer.php(1069): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->saveItems()
#15 /www/vendor/blackbit/data-director/lib/Pim/Item/Importmanager.php(975): Blackbit\DataDirectorBundle\lib\Pim\Item\Importer->import()
#16 /www/vendor/blackbit/data-director/lib/Pim/Item/Importmanager.php(671): Blackbit\DataDirectorBundle\lib\Pim\Item\Importmanager->processChunk()
#17 /www/vendor/blackbit/data-director/Command/ImportCompleteCommand.php(453): Blackbit\DataDirectorBundle\lib\Pim\Item\Importmanager->importDataport()
#18 /www/vendor/blackbit/data-director/Controller/RestController.php(423): Blackbit\DataDirectorBundle\Command\ImportCompleteCommand::import()
#19 /www/vendor/symfony/http-kernel/HttpKernel.php(181): Blackbit\DataDirectorBundle\Controller\RestController->importAction()
#20 /www/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#21 /www/vendor/symfony/http-kernel/Kernel.php(197): Symfony\Component\HttpKernel\HttpKernel->handle()
#22 /www/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php(35): Symfony\Component\HttpKernel\Kernel->handle()
#23 /www/vendor/autoload_runtime.php(29): Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
#24 /www/public/index.php(19): require_once('...')
#25 {main}
BlackbitDevs commented 1 month ago

Does this dataport delete the object?

betterapp commented 1 month ago

no

betterapp commented 1 month ago

there is no code which delete the object

BlackbitDevs commented 1 month ago

But all those logs

[ERROR] No entry for object id 245446 [INFO] object 245446 does not exist anymore

come from advanced object search bundle. So the object seams to not exist at this time.

Can you please send complete log and dataport definition (JSON)?

betterapp commented 1 month ago

what email ?

BlackbitDevs commented 1 month ago

jan.walther@blackbit.de or attach it here.

betterapp commented 1 month ago

@BlackbitDevs email sent.