-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Highest
-
None
-
Affects Version/s: 10.3.15
-
Component/s: Bulk Operations
-
10.03
-
84
-
Severity 2 - Major
-
255
Summary
In JRASERVER-68806 we decreased the size of the EagerLoadingOfBizCustomFieldPersister cache from infinite to 10.The issue was resolved in JRASERVER-70397. However, we still see the same pattern in new versions of Jira.
Expected Results
- Bulk issue operations are fast
- DB is not overloaded with requests
Actual Results
- bulk issue operations are slow
- Large number of SQL operations querying customfieldvalue table, the same behavior as the other bug ticket.
SELECT ID, ISSUE, CUSTOMFIELD, UPDATED, PARENTKEY, STRINGVALUE, NUMBERVALUE, TEXTVALUE, DATEVALUE, VALUETYPE FROM customfieldvalue WHERE ISSUE='<ID>'
Notes
Example of thread doing BulkMigrateOperation :
sun.nio.ch.Net.poll(java.base@17.0.18/Native Method) sun.nio.ch.NioSocketImpl.park(java.base@17.0.18/NioSocketImpl.java:186) sun.nio.ch.NioSocketImpl.park(java.base@17.0.18/NioSocketImpl.java:195) sun.nio.ch.NioSocketImpl.implRead(java.base@17.0.18/NioSocketImpl.java:319) sun.nio.ch.NioSocketImpl.read(java.base@17.0.18/NioSocketImpl.java:355) sun.nio.ch.NioSocketImpl$1.read(java.base@17.0.18/NioSocketImpl.java:808) java.net.Socket$SocketInputStream.read(java.base@17.0.18/Socket.java:966) sun.security.ssl.SSLSocketInputRecord.read(java.base@17.0.18/SSLSocketInputRecord.java:484) sun.security.ssl.SSLSocketInputRecord.readHeader(java.base@17.0.18/SSLSocketInputRecord.java:478) sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(java.base@17.0.18/SSLSocketInputRecord.java:70) sun.security.ssl.SSLSocketImpl.readApplicationRecord(java.base@17.0.18/SSLSocketImpl.java:1465) sun.security.ssl.SSLSocketImpl$AppInputStream.read(java.base@17.0.18/SSLSocketImpl.java:1069) org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:162) org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:129) org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114) org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:74) org.postgresql.core.PGStream.receiveChar(PGStream.java:467) org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2166) org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371) org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:502) org.postgresql.jdbc.PgStatement.execute(PgStatement.java:419) org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194) org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137) org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123) org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123) com.atlassian.jira.ofbiz.sql.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:41) com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.lambda$executeQuery$5(DiagnosticPreparedStatement.java:59) com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement$$Lambda$4118/0x00007fbfa7aaed20.execute(Unknown Source) com.atlassian.diagnostics.internal.platform.monitor.db.DefaultDatabaseDiagnosticsCollector.recordExecutionTime(DefaultDatabaseDiagnosticsCollector.java:91) com.atlassian.jira.diagnostic.connection.DatabaseDiagnosticsCollectorDelegate.recordExecutionTime(DatabaseDiagnosticsCollectorDelegate.java:62) com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.executeQuery(DiagnosticPreparedStatement.java:59) org.ofbiz.core.entity.jdbc.SQLProcessor.executeQuery(SQLProcessor.java:543) org.ofbiz.core.entity.GenericDAO.createEntityListIterator(GenericDAO.java:882) org.ofbiz.core.entity.GenericDAO.selectListIteratorByCondition(GenericDAO.java:862) org.ofbiz.core.entity.GenericDAO.selectByAnd(GenericDAO.java:734) org.ofbiz.core.entity.GenericHelperDAO.findByAnd(GenericHelperDAO.java:166) org.ofbiz.core.entity.GenericDelegator.findByAnd(GenericDelegator.java:913) org.ofbiz.core.entity.GenericDelegator.findByAnd(GenericDelegator.java:891) org.ofbiz.core.entity.GenericDelegator.findByAnd(GenericDelegator.java:860) com.atlassian.jira.ofbiz.DefaultOfBizDelegator.findByAnd(DefaultOfBizDelegator.java:83) com.atlassian.jira.ofbiz.WrappingOfBizDelegator.findByAnd(WrappingOfBizDelegator.java:62) com.atlassian.jira.issue.customfields.persistence.CustomFieldRetrievalHelper.getValuesOrderedByUpdate(CustomFieldRetrievalHelper.java:20) com.atlassian.jira.issue.customfields.persistence.EagerLoadingOfBizCustomFieldPersister.lambda$getValuesForIssueId$1(EagerLoadingOfBizCustomFieldPersister.java:139) com.atlassian.jira.issue.customfields.persistence.EagerLoadingOfBizCustomFieldPersister$$Lambda$4666/0x00007fb
Workaround
- No workaround available, since the below workaround does not help in this case.
-Djira.customfield.values.cache.max.size=1000
- is cloned from
-
JRASERVER-70397 Bulk issue move operations are slow and performance is degraded with small EagerLoadingOfBizCustomFieldPersister cache
-
- Closed
-
- mentioned in
-
Page Loading...