Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-35545

Error when reindexing attachment with null minorEdit value

    XMLWordPrintable

Details

    Description

      The following error is thrown when trying to reindex attachments for which minorEdit is null:

      2014-11-06 18:21:17,511 ERROR [confluence-interactive-reindexing-thread] [atlassian.confluence.index.ConfluenceReIndexer] indexHandles Exception processing batch, retrying items remaining in batch
       -- referer: https://xxx/admin/search-indexes.action | url: /admin/reindex.action | userName: x | action: reindex
      2014-11-06 18:21:17,554 ERROR [confluence-interactive-reindexing-thread] [atlassian.confluence.index.ConfluenceReIndexer] indexHandles Exception processing batch, retrying items remaining in batch
       -- referer: https://xxx/admin/search-indexes.action | url: /admin/reindex.action | userName: xxx | action: reindex
      2014-11-06 18:21:17,581 ERROR [confluence-interactive-reindexing-thread] [atlassian.confluence.index.ConfluenceReIndexer] indexHandles Exception processing batch, maximum number of retries reached
       -- referer: https://xxx/admin/search-indexes.action | url: /admin/reindex.action | userName: xxx | action: reindex
      java.util.concurrent.ExecutionException: org.springframework.orm.hibernate.HibernateSystemException: Null value was assigned to a property of primitive type setter of com.atlassian.confluence.pages.Attachment.minorEdit; nested exception is net.sf.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.atlassian.confluence.pages.Attachment.minorEdit
              at java.util.concurrent.FutureTask.report(FutureTask.java:122)
              at java.util.concurrent.FutureTask.get(FutureTask.java:188)
              at com.atlassian.confluence.index.ConfluenceReIndexer.indexHandles(ConfluenceReIndexer.java:231)
              at com.atlassian.confluence.index.ConfluenceReIndexer.access$100(ConfluenceReIndexer.java:60)
              at com.atlassian.confluence.index.ConfluenceReIndexer$2.perform(ConfluenceReIndexer.java:183)
              at com.atlassian.bonnie.LuceneConnection.withWriter(LuceneConnection.java:499)
              at com.atlassian.confluence.index.ConfluenceReIndexer.indexAttachments(ConfluenceReIndexer.java:171)
              at com.atlassian.confluence.index.ConfluenceReIndexer.reIndex(ConfluenceReIndexer.java:111)
              at com.atlassian.confluence.search.ReIndexTask.run(ReIndexTask.java:42)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
              at com.atlassian.confluence.tenant.TenantGate$3.call(TenantGate.java:167)
              at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager$1.run(DefaultConfluenceIndexManager.java:256)
              at java.lang.Thread.run(Thread.java:744)
      Caused by: org.springframework.orm.hibernate.HibernateSystemException: Null value was assigned to a property of primitive type setter of com.atlassian.confluence.pages.Attachment.minorEdit; nested exception is net.sf.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.atlassian.confluence.pages.Attachment.minorEdit
              at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597)
              at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:353)
              at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375)
              at org.springframework.orm.hibernate.HibernateTemplate.executeFind(HibernateTemplate.java:341)
              at com.atlassian.confluence.core.persistence.hibernate.HibernateAnyTypeDao.findByIdsAndClassName(HibernateAnyTypeDao.java:108)
              at com.atlassian.confluence.search.lucene.ReindexWorkBatch$1.doInTransaction(ReindexWorkBatch.java:103)
              at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
              at com.atlassian.confluence.search.lucene.ReindexWorkBatch.executeTransaction(ReindexWorkBatch.java:84)
              at com.atlassian.confluence.search.lucene.ReindexWorkBatch.run(ReindexWorkBatch.java:72)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
              at com.atlassian.confluence.tenant.TenantGate$3.call(TenantGate.java:167)
                      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              ... 1 more
      Caused by: net.sf.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.atlassian.confluence.pages.Attachment.minorEdit
              at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:57)
              at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:229)
              at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2251)
              at net.sf.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:319)
              at net.sf.hibernate.loader.Loader.doQuery(Loader.java:309)
              at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
              at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
              at net.sf.hibernate.loader.Loader.list(Loader.java:1054)
              at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
              at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1570)
              at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1547)
              at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1539)
              at sun.reflect.GeneratedMethodAccessor1609.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at org.springframework.orm.hibernate.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1123)
              at com.sun.proxy.$Proxy436.find(Unknown Source)
              at com.atlassian.confluence.core.persistence.hibernate.HibernateAnyTypeDao$3.doInHibernate(HibernateAnyTypeDao.java:114)
              at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
              ... 12 more
      Caused by: java.lang.IllegalArgumentException
              at sun.reflect.GeneratedMethodAccessor1365.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:38)
              ... 30 more
      

      Either Attachment#minorEdit should be Boolean or upgrade task should be written to fix rows like this before adding a not null constraint to minor_edit column in attachments table.

      Attachments

        Issue Links

          Activity

            People

              nbhawnani Niraj Bhawnani
              onevalainen Olli Nevalainen
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: