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 062F1200BD8 for ; Wed, 7 Dec 2016 11:06:39 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 04D3D160B0A; Wed, 7 Dec 2016 10:06:39 +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 F2146160AFD for ; Wed, 7 Dec 2016 11:06:37 +0100 (CET) Received: (qmail 87826 invoked by uid 500); 7 Dec 2016 10:06:37 -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 87810 invoked by uid 99); 7 Dec 2016 10:06:36 -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; Wed, 07 Dec 2016 10:06:36 +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 45A00D4062 for ; Wed, 7 Dec 2016 10:06:36 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.149 X-Spam-Level: ** X-Spam-Status: No, score=2.149 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, WEIRD_PORT=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-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id JtW1BqrFNdg8 for ; Wed, 7 Dec 2016 10:06:34 +0000 (UTC) Received: from mail-vk0-f44.google.com (mail-vk0-f44.google.com [209.85.213.44]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 6B35B5F2EF for ; Wed, 7 Dec 2016 10:06:33 +0000 (UTC) Received: by mail-vk0-f44.google.com with SMTP id 137so209901405vkl.0 for ; Wed, 07 Dec 2016 02:06:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=/dsKWwEaA53EOlQiF8dJtUWOlbmRcScbG7S6ahzx1Ew=; b=cxmcdcaqvRUD1yT/aLvlbDVjla3ySrRhcRvR36uhz3iZrlXO1BXZXLJXcIFIuXXnei JPA/1eMPdV4gdRSyFJTTiW8+sKt53P+xAbt+26myMh1AidyO7qgPqPpfCSuOBjYcWOwW XBYHpxhbZoXbj6lHZLIN3+5BBfcGFR9/BC39210bvJ8WrUTuIDa60kw0qK3yc3RwlVOb 0kebRNTd4N52rN8/1f8R/6+3JLRuvr17189u0uH4bUiUcG//ogSW1UGNO8jE46xEM6GO e9wPYSXfG5HmOp8Piii5HdRPdLk5iyczsf3tXwesBaKzv//2H1b7X+cHsoYsgii+iq5m MidQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=/dsKWwEaA53EOlQiF8dJtUWOlbmRcScbG7S6ahzx1Ew=; b=ShZj+0rR8nYQCnpDxUZ/0lR12mzd35s0bJC1wrqZYhd2J/pJL4atZOEvXo7LEsAiZI IlPKaw5HJqy2TvkT2Lik5ziYEYJpE13YN4+yXvKrUSVrNf0EQzvQzt+6PC+zRFz6V9aL MDvCJzcRIc1uieGP3Q3GDFpUzL68VJvTXlDqwwINx4tKTeA78D+LkUw7tO90ZXHa7nY4 I4BeMBJQWDoA+9Qfx+lnn0AyxUCNbfdO9AyhImtB7JvSL46VTjJ5DzqejadnTtFfIyb6 tgfO4htHgiX8q3JNm/0FE2js1RjqV0m/jNlTPupiZLHeg6Xs8Ns5soE44e3b4mbtGxMF +RrQ== X-Gm-Message-State: AKaTC02HmJb93mhINvLI6JFyYBxXS8bdA7++ewfryVtztq3s1mjF6qkys9+TF46xy7owqr3YDKkCOiL6BxdBIg== X-Received: by 10.31.208.2 with SMTP id h2mr25131643vkg.24.1481105192299; Wed, 07 Dec 2016 02:06:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.176.86.142 with HTTP; Wed, 7 Dec 2016 02:06:31 -0800 (PST) In-Reply-To: References: From: =?UTF-8?B?5byg6ZOO?= Date: Wed, 7 Dec 2016 18:06:31 +0800 Message-ID: Subject: Re: meta region written by 2.0 cannot be opened by 1.x To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary=001a114e16b4dcb66f05430eac77 archived-at: Wed, 07 Dec 2016 10:06:39 -0000 --001a114e16b4dcb66f05430eac77 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I believe there are other features that require upgrading to a specific version in each 1.x release before rolling upgrading to 2.0? I think this is a typical trick to add incompatible changes... 2016-12-07 18:02 GMT+08:00 ramkrishna vasudevan < ramkrishna.s.vasudevan@gmail.com>: > If its going to be a pain then we need to support writing the older class > name in the FFT (trailer) and then use our internal mapping. > > On Wed, Dec 7, 2016 at 3:22 PM, Anoop John wrote: > > > I read the comments in the issue 16189.. This concern was raised > > there already.. This is what I replied there. > > "Ya we may need to make such a need. User on 1.x has to first upgrade > > (rolling upgrade supported) to latest version in 1.x and then to 2.0. > > This was discussed some other place also. I believe in the mail thread > > where we discussed abt rolling upgrade support in 2.0" > > > > Not able to find the original mail thread which discussed abt rolling > > upgrade support in 2.0 Pls correct if took some thing wrong way.. > > Ya I agree that this way of indirection might be inconvenience for > > users. > > > > > > -Anoop- > > > > On Wed, Dec 7, 2016 at 3:13 PM, Ted Yu wrote: > > > bq. write old name only and within code we will have to map it with n= ew > > > name. > > > > > > This is a viable approach. > > > Even if we document upgrading to 1.2.3+, some users may not perform > this > > > step before upgrading to 2.0 > > > > > > On Tue, Dec 6, 2016 at 10:04 PM, Anoop John > > wrote: > > > > > >> Ya that bug raised by Enis was very valid.. So this means when > > >> rolling upgrade happens, if some of the other RSs with version <1.2.= 3 > > >> , which is not having this fix, this issue might come up! > > >> How to address then? Do we need to enforce a 1.2.3+ upgrade 1st an= d > > >> then only 2.0 rolling upgrade? > > >> > > >> Or else we will need to fix in 2.0.. We write the new Comparator > > >> class name in FFT (trunk code) To fix, we might have to write old > > >> name only and within code we will have to map it with new name. It > > >> will be ugly! It can be fixed only in 3.0 may be.. But that can mak= e > > >> the rolling upgrade story easier for users.. Just saying the > > >> possibilities.. > > >> > > >> Thanks Ted to bring it up again. > > >> > > >> -Anoop- > > >> > > >> On Wed, Dec 7, 2016 at 10:04 AM, ramkrishna vasudevan > > >> wrote: > > >> > I think when Enis reported the issue ( > > >> > https://issues.apache.org/jira/browse/HBASE-16189), in rolling > > upgrade > > >> > regions could move around. So a region created in 2.0 moved to a > > server > > >> > with 1.x. > > >> > > > >> > Regards > > >> > Ram > > >> > > > >> > > > >> > On Wed, Dec 7, 2016 at 1:27 AM, Stack wrote: > > >> > > > >> >> On Tue, Dec 6, 2016 at 10:19 AM, Ted Yu > wrote: > > >> >> > > >> >> > Looking at http://hbase.apache.org/book.html#executing.the.0.96= . > > >> upgrade > > >> >> , > > >> >> > there is step of running "bin/hbase upgrade -check" > > >> >> > > > >> >> > How about adding a sample hfile which contains > > >> >> > CellComparator$MetaCellComparator > > >> >> > so that the upgrade check can read and verify ? > > >> >> > > > >> >> > > > >> >> > > >> >> We don't support downgrade. Never have. > > >> >> St.Ack > > >> >> > > >> >> > > >> >> > > >> >> > On Tue, Dec 6, 2016 at 8:50 AM, Ted Yu > > wrote: > > >> >> > > > >> >> > > The build I used yesterday didn't include HBASE-16189 > > >> >> > > > > >> >> > > > > >> >> > > Once it is included, the cluster can be downgraded fine. > > >> >> > > > > >> >> > > I wonder how users would know that their existing deployment > has > > >> >> > > HBASE-16189 > > > >> before > > >> >> > > upgrading to 2.0 release. > > >> >> > > > > >> >> > > On Tue, Dec 6, 2016 at 2:29 AM, ramkrishna vasudevan < > > >> >> > > ramkrishna.s.vasudevan@gmail.com> wrote: > > >> >> > > > > >> >> > >> @Ted > > >> >> > >> Does your version have this fix > > >> >> > >> https://issues.apache.org/jira/browse/HBASE-16189 > > >> >> > >> > > >> >> > >> Regards > > >> >> > >> Ram > > >> >> > >> > > >> >> > >> On Tue, Dec 6, 2016 at 3:56 PM, Ted Yu > > >> wrote: > > >> >> > >> > > >> >> > >> > Is the assumption that hbase:meta would not split ? > > >> >> > >> > > > >> >> > >> > In other thread, Francis Liu was proposing supporting > > splittable > > >> >> > >> > hbase:meta in 2.0 release. > > >> >> > >> > > > >> >> > >> > Cheers > > >> >> > >> > > > >> >> > >> > > On Dec 6, 2016, at 2:20 AM, =E5=BC=A0=E9=93=8E > > wrote: > > >> >> > >> > > > > >> >> > >> > > Could this be solved by hosting meta only on master? > > >> >> > >> > > > > >> >> > >> > > BTW, MetaCellComparator is introduced in HBASE-10800. > > >> >> > >> > > > > >> >> > >> > > Thanks. > > >> >> > >> > > > > >> >> > >> > > 2016-12-06 17:44 GMT+08:00 Ted Yu : > > >> >> > >> > > > > >> >> > >> > >> Hi, > > >> >> > >> > >> When I restarted a cluster with 1.1 , I found that > > hbase:meta > > >> >> > region > > >> >> > >> > >> (written to by the previously deployed 2.0) couldn't be > > >> opened: > > >> >> > >> > >> > > >> >> > >> > >> Caused by: java.io.IOException: > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.CorruptHFileException: > > >> Problem > > >> >> > >> reading > > >> >> > >> > >> HFile Trailer from file hdfs://yz1.xx.com:8020/apps/ > > >> >> > >> hbase/data/data/ > > >> >> > >> > >> hbase/meta/1588230740/info/ > 599fc8a37311414e876803312009a9 > > 86 > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore. > > openStoreFiles( > > >> >> > >> HStore.java: > > >> >> > >> > >> 579) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore. > > loadStoreFiles( > > >> >> > >> HStore.java: > > >> >> > >> > >> 534) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore.( > > >> >> > HStore.java:275) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HRegion. > > instantiateHSto > > >> >> > >> re(HRegion. > > >> >> > >> > >> java:5150) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HRegion$1.call( > > HRegion. > > >> >> > >> java:912) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HRegion$1.call( > > HRegion. > > >> >> > >> java:909) > > >> >> > >> > >> at java.util.concurrent. > FutureTask.run(FutureTask. > > >> >> java:266) > > >> >> > >> > >> at > > >> >> > >> > >> java.util.concurrent.Executors$RunnableAdapter.call( > > >> >> > >> Executors.java:511) > > >> >> > >> > >> at java.util.concurrent. > FutureTask.run(FutureTask. > > >> >> java:266) > > >> >> > >> > >> ... 3 more > > >> >> > >> > >> Caused by: org.apache.hadoop.hbase.io. > > >> >> hfile.CorruptHFileException: > > >> >> > >> > Problem > > >> >> > >> > >> reading HFile Trailer from file hdfs:// > > >> >> > >> > >> yz1.xx.com:8020/apps/hbase/data/data/hbase/ > > meta/1588230740/ > > >> >> > >> > >> info/599fc8a37311414e876803312009a986 > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io. > hfile.HFile.pickReaderVersion( > > >> >> > >> > HFile.java:483) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.HFile.createReader( > > >> >> > HFile.java:511) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.StoreFile$Reader. > > >> >> > >> > >> (StoreFile.java:1128) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.StoreFileInfo. > > >> >> > >> > >> open(StoreFileInfo.java:267) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.StoreFile.open( > > StoreFil > > >> >> > >> e.java:409) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.StoreFile. > > >> >> > >> > >> createReader(StoreFile.java:517) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore. > > createStoreFileA > > >> >> > >> ndReader( > > >> >> > >> > >> HStore.java:687) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore.access$000( > > >> >> > >> HStore.java:130) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore$1.call( > > >> >> > HStore.java:554) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.regionserver.HStore$1.call( > > >> >> > HStore.java:551) > > >> >> > >> > >> ... 6 more > > >> >> > >> > >> Caused by: java.io.IOException: java.lang. > > >> >> ClassNotFoundException: > > >> >> > >> > >> org.apache.hadoop.hbase.CellComparator$ > MetaCellComparator > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer. > > getCompara > > >> >> > >> torClass( > > >> >> > >> > >> FixedFileTrailer.java:581) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer. > > >> >> > deserializeFromPB( > > >> >> > >> > >> FixedFileTrailer.java:300) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer. > > >> >> > >> > >> deserialize(FixedFileTrailer.java:242) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer. > > >> >> readFromStream( > > >> >> > >> > >> FixedFileTrailer.java:407) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io. > hfile.HFile.pickReaderVersion( > > >> >> > >> > HFile.java:468) > > >> >> > >> > >> ... 15 more > > >> >> > >> > >> Caused by: java.lang.ClassNotFoundException: > > >> >> > >> > >> org.apache.hadoop.hbase.CellComparator$ > MetaCellComparator > > >> >> > >> > >> at java.net.URLClassLoader. > > >> findClass(URLClassLoader.java: > > >> >> > 381) > > >> >> > >> > >> at java.lang.ClassLoader. > > loadClass(ClassLoader.java: > > >> 424) > > >> >> > >> > >> at sun.misc.Launcher$AppClassLoader.loadClass( > > >> >> > Launcher.java: > > >> >> > >> 331) > > >> >> > >> > >> at java.lang.ClassLoader. > > loadClass(ClassLoader.java: > > >> 357) > > >> >> > >> > >> at java.lang.Class.forName0(Native Method) > > >> >> > >> > >> at java.lang.Class.forName(Class.java:264) > > >> >> > >> > >> at > > >> >> > >> > >> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer. > > getCompara > > >> >> > >> torClass( > > >> >> > >> > >> FixedFileTrailer.java:579) > > >> >> > >> > >> > > >> >> > >> > >> When user does rolling upgrade from 1.1 to 2.0, the abo= ve > > may > > >> >> cause > > >> >> > >> > problem > > >> >> > >> > >> if hbase:meta region is updated by server running 2.0 b= ut > > >> later > > >> >> > >> > assigned to > > >> >> > >> > >> a region server which still runs 1.1 (due to crash of t= he > > >> server > > >> >> > >> running > > >> >> > >> > >> 2.0, e.g.) > > >> >> > >> > >> > > >> >> > >> > >> I want to get community feedback on the severity of thi= s > > >> issue. > > >> >> > >> > >> > > >> >> > >> > >> Thanks > > >> >> > >> > >> > > >> >> > >> > > > >> >> > >> > > >> >> > > > > >> >> > > > > >> >> > > > >> >> > > >> > > > --001a114e16b4dcb66f05430eac77--