Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-11682

ContentIndexableElementType.indexSingleValueForFullTextField is not robust to unknown content

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • 4.7.1, 4.8.0
    • 4.7.0
    • None
    • None
    • 4.8.0 M2

      Indexing a content with a link to an unexisting content can throw the following error:

      Message : Error indexing content 'courseContent://7612a996-c5c0-4aae-ac12-605c5a500de5' in the solr server.
      
      Pile d'appels :
      org.ametys.plugins.repository.UnknownAmetysObjectException: There's no node for id orgunitContent://2b90dc1a-bff1-4360-8e52-7cab1fc0288b
      at org.ametys.plugins.repository.jcr.SimpleAmetysObjectFactory#getNode:187
      at org.ametys.plugins.repository.jcr.SimpleAmetysObjectFactory#getAmetysObjectById:137
      at org.ametys.plugins.repository.jcr.SimpleAmetysObjectFactory#getAmetysObjectById:58
      at org.ametys.plugins.repository.AmetysObjectResolver#resolveById:382
      at org.ametys.cms.data.ContentValue#getContent:127
      at org.ametys.cms.data.type.indexing.impl.ContentIndexableElementType#indexSingleValueForFullTextField:69
      at org.ametys.cms.data.type.indexing.impl.ContentIndexableElementType#indexSingleValueForFullTextField:41
      at org.ametys.cms.data.type.indexing.IndexableElementType#indexValue:54
      at org.ametys.cms.data.type.indexing.SortableIndexableElementType#indexValue:33
      at org.ametys.cms.data.holder.impl.IndexableDataHolderHelper#_indexDataFromViewItem:144
      at org.ametys.cms.data.holder.impl.IndexableDataHolderHelper#indexData:110
      at org.ametys.cms.search.systemprop.ViewBasedFullTextSystemProperty#indexValue:82
      at org.ametys.cms.search.systemprop.ViewBasedFullTextSystemProperty#indexValue:44
      at org.ametys.cms.data.ametysobject.ModelAwareDataAwareAmetysObject#indexData:89
      at org.ametys.cms.content.indexing.solr.SolrContentIndexer#indexContent:104
      at org.ametys.cms.content.indexing.solr.SolrIndexer#doIndexContent:1460
      at org.ametys.cms.content.indexing.solr.SolrIndexer#doIndexContents:1254
      at org.ametys.cms.content.indexing.solr.SolrIndexer#indexContents:1196
      at org.ametys.web.indexing.solr.SolrWebWorkspaceIndexer#indexPluginsContentRoot:138
      at org.ametys.web.indexing.solr.SolrWebWorkspaceIndexer#doIndex:79
      at org.ametys.cms.indexing.solr.SolrWorkspaceIndexer#_forceWorkspaceAndDoIndex:185
      at org.ametys.cms.indexing.solr.SolrWorkspaceIndexer#_index:155
      at org.ametys.cms.indexing.solr.SolrWorkspaceIndexer#index:142
      at org.ametys.web.live.RebuildLiveComponent#_reindexLiveWorkspace:215
      at org.ametys.web.live.RebuildLiveComponent#rebuildLiveWorkspace:108
      at org.ametys.web.live.RebuildLiveAllWorkspaceSchedulable#_rebuildLiveWorkspace:39
      at org.ametys.web.live.AbstractRebuildLiveWorkspaceSchedulable#_doExecute:106
      at org.ametys.cms.schedule.AbstractSendingMailSchedulable#execute:81
      at org.ametys.core.schedule.AmetysJob#execute:151
      at org.quartz.core.JobRunShell#run:202
      at org.quartz.simpl.SimpleThreadPool$WorkerThread#run:573
      Caused by: javax.jcr.ItemNotFoundException: 2b90dc1a-bff1-4360-8e52-7cab1fc0288b
      at org.apache.jackrabbit.core.ItemManager#getItemData:384
      at org.apache.jackrabbit.core.ItemManager#getItem:328
      at org.apache.jackrabbit.core.ItemManager#getItem:621
      at org.apache.jackrabbit.core.SessionImpl#getNodeById:538
      at org.apache.jackrabbit.core.SessionImpl#getNodeByIdentifier:1142
      at org.ametys.plugins.repository.jcr.SimpleAmetysObjectFactory#getNode:176
      ... 30 more
      Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException: 2b90dc1a-bff1-4360-8e52-7cab1fc0288b
      at org.apache.jackrabbit.core.state.SharedItemStateManager#getItemState:290
      at org.apache.jackrabbit.core.state.LocalItemStateManager#getNodeState:110
      at org.apache.jackrabbit.core.state.LocalItemStateManager#getItemState:175
      at org.apache.jackrabbit.core.state.XAItemStateManager#getItemState:260
      at org.apache.jackrabbit.core.state.SessionItemStateManager#getItemState:161
      at org.apache.jackrabbit.core.ItemManager#getItemData:382
      ... 35 more
      Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException: 2b90dc1a-bff1-4360-8e52-7cab1fc0288b
      at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager#load:492
      at org.ametys.plugins.repository.provider.AmetysPersistenceManager#load:201
      at org.apache.jackrabbit.core.state.SharedItemStateManager#loadItemState:1878
      at org.apache.jackrabbit.core.state.SharedItemStateManager#getNonVirtualItemState:1798
      at org.apache.jackrabbit.core.state.SharedItemStateManager#getItemState:271
      ... 40 more

      It happen a lot into the live workspace.

      This is cause by org.ametys.cms.data.type.indexing.impl.ContentIndexableElementType.indexSingleValueForFullTextField(SolrInputDocument, SolrInputDocument, ContentValue, IndexableDataContext), this method is not robust to unknown content value.

            bmaurel Bérénice Maurel
            bmaurel Bérénice Maurel
            Bérénice Maurel Bérénice Maurel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: