massiveart / MassiveSearchBundle

MIT License
67 stars 24 forks source link

Wrong TermInfoIndexFile file format #165

Open perie opened 2 years ago

perie commented 2 years ago

Hello, I use https://github.com/sulu/sulu witch implement the massive-search with ZendLucene adapter with load-balancing. The indexes directory was shared between servers.

Thanks for help

Here the stack trace : ZendSearch\Lucene\Exception\InvalidFileFormatException: Wrong TermInfoIndexFile file format

at vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Index/DictionaryLoader.php:52 at ZendSearch\Lucene\Index\DictionaryLoader::load('' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '�_8s.fdx' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '_8s.fdt' . "\0" . '' . "\0" . '') (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Index/SegmentInfo.php:774) at ZendSearch\Lucene\Index\SegmentInfo->_loadDictionaryIndex() (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Index/SegmentInfo.php:803) at ZendSearch\Lucene\Index\SegmentInfo->getTermInfo(object(Term)) (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Index.php:898) at ZendSearch\Lucene\Index->hasTerm(object(Term)) (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Search/Query/Preprocessing/Term.php:120) at ZendSearch\Lucene\Search\Query\Preprocessing\Term->rewrite(object(Index)) (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Search/Query/Boolean.php:132) at ZendSearch\Lucene\Search\Query\Boolean->rewrite(object(Index)) (vendor/handcraftedinthealps/zendsearch/library/ZendSearch/Lucene/Index.php:669) at ZendSearch\Lucene\Index->find(object(Boolean)) (vendor/massive/search-bundle/Search/Adapter/ZendLuceneAdapter.php:390) at Massive\Bundle\SearchBundle\Search\Adapter\ZendLuceneAdapter->removeExisting(object(Index), object(Document)) (vendor/massive/search-bundle/Search/Adapter/ZendLuceneAdapter.php:113) at Massive\Bundle\SearchBundle\Search\Adapter\ZendLuceneAdapter->index(object(Document), 'massive_media-fr-i18n') (vendor/massive/search-bundle/Search/SearchManager.php:178) at Massive\Bundle\SearchBundle\Search\SearchManager->index(object(FileVersionMeta)) (vendor/massive/search-bundle/Search/EventListener/IndexListener.php:39) at Massive\Bundle\SearchBundle\Search\EventListener\IndexListener->onIndex(object(IndexEvent), 'massive_search.index', object(TraceableEventDispatcher)) (vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117) at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(IndexEvent), 'massive_search.index', object(TraceableEventDispatcher)) (vendor/symfony/event-dispatcher/EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener)), 'massive_search.index', object(IndexEvent)) (vendor/symfony/event-dispatcher/EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(IndexEvent), 'massive_search.index') (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:154) at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(IndexEvent), 'massive_search.index') (vendor/massive/search-bundle/Search/EventSubscriber/DoctrineOrmSubscriber.php:77) at Massive\Bundle\SearchBundle\Search\EventSubscriber\DoctrineOrmSubscriber->indexEntity(object(FileVersionMeta)) (vendor/massive/search-bundle/Search/EventSubscriber/DoctrineOrmSubscriber.php:51) at Massive\Bundle\SearchBundle\Search\EventSubscriber\DoctrineOrmSubscriber->postPersist(object(LifecycleEventArgs)) (vendor/symfony/doctrine-bridge/ContainerAwareEventManager.php:68) at Symfony\Bridge\Doctrine\ContainerAwareEventManager->dispatchEvent('postPersist', object(LifecycleEventArgs)) (vendor/doctrine/orm/lib/Doctrine/ORM/Event/ListenersInvoker.php:99) at Doctrine\ORM\Event\ListenersInvoker->invoke(object(ClassMetadata), 'postPersist', object(FileVersionMeta), object(LifecycleEventArgs), 4) (vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1150) at Doctrine\ORM\UnitOfWork->executeInserts(object(ClassMetadata)) (vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:415) at Doctrine\ORM\UnitOfWork->commit(null) (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:388) at Doctrine\ORM\EntityManager->flush(null) (var/cache/admin/dev/ContainerYLhkVOa/EntityManager_9a5be93.php:136) at ContainerYLhkVOa\EntityManager_9a5be93->flush() (vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Media/Manager/MediaManager.php:576) at Sulu\Bundle\MediaBundle\Media\Manager\MediaManager->createMedia(array('locale' => 'fr', 'collection' => '20', 'contentLanguages' => array(), 'publishLanguages' => array(), 'title' => 'transition énergétique', 'formats' => array(), 'id' => null, 'storageOptions' => array('segment' => '05', 'fileName' => 'transition-energetique.svg'), 'name' => 'transition énergétique.svg', 'size' => 2700, 'mimeType' => 'image/svg', 'properties' => array('width' => 72, 'height' => 73), 'type' => array('id' => 2)), object(User)) (vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Media/Manager/MediaManager.php:527) at Sulu\Bundle\MediaBundle\Media\Manager\MediaManager->buildData(object(UploadedFile), array('locale' => 'fr', 'collection' => '20', 'contentLanguages' => array(), 'publishLanguages' => array(), 'title' => 'transition énergétique', 'formats' => array(), 'id' => null, 'storageOptions' => array('segment' => '05', 'fileName' => 'transition-energetique.svg'), 'name' => 'transition énergétique.svg', 'size' => 2700, 'mimeType' => 'image/svg', 'properties' => array('width' => 72, 'height' => 73), 'type' => array('id' => 2)), object(User)) (vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Media/Manager/MediaManager.php:322) at Sulu\Bundle\MediaBundle\Media\Manager\MediaManager->save(object(UploadedFile), array('locale' => 'fr', 'collection' => '20', 'contentLanguages' => array(), 'publishLanguages' => array(), 'title' => 'transition énergétique', 'formats' => array(), 'id' => null), 1) (vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Controller/MediaController.php:533) at Sulu\Bundle\MediaBundle\Controller\MediaController->saveEntity(null, object(Request)) (vendor/sulu/sulu/src/Sulu/Bundle/MediaBundle/Controller/MediaController.php:414) at Sulu\Bundle\MediaBundle\Controller\MediaController->postAction(object(Request)) (vendor/symfony/http-kernel/HttpKernel.php:152) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/http-kernel/HttpKernel.php:74) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/http-kernel/Kernel.php:202) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (public/index.php:66)

alexander-schranz commented 2 years ago

This shoulds like your index got corrupted. Maybe try to purge and reindex. Also it is recommended to optimize the index in a cronjob when using zend lucene adapter:

bin/console massive:search:optimize