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 093C5200B8D for ; Thu, 8 Sep 2016 21:37:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 08226160AAD; Thu, 8 Sep 2016 19:37:06 +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 7DA42160ABD for ; Thu, 8 Sep 2016 21:37:05 +0200 (CEST) Received: (qmail 42929 invoked by uid 500); 8 Sep 2016 19:37:04 -0000 Mailing-List: contact dev-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list dev@accumulo.apache.org Received: (qmail 42570 invoked by uid 99); 8 Sep 2016 19:37:04 -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; Thu, 08 Sep 2016 19:37:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3A8E2E02DA; Thu, 8 Sep 2016 19:37:04 +0000 (UTC) From: ivakegg To: dev@accumulo.apache.org Reply-To: dev@accumulo.apache.org References: In-Reply-To: Subject: [GitHub] accumulo pull request #134: ACCUMULO-4391 Source deepcopies cannot be used s... Content-Type: text/plain Message-Id: <20160908193704.3A8E2E02DA@git1-us-west.apache.org> Date: Thu, 8 Sep 2016 19:37:04 +0000 (UTC) archived-at: Thu, 08 Sep 2016 19:37:06 -0000 Github user ivakegg commented on a diff in the pull request: https://github.com/apache/accumulo/pull/134#discussion_r78074780 --- Diff: core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/BCFile.java --- @@ -672,11 +674,23 @@ public BlockRegion getBlockRegion() { } public void finish() throws IOException { - try { - in.close(); - } finally { - compressAlgo.returnDecompressor(decompressor); - decompressor = null; + if (!closed) { --- End diff -- In general synchronizing on a monitor is significantly slower than checking a boolean. However since the close method is invoked in general only once on each instance, I can see the benefit of avoiding the initial check. As Josh pointed out, closes are much less frequent and hence the performance impact is minimal. I will take it out however. --- 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. ---