We're updating the issue view to help you get more done. 

Improve concurrency and performance of conversation log history.

Description

Use SequenceManager to assign the next messageID in ofMucConversationLog, instead of using select count(*) as part of the insert query, to solve 2 issues:

  1. In a clustered environment, with concurrent transactions taking place and default tx isolation level repeatable read, it was the cause of continuous deadlocks.

  2. If a process to remove old conversation logs is set up, having count(*) as messageID would lead to duplicates.

Instead of inserting conversation logs message by message, they're stored in batches as part of a single db transaction, to improve performance.

Environment

None

Acceptance Test - Entry

None
Fixed

Assignee

Guus der Kinderen

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Priority

Major
Configure