Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-102137

EagerBlobEntityPersistenceTest is sometimes failing with GenericJDBCException

    Description

    EagerBlobEntityPersistenceTest is intermittently failing in master with:

         [exec] com.liferay.portal.tools.service.builder.test.service.persistence.test.EagerBlobEntityPersistenceTest > classMethod FAILED
         [exec]     org.hibernate.exception.GenericJDBCException: could not insert: [com.liferay.portal.tools.service.builder.test.model.impl.EagerBlobEntityImpl]
         [exec]     	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
         [exec]     	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
         [exec]     	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
         [exec]     	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2455)
         [exec]     	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875)
         [exec]     	at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
         [exec]     	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
         [exec]     	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
         [exec]     	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
         [exec]     	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
         [exec]     	at com.liferay.portal.dao.orm.hibernate.event.NestableFlushEventListener.onFlush(NestableFlushEventListener.java:61)
         [exec]     	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
         [exec]     	at com.liferay.portal.spring.hibernate.PortletTransactionManager$TransactionStatusWrapper.reset(PortletTransactionManager.java:260)
         [exec]     	at com.liferay.portal.spring.hibernate.PortletTransactionManager.commit(PortletTransactionManager.java:63)
         [exec]     	at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.commit(DefaultTransactionExecutor.java:41)
         [exec]     	at com.liferay.portal.spring.transaction.BaseTransactionExecutor.execute(BaseTransactionExecutor.java:45)
         [exec]     	at com.liferay.portal.spring.transaction.TransactionInvokerImpl.invoke(TransactionInvokerImpl.java:39)
         [exec]     	at com.liferay.portal.kernel.transaction.TransactionInvokerUtil.invoke(TransactionInvokerUtil.java:28)
         [exec]     	at com.liferay.portal.test.rule.TransactionalTestRule$1.evaluate(TransactionalTestRule.java:119)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at com.liferay.portal.kernel.test.rule.AbstractTestRule$1.evaluate(AbstractTestRule.java:59)
         [exec]     	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
         [exec]     	at com.liferay.arquillian.extension.junit.bridge.server.TestExecutorRunnable._execute(TestExecutorRunnable.java:181)
         [exec]     	at com.liferay.arquillian.extension.junit.bridge.server.TestExecutorRunnable.run(TestExecutorRunnable.java:95)
         [exec]     	at java.base/java.lang.Thread.run(Thread.java:834)
         [exec]     Caused by: java.sql.SQLException: Index 0 out of bounds for length 0
         [exec]     	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
         [exec]     	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
         [exec]     	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
         [exec]     	at com.mysql.cj.jdbc.ClientPreparedStatement.setBlob(ClientPreparedStatement.java:1446)
         [exec]     	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setBlob(HikariProxyPreparedStatement.java)
         [exec]     	at org.hibernate.type.descriptor.sql.BlobTypeDescriptor$3$1.doBind(BlobTypeDescriptor.java:88)
         [exec]     	at org.hibernate.type.descriptor.sql.BlobTypeDescriptor$1$1.doBind(BlobTypeDescriptor.java:61)
         [exec]     	at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:91)
         [exec]     	at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:283)
         [exec]     	at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:278)
         [exec]     	at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:89)
         [exec]     	at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2184)
         [exec]     	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2431)
         [exec]     	... 28 more

    More EagerBlobEntityPersistenceTest are failing in Oracle as well:

        [exec] com.liferay.portal.tools.service.builder.test.service.persistence.test.EagerBlobEntityPersistenceTest > testFetchByPrimaryKeysWithMultiplePrimaryKeysWhereAllPrimaryKeysExist FAILED
         [exec]     com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: java.lang.ClassCastException: com.liferay.portal.kernel.dao.jdbc.OutputBlob cannot be cast to oracle.sql.BLOB
         [exec]     	at com.liferay.portal.kernel.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:446)
         [exec]     	at com.liferay.portal.tools.service.builder.test.service.persistence.impl.EagerBlobEntityPersistenceImpl.fetchByPrimaryKeys(EagerBlobEntityPersistenceImpl.java:1444)
         [exec]     	at com.liferay.portal.tools.service.builder.test.service.persistence.test.EagerBlobEntityPersistenceTest.testFetchByPrimaryKeysWithMultiplePrimaryKeysWhereAllPrimaryKeysExist(EagerBlobEntityPersistenceTest.java:245)

      Attachments

        Issue Links

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Packages

                Version Package