| |
| <!DOCTYPE html> |
| <!-- |
| Generated by Apache Maven Doxia at 2022-03-31 |
| Rendered using Reflow Maven Skin 1.1.0 (http://andriusvelykis.github.io/reflow-maven-skin) |
| --> |
| <html xml:lang="en" lang="en"> |
| |
| <head> |
| <meta charset="UTF-8" /> |
| <title>Backward Compatibility | Apache Phoenix</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <meta name="description" content="" /> |
| <meta http-equiv="content-language" content="en" /> |
| |
| <link href="//netdna.bootstrapcdn.com/bootswatch/2.3.2/flatly/bootstrap.min.css" rel="stylesheet" /> |
| <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" /> |
| <link href="./css/bootswatch.css" rel="stylesheet" /> |
| <link href="./css/reflow-skin.css" rel="stylesheet" /> |
| |
| <link href="//yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" /> |
| |
| <link href="./css/lightbox.css" rel="stylesheet" /> |
| |
| <link href="./css/site.css" rel="stylesheet" /> |
| <link href="./css/print.css" rel="stylesheet" media="print" /> |
| |
| <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> |
| <!--[if lt IE 9]> |
| <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> |
| <![endif]--> |
| |
| |
| |
| </head> |
| |
| <body class="page-upgrading project-phoenix-site" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> |
| |
| <div class="navbar navbar-fixed-top"> |
| <div class="navbar-inner"> |
| <div class="container"> |
| <a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse"> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </a> |
| <a class="brand" href="index.html"><div class="xtoplogo"></div></a> |
| <div class="nav-collapse collapse" id="top-nav-collapse"> |
| <ul class="nav pull-right"> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| <li ><a href="index.html" title="Overview">Overview</a></li> |
| <li ><a href="who_is_using.html" title="Who is Using">Who is Using</a></li> |
| <li ><a href="recent.html" title="Recent Improvements">Recent Improvements</a></li> |
| <li ><a href="roadmap.html" title="Roadmap">Roadmap</a></li> |
| <li ><a href="news.html" title="News">News</a></li> |
| <li ><a href="performance.html" title="Performance">Performance</a></li> |
| <li ><a href="team.html" title="Team">Team</a></li> |
| <li ><a href="tech_talks.html" title="Tech Talks">Tech Talks</a></li> |
| <li ><a href="resources.html" title="Presentations">Presentations</a></li> |
| <li ><a href="mailing_list.html" title="Mailing Lists">Mailing Lists</a></li> |
| <li ><a href="source.html" title="Source Repository">Source Repository</a></li> |
| <li ><a href="issues.html" title="Issue Tracking">Issue Tracking</a></li> |
| <li ><a href="download.html" title="Download">Download</a></li> |
| <li ><a href="installation.html" title="Installation">Installation</a></li> |
| <li class="divider"/> |
| <li ><a href="contributing.html" title="How to Contribute">How to Contribute</a></li> |
| <li ><a href="develop.html" title="How to Develop">How to Develop</a></li> |
| <li ><a href="building_website.html" title="How to Update Website">How to Update Website</a></li> |
| <li ><a href="release.html" title="How to Release">How to Release</a></li> |
| <li class="divider"/> |
| <li ><a href="http://www.apache.org/licenses/" title="License" class="externalLink">License</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Using <b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| <li ><a href="faq.html" title="F.A.Q.">F.A.Q.</a></li> |
| <li ><a href="Phoenix-in-15-minutes-or-less.html" title="Quick Start">Quick Start</a></li> |
| <li ><a href="building.html" title="Building">Building</a></li> |
| <li ><a href="tuning_guide.html" title="Tuning">Tuning</a></li> |
| <li ><a href="explainplan.html" title="Explain Plan">Explain Plan</a></li> |
| <li ><a href="tuning.html" title="Configuration">Configuration</a></li> |
| <li class="active"><a href="" title="Backward Compatibility">Backward Compatibility</a></li> |
| <li ><a href="release_notes.html" title="Release Notes">Release Notes</a></li> |
| <li ><a href="pherf.html" title="Performance Testing">Performance Testing</a></li> |
| <li class="divider"/> |
| <li ><a href="phoenix_spark.html" title="Apache Spark Integration">Apache Spark Integration</a></li> |
| <li ><a href="hive_storage_handler.html" title="Phoenix Storage Handler for Apache Hive">Phoenix Storage Handler for Apache Hive</a></li> |
| <li ><a href="pig_integration.html" title="Apache Pig Integration">Apache Pig Integration</a></li> |
| <li ><a href="phoenix_mr.html" title="Map Reduce Integration">Map Reduce Integration</a></li> |
| <li ><a href="flume.html" title="Apache Flume Plugin">Apache Flume Plugin</a></li> |
| <li ><a href="kafka.html" title="Apache Kafka Plugin">Apache Kafka Plugin</a></li> |
| <li ><a href="python.html" title="Python Driver">Python Driver</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Addons <b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| <li ><a href="http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-phoenix.html" title="Phoenix on Amazon EMR" class="externalLink">Phoenix on Amazon EMR</a></li> |
| <li ><a href="http://python-phoenixdb.readthedocs.io/en/latest" title="Phoenix Adapter for Python" class="externalLink">Phoenix Adapter for Python</a></li> |
| <li ><a href="phoenix_orm.html" title="Phoenix ORM Library">Phoenix ORM Library</a></li> |
| <li ><a href="https://trino.io/docs/current/connector/phoenix.html" title="Phoenix Connector for Trino" class="externalLink">Phoenix Connector for Trino</a></li> |
| <li ><a href="omid.html" title="Apache Phoenix Omid Transaction Manager">Apache Phoenix Omid Transaction Manager</a></li> |
| <li ><a href="tephra.html" title="Apache Phoenix Tephra Transaction Manager">Apache Phoenix Tephra Transaction Manager</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| <li ><a href="transactions.html" title="Transactions">Transactions</a></li> |
| <li ><a href="udf.html" title="User-defined Functions">User-defined Functions</a></li> |
| <li class="divider"/> |
| <li ><a href="secondary_indexing.html" title="Secondary Indexes">Secondary Indexes</a></li> |
| <li ><a href="columnencoding.html" title="Storage Formats">Storage Formats</a></li> |
| <li ><a href="atomic_upsert.html" title="Atomic Upsert">Atomic Upsert</a></li> |
| <li ><a href="namspace_mapping.html" title="Namespace Mapping">Namespace Mapping</a></li> |
| <li ><a href="update_statistics.html" title="Statistics Collection">Statistics Collection</a></li> |
| <li ><a href="rowtimestamp.html" title="Row Timestamp Column">Row Timestamp Column</a></li> |
| <li ><a href="paged.html" title="Paged Queries">Paged Queries</a></li> |
| <li ><a href="salted.html" title="Salted Tables">Salted Tables</a></li> |
| <li ><a href="skip_scan.html" title="Skip Scan">Skip Scan</a></li> |
| <li ><a href="tablesample.html" title="Table Sampling">Table Sampling</a></li> |
| <li class="divider"/> |
| <li ><a href="views.html" title="Views">Views</a></li> |
| <li ><a href="multi-tenancy.html" title="Multi tenancy">Multi tenancy</a></li> |
| <li ><a href="dynamic_columns.html" title="Dynamic Columns">Dynamic Columns</a></li> |
| <li class="divider"/> |
| <li ><a href="bulk_dataload.html" title="Bulk Loading">Bulk Loading</a></li> |
| <li ><a href="server.html" title="Query Server">Query Server</a></li> |
| <li ><a href="metrics.html" title="Metrics">Metrics</a></li> |
| <li ><a href="tracing.html" title="Tracing">Tracing</a></li> |
| <li ><a href="cursors.html" title="Cursor">Cursor</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Reference <b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| <li ><a href="language/index.html" title="Grammar">Grammar</a></li> |
| <li ><a href="language/functions.html" title="Functions">Functions</a></li> |
| <li ><a href="language/datatypes.html" title="Datatypes">Datatypes</a></li> |
| <li ><a href="array_type.html" title="ARRAY type">ARRAY type</a></li> |
| <li class="divider"/> |
| <li ><a href="sequences.html" title="Sequences">Sequences</a></li> |
| <li ><a href="joins.html" title="Joins">Joins</a></li> |
| <li ><a href="subqueries.html" title="Subqueries">Subqueries</a></li> |
| <li ><a href="explainplan.html" title="Explain Plan">Explain Plan</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div><!--/.nav-collapse --> |
| </div> |
| </div> |
| </div> |
| |
| <div class="container"> |
| |
| <!-- Masthead |
| ================================================== --> |
| |
| <header> |
| </header> |
| |
| <div class="main-body"> |
| <div class="row"> |
| <div class="span12"> |
| <div class="body-content"> |
| <div class="page-header"> |
| <h1>Backward Compatibility</h1> |
| </div> |
| <p>Phoenix maintains backward compatibility across at least two minor releases to allow for <b>no downtime</b> through server-side rolling restarts upon upgrading. See below for details.</p> |
| <div class="section"> |
| <h2 id="Versioning_Convention">Versioning Convention</h2> |
| <p>Phoenix uses a standard three number versioning schema of the form:</p> |
| <div class="source"> |
| <pre><major version> . <minor version> . <patch version> |
| </pre> |
| </div> |
| <p>For example, <b><tt>4.2.1</tt></b> has a major version of <b><tt>4</tt></b>, a minor version of <b><tt>2</tt></b>, and a patch version of <b><tt>1</tt></b>.</p> |
| </div> |
| <div class="section"> |
| <h2 id="Patch_Release">Patch Release</h2> |
| <p>Upgrading to a new patch release (i.e. only the patch version has changed) is the simplest case. The jar upgrade may occur in any order: client first or server first, and a mix of clients with different patch release versions is fine.</p> |
| </div> |
| <div class="section"> |
| <h2 id="Minor_Release">Minor Release</h2> |
| <p>When upgrading to a new minor release (i.e. the major version is the same, but the minor version has changed), sometimes modifications to the system tables are necessary to either fix a bug or provide a new feature. This upgrade will occur automatically the first time a newly upgraded client connects to the newly upgraded server. It is <b>required</b> that the server-side jar be upgraded first across your entire cluster, before any clients are upgraded. An older client (two minor versions back) will work with a newer server jar when the minor version is different, but not visa versa. In other words, clients do not need to be upgraded in lock step with the server. However, as the server version moves forward, the client version should move forward as well. This allows Phoenix to evolve its client/server protocol while still providing clients sufficient time to upgrade their clients.</p> |
| <p>As of the 4.3 release, a mix of clients on different minor release versions is supported as well (note that prior releases required all clients to be upgraded at the same time). Another improvement as of the 4.3 release is that an upgrade may be done directly from one minor version to another higher minor version (prior releases required an upgrade to each minor version in between).</p> |
| </div> |
| <div class="section"> |
| <h2 id="Major_Release">Major Release</h2> |
| <p>Upgrading to a new major release may require downtime as well as potentially the running of a migration script. Additionally, all clients and servers may need to be upgraded at the same time. This will be determined on a release by release basis.</p> |
| </div> |
| <div class="section"> |
| <h2 id="Release_Notes">Release Notes</h2> |
| <p>Specific details on issues and their fixes that may impact you may be found <a href="release_notes.html">here</a>.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </div><!-- /container --> |
| |
| <!-- Footer |
| ================================================== --> |
| <footer class="well"> |
| <div class="container"> |
| <div class="row"> |
| <div class="span2 bottom-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header">About</li> |
| <li > |
| <a href="index.html" title="Overview">Overview</a> |
| </li> |
| <li > |
| <a href="who_is_using.html" title="Who is Using">Who is Using</a> |
| </li> |
| <li > |
| <a href="recent.html" title="Recent Improvements">Recent Improvements</a> |
| </li> |
| <li > |
| <a href="roadmap.html" title="Roadmap">Roadmap</a> |
| </li> |
| <li > |
| <a href="news.html" title="News">News</a> |
| </li> |
| <li > |
| <a href="performance.html" title="Performance">Performance</a> |
| </li> |
| <li > |
| <a href="team.html" title="Team">Team</a> |
| </li> |
| <li > |
| <a href="tech_talks.html" title="Tech Talks">Tech Talks</a> |
| </li> |
| <li > |
| <a href="resources.html" title="Presentations">Presentations</a> |
| </li> |
| <li > |
| <a href="mailing_list.html" title="Mailing Lists">Mailing Lists</a> |
| </li> |
| <li > |
| <a href="source.html" title="Source Repository">Source Repository</a> |
| </li> |
| <li > |
| <a href="issues.html" title="Issue Tracking">Issue Tracking</a> |
| </li> |
| <li > |
| <a href="download.html" title="Download">Download</a> |
| </li> |
| <li > |
| <a href="installation.html" title="Installation">Installation</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="contributing.html" title="How to Contribute">How to Contribute</a> |
| </li> |
| <li > |
| <a href="develop.html" title="How to Develop">How to Develop</a> |
| </li> |
| <li > |
| <a href="building_website.html" title="How to Update Website">How to Update Website</a> |
| </li> |
| <li > |
| <a href="release.html" title="How to Release">How to Release</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="http://www.apache.org/licenses/" title="License" class="externalLink">License</a> |
| </li> |
| </ul> |
| </div> |
| <div class="span2 bottom-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header">Using</li> |
| <li > |
| <a href="faq.html" title="F.A.Q.">F.A.Q.</a> |
| </li> |
| <li > |
| <a href="Phoenix-in-15-minutes-or-less.html" title="Quick Start">Quick Start</a> |
| </li> |
| <li > |
| <a href="building.html" title="Building">Building</a> |
| </li> |
| <li > |
| <a href="tuning_guide.html" title="Tuning">Tuning</a> |
| </li> |
| <li > |
| <a href="explainplan.html" title="Explain Plan">Explain Plan</a> |
| </li> |
| <li > |
| <a href="tuning.html" title="Configuration">Configuration</a> |
| </li> |
| <li class="active"> |
| <a href="#" title="Backward Compatibility">Backward Compatibility</a> |
| </li> |
| <li > |
| <a href="release_notes.html" title="Release Notes">Release Notes</a> |
| </li> |
| <li > |
| <a href="pherf.html" title="Performance Testing">Performance Testing</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="phoenix_spark.html" title="Apache Spark Integration">Apache Spark Integration</a> |
| </li> |
| <li > |
| <a href="hive_storage_handler.html" title="Phoenix Storage Handler for Apache Hive">Phoenix Storage Handler for Apache Hive</a> |
| </li> |
| <li > |
| <a href="pig_integration.html" title="Apache Pig Integration">Apache Pig Integration</a> |
| </li> |
| <li > |
| <a href="phoenix_mr.html" title="Map Reduce Integration">Map Reduce Integration</a> |
| </li> |
| <li > |
| <a href="flume.html" title="Apache Flume Plugin">Apache Flume Plugin</a> |
| </li> |
| <li > |
| <a href="kafka.html" title="Apache Kafka Plugin">Apache Kafka Plugin</a> |
| </li> |
| <li > |
| <a href="python.html" title="Python Driver">Python Driver</a> |
| </li> |
| </ul> |
| </div> |
| <div class="span2 bottom-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header">Features</li> |
| <li > |
| <a href="transactions.html" title="Transactions">Transactions</a> |
| </li> |
| <li > |
| <a href="udf.html" title="User-defined Functions">User-defined Functions</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="secondary_indexing.html" title="Secondary Indexes">Secondary Indexes</a> |
| </li> |
| <li > |
| <a href="columnencoding.html" title="Storage Formats">Storage Formats</a> |
| </li> |
| <li > |
| <a href="atomic_upsert.html" title="Atomic Upsert">Atomic Upsert</a> |
| </li> |
| <li > |
| <a href="namspace_mapping.html" title="Namespace Mapping">Namespace Mapping</a> |
| </li> |
| <li > |
| <a href="update_statistics.html" title="Statistics Collection">Statistics Collection</a> |
| </li> |
| <li > |
| <a href="rowtimestamp.html" title="Row Timestamp Column">Row Timestamp Column</a> |
| </li> |
| <li > |
| <a href="paged.html" title="Paged Queries">Paged Queries</a> |
| </li> |
| <li > |
| <a href="salted.html" title="Salted Tables">Salted Tables</a> |
| </li> |
| <li > |
| <a href="skip_scan.html" title="Skip Scan">Skip Scan</a> |
| </li> |
| <li > |
| <a href="tablesample.html" title="Table Sampling">Table Sampling</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="views.html" title="Views">Views</a> |
| </li> |
| <li > |
| <a href="multi-tenancy.html" title="Multi tenancy">Multi tenancy</a> |
| </li> |
| <li > |
| <a href="dynamic_columns.html" title="Dynamic Columns">Dynamic Columns</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="bulk_dataload.html" title="Bulk Loading">Bulk Loading</a> |
| </li> |
| <li > |
| <a href="server.html" title="Query Server">Query Server</a> |
| </li> |
| <li > |
| <a href="metrics.html" title="Metrics">Metrics</a> |
| </li> |
| <li > |
| <a href="tracing.html" title="Tracing">Tracing</a> |
| </li> |
| <li > |
| <a href="cursors.html" title="Cursor">Cursor</a> |
| </li> |
| </ul> |
| </div> |
| <div class="span3 bottom-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header">Reference</li> |
| <li > |
| <a href="language/index.html" title="Grammar">Grammar</a> |
| </li> |
| <li > |
| <a href="language/functions.html" title="Functions">Functions</a> |
| </li> |
| <li > |
| <a href="language/datatypes.html" title="Datatypes">Datatypes</a> |
| </li> |
| <li > |
| <a href="array_type.html" title="ARRAY type">ARRAY type</a> |
| </li> |
| <li > |
| <a href="http:divider" title=""></a> |
| </li> |
| <li > |
| <a href="sequences.html" title="Sequences">Sequences</a> |
| </li> |
| <li > |
| <a href="joins.html" title="Joins">Joins</a> |
| </li> |
| <li > |
| <a href="subqueries.html" title="Subqueries">Subqueries</a> |
| </li> |
| <li > |
| <a href="explainplan.html" title="Explain Plan">Explain Plan</a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| <div class="container subfooter"> |
| <div class="row"> |
| <div class="span12"> |
| <p class="pull-right"><a href="#">Back to top</a></p> |
| <p class="copyright">Copyright ©2022 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p> |
| </div> |
| </div> |
| </div> |
| |
| <!-- Le javascript |
| ================================================== --> |
| <!-- Placed at the end of the document so the pages load faster --> |
| <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> |
| |
| <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> |
| <script src="./js/lightbox.js"></script> |
| <script src="./js/jquery.smooth-scroll.min.js"></script> |
| <!-- back button support for smooth scroll --> |
| <script src="./js/jquery.ba-bbq.min.js"></script> |
| <script src="//yandex.st/highlightjs/7.5/highlight.min.js"></script> |
| |
| <script src="./js/reflow-skin.js"></script> |
| |
| </body> |
| </html> |