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 117C0200C17 for ; Fri, 27 Jan 2017 02:47:30 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 0FFC5160B50; Fri, 27 Jan 2017 01:47:30 +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 5BF1B160B4C for ; Fri, 27 Jan 2017 02:47:29 +0100 (CET) Received: (qmail 60954 invoked by uid 500); 27 Jan 2017 01:47:28 -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 60943 invoked by uid 99); 27 Jan 2017 01:47:28 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Jan 2017 01:47:28 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 0B93CC0B7C for ; Fri, 27 Jan 2017 01:47:28 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id sExUBKArDPdw for ; Fri, 27 Jan 2017 01:47:26 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 24BEB5F1F4 for ; Fri, 27 Jan 2017 01:47:26 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 2EA01E040C for ; Fri, 27 Jan 2017 01:47:25 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 845692528D for ; Fri, 27 Jan 2017 01:47:24 +0000 (UTC) Date: Fri, 27 Jan 2017 01:47:24 +0000 (UTC) From: "Enis Soztutar (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-17543) Create additional ReplicationEndpoint WALEntryFilters by configuration MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 27 Jan 2017 01:47:30 -0000 [ https://issues.apache.org/jira/browse/HBASE-17543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15840824#comment-15840824 ] Enis Soztutar commented on HBASE-17543: --------------------------------------- Sounds good. I think we should do a sanity check in the master when addPeer, or updatePeerConfig is called to check whether the class is loadable (something like HMaster.sanityCheckTableDescriptor()). Then we should not silently ignore the wrong class name, but instead throw an exception. > Create additional ReplicationEndpoint WALEntryFilters by configuration > ---------------------------------------------------------------------- > > Key: HBASE-17543 > URL: https://issues.apache.org/jira/browse/HBASE-17543 > Project: HBase > Issue Type: Improvement > Components: Replication > Reporter: Geoffrey Jacoby > Assignee: Geoffrey Jacoby > Attachments: HBASE-17543.patch > > > The existing BaseReplicationEndpoint creates a ChainWALEntryFilter containing a NamespaceTableCfWALEntryFilter and a ScopeWALEntryFilter. Adding a custom WALEntryFilter type to this chain requires creating an entirely new ReplicationEndpoint subclass and creating a new peer on the running cluster, which can be operationally complex to transition to without data loss in cases such as master/master. > For WALEntryFilters without constructor parameters, it would be straightforward to have a Configuration option to list additional WALEntryFilter classes the operator wants to include in the filter chain in the default endpoint, and then have the endpoint instantiate the filters via reflection. Then filter logic could be added (or removed) with only a hbase-site.xml change and a rolling restart. -- This message was sent by Atlassian JIRA (v6.3.4#6332)