Status: Closed (View Workflow)
Affects Version/s: 6.4.4, 7.0.10, 7.1.6, 7.8.1
Component/s: Backup & Restore (non-migration)
Introduced in Version:6.04
Support reference count:43
Symptom Severity:Severity 1 - Critical
Bug Fix Policy:
Creating an XML Backup using Oracle JDBC driver 188.8.131.52 doesn't properly export the Active Objects tables sequence definitions.
- JIRA Core / Software 7.0.x or JIRA Core / Software 7.1.x
- Oracle Database 12c Enterprise Edition Release 184.108.40.206.0 - 64bit Production
- Connect JIRA to Oracle as per Connecting JIRA applications to Oracle.
- As recommended in our Supported platforms document, download the Oracle JDBC driver 220.127.116.11 from Oracle's website and replace the existing ojdbc7 driver from the $JIRA_INSTALL/lib folder with the 18.104.22.168.
- Create a project in JIRA and generate an XML Backup via /secure/admin/XmlBackup!default.jspa.
Sequence definitions for Active Object tables are exported.
This can be inspected by extracting the XML Backup and browsing the activeobjects.xml file.
Using the table AO_B9A0F0_APPLIED_TEMPLATE as an example, we would expect the autoIncrement attribute for the ID column definition (the primary key) set to true, as following:
The primary keys for the tables in the activeobjects.xml file have their autoIncrement attribute set to false.
Using the previous example (AO_B9A0F0_APPLIED_TEMPLATE.ID)
Importing this XML Backup into a new JIRA instance will corrupt the data and break several JIRA functionalities. For instance, creating a new project after importing a corrupted XML Backup will fail with the following exception:
- This was reproducible on JIRA 7.0.10 and 7.1.6.
- The existing implementation invokes DatabaseMetaData#getTables to retrieve the sequences in oracle with the types parameter being set as "SEQUENCE". However, due to a security patch - CVE-2016-3506, the "SEQUENCE" is not treated as legal input anymore.
- For regular backups, we recommend using the native database tools, as highlighted in our Backing up Data document.
- If an XML backup is required (e.g. to migrate to another database), use a different Oracle jdbc driver version temporarily (e.g. 22.214.171.124):