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 D9946200C31 for ; Wed, 22 Feb 2017 03:45:49 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id D8393160B74; Wed, 22 Feb 2017 02:45:49 +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 53EAF160B68 for ; Wed, 22 Feb 2017 03:45:49 +0100 (CET) Received: (qmail 83291 invoked by uid 500); 22 Feb 2017 02:45:48 -0000 Mailing-List: contact dev-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list dev@zookeeper.apache.org Received: (qmail 83280 invoked by uid 99); 22 Feb 2017 02:45:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Feb 2017 02:45:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1804CDFEF5; Wed, 22 Feb 2017 02:45:48 +0000 (UTC) From: flier To: dev@zookeeper.apache.org Reply-To: dev@zookeeper.apache.org References: In-Reply-To: Subject: [GitHub] zookeeper pull request #180: ZOOKEEPER-2700 add JMX `takeSnapshot` method an... Content-Type: text/plain Message-Id: <20170222024548.1804CDFEF5@git1-us-west.apache.org> Date: Wed, 22 Feb 2017 02:45:48 +0000 (UTC) archived-at: Wed, 22 Feb 2017 02:45:50 -0000 Github user flier commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/180#discussion_r102372975 --- Diff: src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java --- @@ -303,15 +305,38 @@ public void loadData() throws IOException, InterruptedException { public void takeSnapshot(){ --- End diff -- @hanm Thanks for your advice :) We are using a similar structure as `2.2 Alternative 2 – Learners` in the paper, it is good enough for most of online scenes. I don't think it is worthy to introduce another layer because we give up the write operation to all observers, just use it as a read only view. For the remote replication, I doubt it also blocked by packet loss rate like Observer. On the other hand, we have an internal project named `zkpipe`, it read Zookeeper snapshot/binlog and send it to a Kafka topic, our client could choose to rebuild the transaction or subscribe the changes. I believe it will better than hack Zookeeper itself. If you have interested, I could push it to github later. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---