[
https://issues.apache.org/jira/browse/HBASE-17931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phil Yang updated HBASE-17931:
------------------------------
Release Note:
We usually keep compatibility between old client and new server so we can do
rolling upgrade, HBase cluster first, then HBase client. But we don't guarantee
new client can access old server.
In an HBase cluster, we have system tables and region servers will access these
tables so for servers they are also an HBase client. So if the system tables
are in region servers with lower version we may get trouble because region
servers with higher version may can not access them.
After this patch, we will move all system regions to region servers with
highest version. So when we do a rolling upgrade across two major or minor
versions, we should upgrade master first and then upgrade region servers. The
new master will handle system tables correctly.
> Assign system tables to servers with highest version
> ----------------------------------------------------
>
> Key: HBASE-17931
> URL: https://issues.apache.org/jira/browse/HBASE-17931
> Project: HBase
> Issue Type: Bug
> Components: Region Assignment, scan
> Reporter: Phil Yang
> Assignee: Phil Yang
> Priority: Blocker
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17931.branch-1.v01.patch,
> HBASE-17931.branch-1.v02.patch, HBASE-17931.branch-1.v03.patch,
> HBASE-17931.branch-1.v04.patch, HBASE-17931.branch-1.v04.patch,
> HBASE-17931.branch-1.v05.patch, HBASE-17931.branch-1.v05.patch,
> HBASE-17931.branch-1.v06.patch, HBASE-17931.v01.patch, HBASE-17931.v02.patch,
> HBASE-17931.v03.patch, HBASE-17931.v04.patch, HBASE-17931.v04.patch,
> HBASE-17931.v05.patch
>
>
> In branch-1 and master we have some improvement and new features on scanning
> which is not compatible.
> A client of old version to a server of new version is compatible (must be a
> bug if not, maybe need some test?).
> A client of new version may not be able to read from a server of old version
> correctly (because of scan limit, moreResults flag, etc), which is ok for
> major/minor upgrade and we can tell users to upgrade server before upgrading
> client. But RS also use scan to read meta. If meta table is in RS of old
> version, all RSs of new version may have trouble while scanning meta table.
> So we should make sure meta table always in servers of new version. Force
> meta table in Master and upgrade Master first, or assign meta table in region
> servers with latest version?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)