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 06537200B17 for ; Tue, 21 Jun 2016 22:10:00 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 04D7B160A07; Tue, 21 Jun 2016 20:10: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 41CD1160A60 for ; Tue, 21 Jun 2016 22:09:59 +0200 (CEST) Received: (qmail 56311 invoked by uid 500); 21 Jun 2016 20:09: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 55896 invoked by uid 99); 21 Jun 2016 20:09:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jun 2016 20:09:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 0AC022C1F6C for ; Tue, 21 Jun 2016 20:09:58 +0000 (UTC) Date: Tue, 21 Jun 2016 20:09:58 +0000 (UTC) From: "Elliott Clark (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-16036) Fix ReplicationTableBase initialization to make it non-blocking MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 21 Jun 2016 20:10:00 -0000 [ https://issues.apache.org/jira/browse/HBASE-16036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elliott Clark updated HBASE-16036: ---------------------------------- Resolution: Fixed Hadoop Flags: Reviewed Fix Version/s: 2.0.0 Status: Resolved (was: Patch Available) Pushed to master. > Fix ReplicationTableBase initialization to make it non-blocking > --------------------------------------------------------------- > > Key: HBASE-16036 > URL: https://issues.apache.org/jira/browse/HBASE-16036 > Project: HBase > Issue Type: Sub-task > Components: Replication > Reporter: Joseph > Assignee: Joseph > Fix For: 2.0.0 > > Attachments: HBASE-16036.patch > > > Currently there is a bug inside of TableBasedReplicationQueuesImpl construction that prevents ReplicationServices from starting before Master is initialized. So currently each of the RS, including HMaster, with Replication enabled will attempt to create the ReplicationTable on initialization. > Currently HMaster's initialization: serviceThreads.start() -> new TableBasedReplicationQueuesImpl() -> Replication Table Creation -> HMaster sets initialized flags. > But this fails when we try to create the Replication Table as the HMaster.checkInitialized() flag fails. This ends up blocking HMaster initialization and results in a deadlock. > So in this patch, I will create the Replication Table in the background of TableBasedReplicationQueuesImpl and only block when we actually call methods that access it. > This also requires a small refactoring of ReplicationSourceManager.init() so that we run the abandoned queue adoption in the background > Review board at: https://reviews.apache.org/r/48763/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)