Skip to content

Commit

Permalink
HHH-11209 : Log a DEBUG message if collection with queued operations …
Browse files Browse the repository at this point in the history
…is detached due to rollback

(cherry picked from commit 7af7182)
  • Loading branch information
gbadner committed Feb 7, 2019
1 parent ed55fff commit cf18916
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
Expand Up @@ -38,6 +38,7 @@
import org.hibernate.persister.collection.CollectionPersister;
import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.pretty.MessageHelper;
import org.hibernate.resource.transaction.spi.TransactionStatus;
import org.hibernate.type.CompositeType;
import org.hibernate.type.IntegerType;
import org.hibernate.type.LongType;
Expand Down Expand Up @@ -625,7 +626,20 @@ public final boolean unsetSession(SharedSessionContractImplementor currentSessio
if ( currentSession == this.session ) {
if ( !isTempSession ) {
if ( hasQueuedOperations() ) {
LOG.queuedOperationWhenDetachFromSession( MessageHelper.collectionInfoString( getRole(), getKey() ) );
final String collectionInfoString = MessageHelper.collectionInfoString( getRole(), getKey() );
final TransactionStatus transactionStatus =
session.getTransactionCoordinator().getTransactionDriverControl().getStatus();
if ( transactionStatus.isOneOf(
TransactionStatus.ROLLED_BACK,
TransactionStatus.MARKED_ROLLBACK,
TransactionStatus.FAILED_COMMIT,
TransactionStatus.FAILED_ROLLBACK,
TransactionStatus.ROLLING_BACK
) )
LOG.queuedOperationWhenDetachFromSessionOnRollback( collectionInfoString );
else {
LOG.queuedOperationWhenDetachFromSession( collectionInfoString );
}
}
this.session = null;
}
Expand Down
Expand Up @@ -1826,4 +1826,8 @@ void attemptToAssociateProxyWithTwoOpenSessions(
@LogMessage(level = WARN)
@Message(value = "Detaching an uninitialized collection with queued operations from a session: %s", id = 496)
void queuedOperationWhenDetachFromSession(String collectionInfoString);

@LogMessage(level = DEBUG)
@Message(value = "Detaching an uninitialized collection with queued operations from a session due to rollback: %s", id = 498)
void queuedOperationWhenDetachFromSessionOnRollback(String collectionInfoString);
}

0 comments on commit cf18916

Please sign in to comment.