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 138BA200CA7 for ; Tue, 30 May 2017 18:25:58 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 12678160BC1; Tue, 30 May 2017 16:25:58 +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 61D4A160BC9 for ; Tue, 30 May 2017 18:25:57 +0200 (CEST) Received: (qmail 24372 invoked by uid 500); 30 May 2017 16:25:56 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 24361 invoked by uid 99); 30 May 2017 16:25:56 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 May 2017 16:25:56 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 3E73C81146; Tue, 30 May 2017 16:25:55 +0000 (UTC) Date: Tue, 30 May 2017 16:25:55 +0000 To: "commits@couchdb.apache.org" Subject: [couchdb] 01/01: add compaction logging MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: tonysun83@apache.org Reply-To: "commits@couchdb.apache.org" In-Reply-To: <149616155494.16432.11018061737803748190@gitbox.apache.org> References: <149616155494.16432.11018061737803748190@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: couchdb X-Git-Refname: refs/heads/3417-add-compaction-logging X-Git-Reftype: branch X-Git-Rev: d6d53acc2f9552b7357d328f8bedf8d3ce9849af X-Git-NotificationType: diff X-Git-Multimail-Version: 1.3.dev Auto-Submitted: auto-generated Message-Id: <20170530162555.3E73C81146@gitbox.apache.org> archived-at: Tue, 30 May 2017 16:25:58 -0000 This is an automated email from the ASF dual-hosted git repository. tonysun83 pushed a commit to branch 3417-add-compaction-logging in repository https://gitbox.apache.org/repos/asf/couchdb.git commit d6d53acc2f9552b7357d328f8bedf8d3ce9849af Author: Tony Sun AuthorDate: Wed May 10 21:16:13 2017 -0700 add compaction logging To predict future compaction results, we log pre-compaction and post-compaction file sizes. These log results will be used as data points for regression analysis. COUCHDB-3417 --- src/couch/src/couch_db_updater.erl | 9 ++++++--- src/couch_mrview/src/couch_mrview_compactor.erl | 11 ++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/couch/src/couch_db_updater.erl b/src/couch/src/couch_db_updater.erl index 7872635..bb8e9da 100644 --- a/src/couch/src/couch_db_updater.erl +++ b/src/couch/src/couch_db_updater.erl @@ -218,7 +218,7 @@ handle_cast(start_compact, Db) -> % compact currently running, this is a no-op {noreply, Db} end; -handle_cast({compact_done, CompactFilepath}, #db{filepath=Filepath}=Db) -> +handle_cast({compact_done, CompactFilepath}, #db{filepath=Filepath,fd=Fd}=Db) -> {ok, NewFd} = couch_file:open(CompactFilepath), {ok, NewHeader0} = couch_file:read_header(NewFd), NewHeader = couch_db_header:set(NewHeader0, [ @@ -242,8 +242,11 @@ handle_cast({compact_done, CompactFilepath}, #db{filepath=Filepath}=Db) -> revs_limit = Db#db.revs_limit }), - couch_log:debug("CouchDB swapping files ~s and ~s.", - [Filepath, CompactFilepath]), + {ok, Pre} = couch_file:bytes(Fd), + {ok, Post} = couch_file:bytes(NewFd), + + couch_log:notice("Compaction swap for db: ~s ~p ~p", [Filepath, + Pre, Post]), ok = file:rename(CompactFilepath, Filepath ++ ".compact"), RootDir = config:get("couchdb", "database_dir", "."), couch_file:delete(RootDir, Filepath), diff --git a/src/couch_mrview/src/couch_mrview_compactor.erl b/src/couch_mrview/src/couch_mrview_compactor.erl index fabe289..c1b2fbc 100644 --- a/src/couch_mrview/src/couch_mrview_compactor.erl +++ b/src/couch_mrview/src/couch_mrview_compactor.erl @@ -275,8 +275,12 @@ update_task(VID, #acc{changes=Changes, total_changes=Total}=Acc, ChangesInc) -> swap_compacted(OldState, NewState) -> #mrst{ + fd = Fd + } = OldState, + #mrst{ sig=Sig, - db_name=DbName + db_name=DbName, + fd=NewFd } = NewState, link(NewState#mrst.fd), @@ -285,6 +289,11 @@ swap_compacted(OldState, NewState) -> RootDir = couch_index_util:root_dir(), IndexFName = couch_mrview_util:index_file(DbName, Sig), CompactFName = couch_mrview_util:compaction_file(DbName, Sig), + + {ok, Pre} = couch_file:bytes(Fd), + {ok, Post} = couch_file:bytes(NewFd), + couch_log:notice("Compaction swap for view ~s ~p ~p", [IndexFName, + Pre, Post]), ok = couch_file:delete(RootDir, IndexFName), ok = file:rename(CompactFName, IndexFName), -- To stop receiving notification emails like this one, please contact "commits@couchdb.apache.org" .