Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-60604

Jira throws protocol violation error when reindexing due to outdated Oracle driver

    XMLWordPrintable

Details

    Description

      Summary

      JIRA 7 is shipped with Oracle JDBC driver 12.1.0.1.0: ojdbc7-12.1.0.1.jar
      Oracle Driver 12.1.0.1 throws error Protocol violation during connection to Database.

      Environment

      • JIRA 7.x
      • Database Oracle 12c Enterprise Edition Release 12.1.0.1.0 or 12.1.0.2

      Steps to Reproduce

      1. Setup JIRA and connect it to DB
      2. Add some data (we don't have this specific set of data)
      3. Run reindex

      Expected Results

      It works fine.

      Actual Results

      The below exception is thrown in the jira.log file:

      2016-04-13 21:37:52,114 JiraTaskExectionThread-4 ERROR jiraadmins 1271x19429x1 1lemfi1 10.98.60.21 /secure/admin/IndexReIndex.jspa [c.a.j.util.index.CompositeIndexLifecycleManager] Reindex All FAILED.  Indexer: DefaultIndexManager: paths: [/jiraindex/infra711/jiraindex/caches/indexes/comments, /jiraindex/infra711/jiraindex/caches/indexes/issues, /jiraindex/infra711/jiraindex/caches/indexes/changes, /jiraindex/infra711/jiraindex/caches/indexes/worklogs, /jiraindex/infra711/jiraindex/caches/indexes/plugins/atlassian-subversion-revisions]
      org.ofbiz.core.util.GeneralRuntimeException: Error getting the next result (Protocol violation: [ 46, ])
          at org.ofbiz.core.entity.EntityListIterator.next(EntityListIterator.java:251)
          at com.atlassian.jira.ofbiz.DefaultOfBizListIterator.next(DefaultOfBizListIterator.java:100)
          at com.atlassian.jira.ofbiz.WrappingOfBizListIterator.next(WrappingOfBizListIterator.java:68)
          at com.atlassian.jira.issue.util.DatabaseIssuesIterator.pullNextIssue(DatabaseIssuesIterator.java:97)
          at com.atlassian.jira.issue.util.DatabaseIssuesIterator.populateNextIssueIfNull(DatabaseIssuesIterator.java:68)
          at com.atlassian.jira.issue.util.DatabaseIssuesIterator.hasNext(DatabaseIssuesIterator.java:51)
          at com.atlassian.jira.issue.util.DatabaseIssuesIterable.foreach(DatabaseIssuesIterable.java:55)
          at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:282)
          at com.atlassian.jira.issue.index.DefaultIssueIndexer.indexIssuesBatchMode(DefaultIssueIndexer.java:151)
          at com.atlassian.jira.issue.index.DefaultIndexManager.doIndexIssuesInBatchMode(DefaultIndexManager.java:984)
          at com.atlassian.jira.issue.index.DefaultIndexManager.doStopTheWorldReindex(DefaultIndexManager.java:961)
          at com.atlassian.jira.issue.index.DefaultIndexManager.lambda$reIndexAll$0(DefaultIndexManager.java:326)
          at com.atlassian.jira.issue.index.DefaultIndexManager.withReindexLock(DefaultIndexManager.java:359)
          at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:326)
          at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:258)
      ...
      Caused by: java.sql.SQLException: Protocol violation: [ 46, ]
          at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669)
          at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
          at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
          at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
          at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1022)
          at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:1008)
          at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:972)
          at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:572)
          at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
          at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
          at org.ofbiz.core.entity.EntityListIterator.next(EntityListIterator.java:245)
          ... 33 more
      
      

      Notes

      May be related to Oracle Clob bug. See:

      Conflicts with:
      https://jira.atlassian.com/browse/JRA-60007

      Workaround

      • Update Oracle driver from 12.1.0.1 to 12.2.0.1 version.
        • Download 12.2.0.1 from here Oracle JDBC 12.2.0.1 Driver.
        • Stop JIRA
        • Delete current driver ojdbc7-12.1.0.1.jar from <JIRA-INSTALL>/lib/ folder
        • Upload new driver to <JIRA_INSTALL>/lib/ folder
        • Start JIRA again
      • Using 12.2.0.1 will allow you to work around JRA-61007 which our previous instructions (upgrading to 12.1.0.2) would cause.

      Attachments

        Issue Links

          Activity

            People

              psuwala ΞΔ (Inactive)
              ayakovlev@atlassian.com Andriy Yakovlev [Atlassian]
              Votes:
              18 Vote for this issue
              Watchers:
              52 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: