-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
Affects Version/s: 8.3.0, 8.4.0, 7.13.17, 7.13.18, 7.19.9, 7.19.10, 7.19.11, 8.2.3, 8.3.1
-
Component/s: Search - Indexing, Server - Performance
-
None
-
3
-
Severity 2 - Major
-
5
Issue Summary
Search indexing stalls on flush to the database. This occurs when a higher count of nodes are communicating the the database, causing contention for DB locks
This is reproducible on Data Center: yes
Steps to Reproduce
- Setup confluence with approx 12 nodes
- Have a page with approx 600 versions
- Force a reindex of the search index
Expected Results
Indexing completes in an expected timeframe
Actual Results
The indexing threads can get contention with other nodes requesting the same lock on the DB. Threads spend a long time flushing the session:
Caesium-1-1" #23 daemon prio=1 os_prio=0 cpu=1846499.29ms elapsed=22114.48s tid=0x0000207fd612a800 nid=0x45e runnable [0x0000207fd612a800]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.FileDispatcherImpl.read0(java.base@11.0.15/Native Method)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:600)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:474)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1437)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1423)
at com.atlassian.confluence.search.lucene.tasks.RebuildChangeDocumentsIndexTask.perform(RebuildChangeDocumentsIndexTask.java:100)
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available