Workflow Update with Big Descriptor Fails with "ORA-03146: Invalid Buffer Length For TTC Field" After Oracle DB Upgrade to 19c

XMLWordPrintable

    • 1
    • 4

      Problem Definition

      ORA-03146: invalid buffer length for TTC field Error is thrown, when a big workflow is updated. This happens when the customer upgraded from Oracle 12 to 19c.

      2022-01-05 17:16:18,455+0100 http-nio-8080-exec-49 ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [com.atlassian.jira.exception.DataAccessException: org.ofbiz.core.entity.GenericEntityException: while updating: [GenericEntity:Workflow][creator,null][name,PDA_Workflow_v.1.2][islocked,null][id,17010][descriptor,***] (SQL Exception while executing the following:UPDATE jiraworkflows SET workflowname=?, creatorname=?, DESCRIPTOR=?, ISLOCKED=? WHERE ID=? (ORA-03146: invalid buffer length for TTC field
       ))] with root cause
       Error : 3146, Position : 76, Sql = UPDATE jiraworkflows SET workflowname=:1 , creatorname=:2 , DESCRIPTOR=:3 , ISLOCKED=:4 WHERE ID=:5 , OriginalSql = UPDATE jiraworkflows SET workflowname=?, creatorname=?, DESCRIPTOR=?, ISLOCKED=? WHERE ID=?, Error Msg = ORA-03146: invalid buffer length for TTC field
      at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
       at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
       at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)
       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)
       at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
       at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270)
       at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91)
       at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
       at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205)
       at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)
       at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426)
       at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:3756)
       at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3736)
       at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1063)
       at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
       at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
       at com.atlassian.jira.ofbiz.sql.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:47)
       at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.lambda$executeUpdate$7(DiagnosticPreparedStatement.java:69)
       at com.atlassian.diagnostics.internal.platform.monitor.db.DefaultDatabaseDiagnosticsCollector.recordExecutionTime(DefaultDatabaseDiagnosticsCollector.java:70)
       at com.atlassian.jira.diagnostic.connection.DatabaseDiagnosticsCollectorDelegate.recordExecutionTime(DatabaseDiagnosticsCollectorDelegate.java:55)
       at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.executeUpdate(DiagnosticPreparedStatement.java:69)
       at org.ofbiz.core.entity.jdbc.SQLProcessor.executeUpdate(SQLProcessor.java:562)
       at org.ofbiz.core.entity.GenericDAO.singleUpdate(GenericDAO.java:358)
       at org.ofbiz.core.entity.GenericDAO.customUpdate(GenericDAO.java:286)
       at org.ofbiz.core.entity.GenericDAO.update(GenericDAO.java:266)
       at org.ofbiz.core.entity.GenericDAO.update(GenericDAO.java:236)
       at org.ofbiz.core.entity.GenericHelperDAO.store(GenericHelperDAO.java:257)
       at org.ofbiz.core.entity.GenericDelegator.store(GenericDelegator.java:1744)
       at org.ofbiz.core.entity.GenericDelegator.store(GenericDelegator.java:1725)
       at com.atlassian.jira.ofbiz.DefaultOfBizDelegator.store(DefaultOfBizDelegator.java:281)
       at com.atlassian.jira.ofbiz.WrappingOfBizDelegator.store(WrappingOfBizDelegator.java:166)
       at com.atlassian.jira.workflow.OfBizWorkflowDescriptorStore.saveWorkflow(OfBizWorkflowDescriptorStore.java:78)
       at com.atlassian.jira.workflow.CachingWorkflowDescriptorStore.saveWorkflow(CachingWorkflowDescriptorStore.java:85)
       at com.atlassian.jira.workflow.JiraWorkflowFactory.saveWorkflow(JiraWorkflowFactory.java:54)
       at com.opensymphony.workflow.config.DefaultConfiguration.saveWorkflow(DefaultConfiguration.java:221)
       at com.atlassian.jira.workflow.OSWorkflowManager.overwriteActiveWorkflow(OSWorkflowManager.java:568)
       at com.atlassian.jira.bc.workflow.DefaultWorkflowService.overwriteActiveWorkflow(DefaultWorkflowService.java:215)
       at com.atlassian.jira.web.action.admin.workflow.PublishDraftWorkflow.doExecute(PublishDraftWorkflow.java:72)
       ... 1 filtered
       at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)
       ... 7 filtered
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
       ... 15 filtered
       at com.idalko.jira.plugins.igrid.WebResourceIncludeFilter.doFilter(WebResourceIncludeFilter.java:166)
       ... 36 filtered
       at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:56)
       ... 7 filtered
       at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
       ... 4 filtered
       at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
       ... 3 filtered
       at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
       ... 8 filtered
       at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
       ... 48 filtered
       at com.resolution.atlasplugins.samlsso.servlet.RedirectToSsoFilter.doFilter(RedirectToSsoFilter.java:60)
       ... 3 filtered
       at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
       ... 21 filtered
       at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
       ... 1 filtered
       at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
       ... 16 filtered
       at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:83)
       ... 26 filtered
       at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
       ... 5 filtered
       at com.resolution.atlasplugins.samlsso.servlet.SetSameSiteCookieAttributeToNoneAttributeFilter.doFilter(SetSameSiteCookieAttributeToNoneAttributeFilter.java:51)
       ... 3 filtered
       at com.idalko.jira.plugins.igrid.servicedesk.ServletRequestContextFilter.doFilter(ServletRequestContextFilter.java:23)
       ... 3 filtered
       at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
       ... 8 filtered
       at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
       ... 4 filtered
       at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
       ... 3 filtered
       at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
       ... 29 filtered
       at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
       ... 25 filtered
       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
       at java.base/java.lang.Thread.run(Unknown Source)
      

      This Error is related to Oracle Bug.

      Suggestion

      There should be an option to update the big workflows/draft workflows in divided parts to avoid this ORA error.

      Workaround

      As of now, the workaround is to reach out to Oracle Support for a fix. Currently, there is no known workaround for this behavior from Atlassian. A workaround will be added here when available.

            Assignee:
            Unassigned
            Reporter:
            Karan Ahuja
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: