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 58D31200BEF for ; Wed, 4 Jan 2017 10:28:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 579E8160B47; Wed, 4 Jan 2017 09:28:00 +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 9DDB6160B39 for ; Wed, 4 Jan 2017 10:27:59 +0100 (CET) Received: (qmail 60105 invoked by uid 500); 4 Jan 2017 09:27:58 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 60081 invoked by uid 99); 4 Jan 2017 09:27:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Jan 2017 09:27:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 83F572C1F5A for ; Wed, 4 Jan 2017 09:27:58 +0000 (UTC) Date: Wed, 4 Jan 2017 09:27:58 +0000 (UTC) From: "Duo Zhang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (HBASE-17407) Correct update of maxFlushedSeqId in HRegion MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 04 Jan 2017 09:28:00 -0000 [ https://issues.apache.org/jira/browse/HBASE-17407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15797741#comment-15797741 ] Duo Zhang edited comment on HBASE-17407 at 1/4/17 9:27 AM: ----------------------------------------------------------- We are not end users, we are developers, so we can see the internal stage of a transaction. Think of a typical transaction that, transfer 1000 USD from A to B. No doubt you will minus 1000 from A, then plus 1000 to B, right? You will not minus 10000 from A, plus 1000 to B and then plus 9000 to A right? What I mean is that, you can have intermediate state, but this does not mean it is a good idea to have a strange intermediate state. It is easy to make developers confusing and introduce bugs in the future. The assumption of the currect flush is that we will flush all data in memstore for a store, if the assumption is gone then the flow should also be changed. Putting an obviously incorrect value in lowestUnflushedSequenceIds is not acceptable. And what do you think of the proposal I mentioned above? I do not think it changes the way you update WAL. Buy your finalizeFlush method does change the way we update WAL as you even add a new method to WAL... Thanks. was (Author: apache9): We are not end users, we are developers, so we can see the internal stage of a transaction. Think of a typical transaction that, transfer 1000 USD from A to B. No doubt you will minus 1000 from A, then plus 1000 to B, right? You will not minus 10000 from A, plus 1000 to B and then plus 9000 to A right? What I mean is that, you can have intermediate state, but this does not mean it is a good idea to have a strange intermediate state. The value in It is easy to make developers confusing and introduce bugs in the future. The assumption of the currect flush is that we will flush all data in memstore for a store, if the assumption is gone then the flow should also be changed. Putting an obviously incorrect value in lowestUnflushedSequenceIds is not acceptable. And what do you think of the proposal I mentioned above? I do not think it changes the way you update WAL. Buy your finalizeFlush method does change the way we update WAL as you even add a new method to WAL... Thanks. > Correct update of maxFlushedSeqId in HRegion > -------------------------------------------- > > Key: HBASE-17407 > URL: https://issues.apache.org/jira/browse/HBASE-17407 > Project: HBase > Issue Type: Bug > Reporter: Eshcar Hillel > > The attribute maxFlushedSeqId in HRegion is used to track the max sequence id in the store files and is reported to HMaster. When flushing only part of the memstore content this value might be incorrect and may cause data loss. -- This message was sent by Atlassian JIRA (v6.3.4#6332)