<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="https://hibernate.atlassian.net" />
<title>Message Title</title>
</head>
<body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/08a5da10f2b6fdfb1edfa99d6efea30c?d=mm&s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="James_Clayton" id="email_James_Clayton" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=James_Clayton" style="color:#6c797f;; color: #3b73af; text-decoration: none">James Clayton</a> <strong>commented</strong> on <a href="https://hibernate.atlassian.net/browse/HHH-3628" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-static-bug-ec8b1222-1e09-4ae0-86ae-81c27361d41c" height="16" width="16" border="0" align="absmiddle" alt="Bug" /> HHH-3628</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-3628" style="color: #3b73af; text-decoration: none">Re: Hilo optimizer problem in case of multiple threads accessing the sequence table</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="text-paragraph-pattern-top" class="email-content-main mobile-expand comment-top-pattern" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; border-bottom: none; padding-bottom: 0">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0">
<p style="margin: 10px 0 0 0">We have managed to produce a simple JUnit test case & will upload it shortly. It consists of a Main class, a DAO and and entity class (HibPerson). There are two context files; the main class creates two corresponding application contexts and in separate threads performs loops inserting new entities with ids generated using the enhanced TableGenerator using hilo optimizer. If you let it run then you should see (eventually) a constraint violation exception as in the stack given at the end of this comment. The suggested fix from the previous comment by Tomasz fixes this issue. </p>
<p style="margin: 10px 0 0 0">There is also a pom file, so it may be easiest to run by importing into a Maven-capable project in Eclipse. </p>
<p style="margin: 10px 0 0 0">org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL <span class="error">[n/a]</span>; constraint <span class="error">[null]</span>; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement<br /> at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:138)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:680)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:562)<br /> at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755)<br /> at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)<br /> at hibernate.bugs.Main$1.run(Main.java:50)<br /> at java.lang.Thread.run(Unknown Source)<br /> Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement<br /> at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74)<br /> at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)<br /> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)<br /> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)<br /> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:136)<br /> at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58)<br /> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3067)<br /> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3509)<br /> at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)<br /> at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)<br /> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)<br /> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:286)<br /> at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)<br /> at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)<br /> at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)<br /> at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)<br /> at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)<br /> at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:554)<br /> ... 4 more<br /> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '6591' for key 'PRIMARY'<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)<br /> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)<br /> at java.lang.reflect.Constructor.newInstance(Unknown Source)<br /> at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)<br /> at com.mysql.jdbc.Util.getInstance(Util.java:386)<br /> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)<br /> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)<br /> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)<br /> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)<br /> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)<br /> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)<br /> at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)<br /> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)<br /> ... 18 more<br /> org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL <span class="error">[n/a]</span>; constraint <span class="error">[null]</span>; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement<br /> at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:138)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:680)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:562)<br /> at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755)<br /> at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)<br /> at hibernate.bugs.Main$2.run(Main.java:69)<br /> at java.lang.Thread.run(Unknown Source)<br /> Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement<br /> at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74)<br /> at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)<br /> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)<br /> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)<br /> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:136)<br /> at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58)<br /> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3067)<br /> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3509)<br /> at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)<br /> at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)<br /> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)<br /> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:286)<br /> at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)<br /> at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)<br /> at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)<br /> at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)<br /> at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)<br /> at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)<br /> at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:554)<br /> ... 4 more<br /> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '6596' for key 'PRIMARY'<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)<br /> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)<br /> at java.lang.reflect.Constructor.newInstance(Unknown Source)<br /> at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)<br /> at com.mysql.jdbc.Util.getInstance(Util.java:386)<br /> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)<br /> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)<br /> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)<br /> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)<br /> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)<br /> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)<br /> at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)<br /> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)<br /> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)<br /> ... 18 more</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-3628#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-e1d55f0d-c172-4f25-bc67-f8574a9c561e" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a>
</td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://hibernate.atlassian.net/browse/HHH-3628#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
This message was sent by Atlassian JIRA <span id="footer-build-information">(v6.3-OD-08-005-WN#6328-<span title="aae40f7178774ac0c2b0a349d29c88f14216faa1" data-commit-id="aae40f7178774ac0c2b0a349d29c88f14216faa1}">sha1:aae40f7</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-8d5c1069-933f-4d5f-8ced-1365f756c811" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>