Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 82574200CF7 for ; Tue, 5 Sep 2017 03:56:12 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7F1031637DE; Tue, 5 Sep 2017 01:56:12 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9B6051637D1 for ; Tue, 5 Sep 2017 03:56:11 +0200 (CEST) Received: (qmail 61063 invoked by uid 500); 5 Sep 2017 01:56:10 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 61051 invoked by uid 99); 5 Sep 2017 01:56:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Sep 2017 01:56:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id D652BD420B for ; Tue, 5 Sep 2017 01:56:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.38 X-Spam-Level: *** X-Spam-Status: No, score=3.38 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_REPLY=1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id f7bSi-IaSxqE for ; Tue, 5 Sep 2017 01:56:03 +0000 (UTC) Received: from mail-yw0-f171.google.com (mail-yw0-f171.google.com [209.85.161.171]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 43AA95FD0C for ; Tue, 5 Sep 2017 01:56:03 +0000 (UTC) Received: by mail-yw0-f171.google.com with SMTP id c191so3150199ywb.0 for ; Mon, 04 Sep 2017 18:56:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=NdzIUd/1COxVj+MM+p8neq2CdQHA6xGhyxoq6yUJwas=; b=AZNoJEQatt2YyL3Uz9HHeKp+qjPP6ENHR6bKQpmCcSfkuAeQqMNTPDhOqRhra+g2va apcdimOAZGORZn9ufhNboDKpXLoebSxcWhoYoNVBIecM6qzrUQyPxzcZrBFw+yfG3b/h UG6Yc99azW2q4JegR/bggDEeOO0zIjKZpJFnI+HWHEAPEWem8hB5U1dxoF28Z1EhJ/WU WZ5BMF8cpDlE6wbY8jjWtis5poNkN4BfG202i0zJwrIAc4trTUQIGg8sTUI/ASQVBwtu vYMBeK9RN+wcwMb6tJwRacpYl36jVYJgQ3bGqHs8+icKNHCXJvTZB/rnYGSDlOIONShO prPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=NdzIUd/1COxVj+MM+p8neq2CdQHA6xGhyxoq6yUJwas=; b=lAdMCe97DomZAl1FH7ZzsgHfXotCGO6mcesRoFaH++YHNaMFCLuT/Zp1vRYV/i2BB0 d7mF/FomEH5hjXjLEoXiQpEqPiCPzEhHmUYB/BgWBBfUAam6SEDQcn8V403sBf44OTT9 xHn9xNJnHYKooCW99+wHq8yLsbZH0SbgZIQ4LVn+49GBP6drKqIfW8TLzmvgnZ4zaoZr 26MqhSAHbKj7gPEpQYGEPCs/TsFvpVYjAqwTAZ47u4xQyqfOyJsVUwGj3vswidVh9hiz phd7p2gWs7jqSMsXT718K4j5Dvzu4Tnc2D/fcXBLb5zToY/3/OBlzHfM6kqtYSOMPyw8 QxAg== X-Gm-Message-State: AHPjjUi72I0Py6VgexxvWkQbUrszUFjQ3tWbahKuYx2W2fvq5kh4Pxpj ftBpWMO/4AkMngXfOSjswyBvrqhV9Q== X-Google-Smtp-Source: ADKCNb60wpb0mj386gT+mgrrQEr3vFL93s0GitrhIaJxKkU8Pdqc/OK/fztVWBVn+tYIegBXwxyxfTT1m7kiF1bve+A= X-Received: by 10.129.182.94 with SMTP id h30mr1875288ywk.278.1504576562584; Mon, 04 Sep 2017 18:56:02 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Francis Christopher Liu Date: Tue, 05 Sep 2017 01:55:52 +0000 Message-ID: Subject: Re: [DISCUSS] hbase-2.0.0 compatibility expectations To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary="f403045d25568ce66405586787c2" archived-at: Tue, 05 Sep 2017 01:56:12 -0000 --f403045d25568ce66405586787c2 Content-Type: text/plain; charset="UTF-8" Just some high-level thoughts on rolling upgradeability (I'm repeating a few things already said). 1. No service interruption for 1.x clients while a cluster is being ugpraded to 2.x. - This includes support for apis commonly used in a running system: delegation tokens, getting region locations, etc. 2. The somewhat reverse of #1 is also necessary for Master DMLs to meta. 3. No interruption for replication between 1.x and 2.x cluster 4. Restart master first before any other service sounds reasonable to me. Will we support RU for zkless mode? 5. 2.x should be either able to understand formats written by 1.x or online migration is done as a preparation step. 6. Data generated by 2.x daemons should be readable in 1.x (ie HFile, zookeeper, etc). Some deploys may have large amounts of data could be cumbersome/impractical (ie cost, time, etc) to copy the data. Thanks, Francis On Fri, Sep 1, 2017 at 10:01 PM Chia-Ping Tsai wrote: > The most of issues use hadoop flag, so the filter looks like this. > project = HBASE AND fixVersion in (2.0.0, 2.0.0-alpha-1, 2.0.0-alpha-2, > 2.0.0-alpha-3, > 3.0) AND (labels in (incompatibleChange, incompatible, incompatibility) OR > "Hadoop Flags" in ("Incompatible change")) > > On 2017-08-04 05:46, Ted Yu wrote: > > I expanded the condition in the filter like this: > > > > project = HBASE AND fixVersion in (2.0.0, 2.0.0-alpha-1, 2.0.0-alpha-2, > > 3.0) AND labels in (incompatibleChange, incompatible, incompatibility) > > > > Still there're only two showing up. > > > > On Thu, Aug 3, 2017 at 9:07 AM, Zach York > > wrote: > > > > > I tried to filter based on imcompatible labels and there were only two > > > JIRAs returned [1]. I have a hard time believing that there were only > two > > > breaking changes from 1.x to 2.x. > > > > > > [1] > > > https://issues.apache.org/jira/browse/HBASE-17957?jql= > > > project%20%3D%20HBASE%20AND%20fixVersion%20%3D%202.0.0% > > > 20AND%20labels%20in%20(incompatibleChange%2C%20incompatible%2C% > > > 20incompatibility) > > > > > > On Thu, Aug 3, 2017 at 8:54 AM, Zach York < > zyork.contribution@gmail.com> > > > wrote: > > > > > > > This kinda helps, but these seem more like expectations. I was going > more > > > > for things like HFile format changed, meta table structure changed, > > > > coprocessor implementations changed (these are just examples, I don't > > > know > > > > if any of these actually changed). > > > > > > > > More technical differences between branch-1 and branch-2 which then > can > > > > help us get the right expectations for compatibility. > > > > > > > > On Wed, Aug 2, 2017 at 6:34 PM, Stack wrote: > > > > > > > >> On Wed, Aug 2, 2017 at 5:25 PM, Zach York < > zyork.contribution@gmail.com > > > > > > > >> wrote: > > > >> > > > >> > Do we know what the major pain points for migration are? Can we > > > discuss > > > >> > that/get a list going? > > > >> > > > > >> > > > > >> Here's a few in outline: > > > >> > > > >> + There is issue of formats, of hbase-2.x being able to read > hbase-1.x > > > >> data > > > >> whether from HDFS or ZooKeeper or off the wire. > > > >> + An hbase-1.x client should be able to Get/Put and Scan an > hbase-2.x > > > >> cluster; no holes in the API or unintelligible serializations. > > > >> + There is then the little dance that has us rolling restart from an > > > >> hbase-1.x cluster to hbase-2.x; i.e. upgrade master first and then > it > > > will > > > >> assign regions to the new hbase-2.x regionservers as they come on > line. > > > >> TBD. > > > >> > > > >> Is this what you mean sir? > > > >> > > > >> S > > > >> > > > >> > > > >> > I think without that knowledge it is hard (for me at least :) ) to > > > >> > determine where we should set our sights in terms of migration. > > > >> > > > > >> > Thanks, > > > >> > Zach > > > >> > > > > >> > On Wed, Aug 2, 2017 at 4:38 PM, Stack wrote: > > > >> > > > > >> > > What are our expectations regards compatibility between hbase1 > and > > > >> > hbase2? > > > >> > > > > > >> > > Lets have a chat about it. Here are some goal posts. > > > >> > > > > > >> > > + You have to upgrade to hbase-1.x before you can migrate to > > > hbase-2. > > > >> No > > > >> > > migration from < hbase-1 (Is this too onerous? Should we support > > > 0.98 > > > >> => > > > >> > > 2.0?). > > > >> > > + You do NOT have to upgrade to the latest release of hbase1 to > > > >> migrate > > > >> > to > > > >> > > hbase2; being up on hbase-1.0.0+ will be sufficient. > > > >> > > + You'll have to update your hbase1 coprocessors to deploy them > on > > > >> > hbase2. > > > >> > > A bunch of CP API has/will change by the time hbase2 comes out; > e.g. > > > >> > > watching for region split on RegionServer no longer makes sense > > > given > > > >> > > Master runs all splits now. > > > >> > > + An hbase1 client can run against an hbase2 cluster but it will > > > only > > > >> be > > > >> > > able to do DML (Get/Put/Scan, etc.). We do not allow being able > to > > > do > > > >> > admin > > > >> > > ops using an hbase1 Admin client against an hbase2 cluster. We > have > > > >> some > > > >> > > egregious API violations in branch-1; e.g. we have protobuf in > our > > > API > > > >> > (See > > > >> > > HBASE-15607). The notion is that we can't afford a deprecation > cycle > > > >> > > purging this stuff from our Admin API. > > > >> > > > > > >> > > What you all think? > > > >> > > > > > >> > > St.Ack > > > >> > > > > > >> > > > > >> > > > > > > > > > > > > > > --f403045d25568ce66405586787c2--