3 Replies Latest reply on Jul 8, 2013 4:52 AM by srnjak

    JPA, MySQL and concurrency problem

    srnjak

      Hi

       

      Let me explain situation first.

       

      I have 3 entities: Photo, Tag and PhotoTag. Each Photo may have appended multiple Tags and each Tag may be appended to multiple Photos. In my case I use  "join" entity PhotoTag.

      When I'm persisting new Photo, there has to be checked, if it's tags already exists. If they do, existing ones should be uset. If there is not yet one in the database, new Tag has to be persisted.

       

      To achieve this in concurrent world I made extra entity "Options", which is updated in case of persisting new Tag. It is updated with LockModeType.PESSIMISTIC_WRITE.

      But what happens: after firing two threads simultaneously as shown in logs, locking works as expectid. But when second thread wants to read data from database, it does not get Tag, which was inserted in first thread. consequently it wants to go to persisting part and fails with ConstraintViolationException.

       

      Test class:

       

      {code}

      @Stateless

      @Interceptors({LoggerInterceptor.class})

      public class FotoTest implements FotoTestLocal {

       

      /**

      * Entity manager

      */

      @PersistenceContext(unitName="AlbumUnit")

      private EntityManager em;

       

      @Override

      public void test() {

       

      Photo photo = new Photo();

      photo.setDateTime(new Date());

      photo.setDescription("blabla bla");

      photo.setExtension("jpg");

      photo.setHeight(new BigInteger("1000"));

      photo.setWidth(new BigInteger("2000"));

      photo.setOwner("owner");

      photo.setSize(new BigInteger("30000"));

       

      TypedQuery<Tag> tagQuery =

      this.em.createNamedQuery("tagByName", Tag.class)

      .setParameter("tagName", "nalepka");

       

      Options options = this.em.find(

      Options.class,

      Options.TAG_COUNT.getPk().getValue());

       

      Tag tag;

      try {

      tag = tagQuery.getSingleResult();

      } catch (NoResultException e) {

       

      this.em.refresh(options, LockModeType.PESSIMISTIC_WRITE);

      // timeout for testing purposes, that you can fire two threads symultanously
      try {

      Thread.sleep(3000);

      } catch (InterruptedException e2) {

      }

       

      try {

      tag = tagQuery.getSingleResult();

      } catch (NoResultException e1) {

      BigInteger tagCount = new BigInteger(options.getValue());

      tagCount = tagCount.add(BigInteger.ONE);

      options.setValue(tagCount.toString());

       

      tag = new Tag();

      tag.setTagName("nalepka");

      this.em.persist(tag);

      }

      }

       

      PhotoTag photoTag = new PhotoTag();

      photoTag.setTag(tag);

      this.em.persist(photoTag);

       

      photo.getTagList().add(photoTag);

      this.em.persist(photo);

       

      }

       

      }


      {code}

       

      Log with SQL statements (pay attention of executing different threads) :

       

      {noformat}

      20:37:26,072 FINER [com.srnjak.world.core.LoggerInterceptor] (http-/0.0.0.0:8084-1) com.srnjak.world.album.ejb.FotoTest@6c796c0d.test ENTRY

      20:37:26,073 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select options0_.ID as ID4_0_, options0_.value as value4_0_ from OPTIONS options0_ where options0_.ID=?

       

      20:37:26,077 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tag0_.ID as ID10_, tag0_.TAG_NAME as TAG2_10_ from TAG tag0_ where tag0_.TAG_NAME=?

       

      20:37:26,079 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select options0_.ID as ID4_0_, options0_.value as value4_0_ from OPTIONS options0_ where options0_.ID=? for update

       

      20:37:26,582 FINER [com.srnjak.world.core.LoggerInterceptor] (ajp-/0.0.0.0:8009-1) com.srnjak.world.album.ejb.FotoTest@10f449dd.test ENTRY

      20:37:26,583 INFO  [stdout] (ajp-/0.0.0.0:8009-1) Hibernate: select options0_.ID as ID4_0_, options0_.value as value4_0_ from OPTIONS options0_ where options0_.ID=?

       

      20:37:26,587 INFO  [stdout] (ajp-/0.0.0.0:8009-1) Hibernate: select tag0_.ID as ID10_, tag0_.TAG_NAME as TAG2_10_ from TAG tag0_ where tag0_.TAG_NAME=?

       

      20:37:26,590 INFO  [stdout] (ajp-/0.0.0.0:8009-1) Hibernate: select options0_.ID as ID4_0_, options0_.value as value4_0_ from OPTIONS options0_ where options0_.ID=? for update

       

      20:37:29,081 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tag0_.ID as ID10_, tag0_.TAG_NAME as TAG2_10_ from TAG tag0_ where tag0_.TAG_NAME=?

       

      20:37:29,102 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,103 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,230 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,232 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,322 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,324 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,402 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,403 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,485 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,487 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,588 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: select tbl.VALUE from ID_GENERATOR tbl where tbl.PK=? for update

       

      20:37:29,589 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update ID_GENERATOR set VALUE=?  where VALUE=? and PK=?

       

      20:37:29,678 FINER [com.srnjak.world.core.LoggerInterceptor] (http-/0.0.0.0:8084-1) com.srnjak.world.album.ejb.FotoTest@6c796c0d.test RETURN null

      20:37:29,683 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: insert into TAG (TAG_NAME, ID) values (?, ?)

       

      20:37:29,688 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: insert into PHOTO_TAG (TAG_ID, ID) values (?, ?)

       

      20:37:29,690 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: insert into PHOTO (DATE_TIME, description, extension, GEO_LATITUDE, GEO_LONGITUDE, height, owner, size, title, variation, width, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

       

      20:37:29,694 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update OPTIONS set value=? where ID=?

       

      20:37:29,696 INFO  [stdout] (http-/0.0.0.0:8084-1) Hibernate: update PHOTO_TAG set PHOTO_ID=? where ID=?

       

      20:37:32,702 INFO  [stdout] (ajp-/0.0.0.0:8009-1) Hibernate: select tag0_.ID as ID10_, tag0_.TAG_NAME as TAG2_10_ from TAG tag0_ where tag0_.TAG_NAME=?

       

      20:37:32,708 FINER [com.srnjak.world.core.LoggerInterceptor] (ajp-/0.0.0.0:8009-1) com.srnjak.world.album.ejb.FotoTest@10f449dd.test RETURN null

      20:37:32,709 INFO  [stdout] (ajp-/0.0.0.0:8009-1) Hibernate: insert into TAG (TAG_NAME, ID) values (?, ?)

       

      20:37:32,711 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ajp-/0.0.0.0:8009-1) SQL Error: 1062, SQLState: 23000

      20:37:32,712 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ajp-/0.0.0.0:8009-1) Duplicate entry 'nalepka' for key 'TAG_NAME_IDX'

      20:37:32,712 WARN  [com.arjuna.ats.arjuna] (ajp-/0.0.0.0:8009-1) ARJUNA012125: TwoPhaseCoordinator.beforeCompletion - failed for SynchronizationImple< 0:ffffc0a80004:6ba7bd5:51d93d54:4b8d, org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization@24a1046 >: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1510) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)

      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:252) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:315) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at com.srnjak.world.album.ejb.FotoTestLocal$$$view207.test(Unknown Source) [AlbumEjbClient.jar:]

      at com.srnjak.world.test.Test4.doGet(Test4.java:37)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at com.srnjak.world.web.app.CrawlFilter.doFilter(CrawlFilter.java:88)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at com.srnjak.world.web.app.CharsetFilter.doFilter(CharsetFilter.java:40)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)

      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:389)

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)

      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)

      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)

      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)

      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)

      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488)

      at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)

      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)

      at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_17]

      Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:128) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3058) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 60 more

      Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'nalepka' for key 'TAG_NAME_IDX'

      at sun.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) [:1.7.0_17]

      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

      at com.mysql.jdbc.Util.getInstance(Util.java:386)

      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)

      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)

      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)

      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)

      at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)

      at com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:875)

      at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 72 more

       

      20:37:32,862 INFO  [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ajp-/0.0.0.0:8009-1) HHH000010: On release of batch it still contained JDBC statements

      20:37:32,863 ERROR [org.jboss.as.ejb3.invocation] (ajp-/0.0.0.0:8009-1) JBAS014134: EJB Invocation failed on component FotoTest for method public abstract void com.srnjak.world.album.ejb.FotoTestLocal.test(): javax.ejb.EJBTransactionRolledbackException: Transaction rolled back

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:114) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:94) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:252) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:315) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at com.srnjak.world.album.ejb.FotoTestLocal$$$view207.test(Unknown Source) [AlbumEjbClient.jar:]

      at com.srnjak.world.test.Test4.doGet(Test4.java:37)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at com.srnjak.world.web.app.CrawlFilter.doFilter(CrawlFilter.java:88)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at com.srnjak.world.web.app.CharsetFilter.doFilter(CharsetFilter.java:40)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)

      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:389)

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)

      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)

      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)

      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)

      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)

      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488)

      at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)

      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)

      at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_17]

      Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1177)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      ... 51 more

      Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1510) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)

      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)

      ... 54 more

      Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:128) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3058) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 60 more

      Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'nalepka' for key 'TAG_NAME_IDX'

      at sun.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) [:1.7.0_17]

      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

      at com.mysql.jdbc.Util.getInstance(Util.java:386)

      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)

      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)

      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)

      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)

      at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)

      at com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:875)

      at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 72 more

       

      20:37:32,874 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/].[com.srnjak.world.test.Test4]] (ajp-/0.0.0.0:8009-1) JBWEB000236: Servlet.service() for servlet com.srnjak.world.test.Test4 threw exception: javax.ejb.EJBTransactionRolledbackException: Transaction rolled back

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:114) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:94) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:252) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:315) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at com.srnjak.world.album.ejb.FotoTestLocal$$$view207.test(Unknown Source) [AlbumEjbClient.jar:]

      at com.srnjak.world.test.Test4.doGet(Test4.java:37) [classes:]

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88) [struts2-core-2.3.4.1.jar:2.3.4.1]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at com.srnjak.world.web.app.CrawlFilter.doFilter(CrawlFilter.java:88) [classes:]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at com.srnjak.world.web.app.CharsetFilter.doFilter(CharsetFilter.java:40) [classes:]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:389) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final.jar:7.2.0.Final]

      at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_17]

      Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1177)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91) [jboss-as-ejb3-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]

      ... 51 more

      Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1510) [hibernate-entitymanager-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)

      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)

      ... 54 more

      Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

      at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:128) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3058) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 60 more

      Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'nalepka' for key 'TAG_NAME_IDX'

      at sun.reflect.GeneratedConstructorAccessor94.newInstance(Unknown Source) [:1.7.0_17]

      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.7.0_17]

      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

      at com.mysql.jdbc.Util.getInstance(Util.java:386)

      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)

      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)

      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)

      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)

      at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)

      at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)

      at com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:875)

      at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)

      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:125) [hibernate-core-4.2.0.CR1.jar:4.2.0.CR1]

      ... 72 more


      {noformat}

       

      I use jBoss EAP 6.1 alpha with Hibernate as JPA vendor and MySQL v5.5.31 as database provider.

       

      Hope somebody will know if I'm doing anything wrong or I just crashed in a bug.

      Please let me know, if you need any aditional information.