-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathupgrade.html
117 lines (117 loc) · 7.79 KB
/
upgrade.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>WiredTiger: Upgrading and downgrading databases</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="wiredtiger.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><a href="http://wiredtiger.com/"><img alt="Logo" src="LogoFinal-header.png" alt="WiredTiger" /></a></td>
<td style="padding-left: 0.5em;">
<div id="projectname">
 <span id="projectnumber">Version 2.8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="banner">
<a href="https://github.com/wiredtiger/wiredtiger">Fork me on GitHub</a>
<a class="last" href="http://groups.google.com/group/wiredtiger-users">Join my user group</a>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li><a href="community.html"><span>Community</span></a></li>
<li><a href="license.html"><span>License</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('upgrade.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Upgrading and downgrading databases </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The upgrade/downgrade process is only necessary for major or minor WiredTiger releases (releases where the major or minor version number changed). Patch releases (where only the patch number changed), do not contain any API or file format changes, and do not require anything other than a link step or shared library installation for upgrading or downgrading. However, the complete WiredTiger library must be re-built from scratch when changing versions, as there is no guarantee modules from one version of the library will work with modules from any other version.</p>
<p>The rest of this page discusses upgrading and downgrading WiredTiger major and minor releases. Specifically, by upgrading, we mean migrating an application and its databases to a newer WiredTiger release, and by downgrading, we mean reverting to an older version.</p>
<p>When upgrading or downgrading between WiredTiger releases, there are two components to consider: the WiredTiger library API and the underlying data files used for the database (for example, log files or B+tree files).</p>
<p>As part of each WiredTiger release, a new <a class="el" href="upgrading.html">Upgrading WiredTiger applications</a> documentation section is created, describing changes in the WiredTiger API and in the format of underlying files, if any. Changes to the format of the underlying data files are extremely rare, while changes to WiredTiger API are more common. Generally, when the WiredTiger API changes, the changes are backward compatible and applications do not require modifications in order to upgrade to the new release.</p>
<p>Note it is not necessary to upgrade (downgrade) to intermediate releases, you can ignore intermediate releases and upgrade (downgrade) directly to the release you plan to use.</p>
<p>To upgrade to a new release of WiredTiger:</p>
<ol type="1">
<li>Review the information for each release after the WiredTiger release you're currently using, up to and including the release you plan to use. Changes to the WiredTiger API are normally backward compatible, that is, you can continue to use the same WiredTiger configuration values used previously. However, it will likely enhance program maintainability to switch to newer versions of the configuration strings, as documentation for the deprecated values will no longer be available. <br />
<br />
</li>
<li>Once you have reviewed the relevant release notes and modified your application as necessary, install the new version of the application by relinking or installing a new version of the WiredTiger shared library. <br />
<br />
</li>
<li>Shut down the old version of the application. <br />
<br />
</li>
<li>Start the new version of the application. <br />
<br />
If the upgrading documentation for any release after the previous release and up to and including the release you are using, specifies underlying data file formats are no longer backward compatible and will not be upgraded at run-time, a data upgrade step is required before the data can be accessed. In this case, data files must be upgraded using the <a class="el" href="struct_w_t___s_e_s_s_i_o_n.html#a556046adc68a33bd317865c6a8d9ad69" title="Upgrade a file or table. ">WT_SESSION::upgrade</a> method.</li>
</ol>
<p>Applications wanting the ability to downgrade to previous releases of WiredTiger are constrained in some important ways:</p>
<ul>
<li>The underlying data file formats must not have changed between the release currently being run and the release to which you are downgrading. In other words, data file format changes are not backward compatible, and an upgraded data file cannot be downgraded without being dumped and re-loaded. <br />
<br />
</li>
<li>Applications concerned with downgrading should configure the <a class="el" href="group__wt.html#ga9e6adae3fc6964ef837a62795c7840ed" title="Open a connection to a database. ">wiredtiger_open</a> <code>config_base</code> value to <code>false</code>, so WiredTiger does not write the base configuration file file when creating databases. Because the base configuration file is written using a current version of the WiredTiger API, writing this file could cause applications using previous versions of the WiredTiger API to fail. See <a class="el" href="database_config.html#config_base">WiredTiger.basecfg file</a> for more information.</li>
</ul>
<p>To downgrade to a previous release of WiredTiger:</p>
<ol type="1">
<li>Shut down the new version of the application. <br />
<br />
</li>
<li>Start the old version of the application. </li>
</ol>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">Reference Guide</a></li><li class="navelem"><a class="el" href="programming_lang_java.html">Writing WiredTiger applications in Java</a></li>
<li class="footer">Copyright (c) 2008-2016 MongoDB, Inc. All rights reserved. Contact <a href="mailto:[email protected]">[email protected]</a> for more information.</li>
</ul>
</div>
</body>
</html>