From commits-return-21507-archive-asf-public=cust-asf.ponee.io@accumulo.apache.org Wed Feb 21 18:11:12 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 5648618061A for ; Wed, 21 Feb 2018 18:11:12 +0100 (CET) Received: (qmail 77432 invoked by uid 500); 21 Feb 2018 17:11:10 -0000 Mailing-List: contact commits-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 commits@accumulo.apache.org Received: (qmail 77411 invoked by uid 99); 21 Feb 2018 17:11:09 -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; Wed, 21 Feb 2018 17:11:09 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id CBF6483145; Wed, 21 Feb 2018 17:11:07 +0000 (UTC) Date: Wed, 21 Feb 2018 17:11:07 +0000 To: "commits@accumulo.apache.org" Subject: [accumulo] branch 1.8 updated: ACCUMULO-4805 Optimize file manager when no files to open (#389) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <151923306774.16059.2832457146904018027@gitbox.apache.org> From: kturner@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: accumulo X-Git-Refname: refs/heads/1.8 X-Git-Reftype: branch X-Git-Oldrev: 155a713a45cf444f10e0afe6c95962e6e0232001 X-Git-Newrev: fb7299118fbe16f41e969fccbc8aadaa30bd0d88 X-Git-Rev: fb7299118fbe16f41e969fccbc8aadaa30bd0d88 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch 1.8 in repository https://gitbox.apache.org/repos/asf/accumulo.git The following commit(s) were added to refs/heads/1.8 by this push: new fb72991 ACCUMULO-4805 Optimize file manager when no files to open (#389) fb72991 is described below commit fb7299118fbe16f41e969fccbc8aadaa30bd0d88 Author: Keith Turner AuthorDate: Wed Feb 21 12:11:04 2018 -0500 ACCUMULO-4805 Optimize file manager when no files to open (#389) --- .../org/apache/accumulo/tserver/FileManager.java | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/FileManager.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/FileManager.java index 2aaad39..9833232 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/FileManager.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/FileManager.java @@ -245,10 +245,8 @@ public class FileManager { } private List takeOpenFiles(Collection files, Map readersReserved) { - List filesToOpen = new LinkedList<>(files); - for (Iterator iterator = filesToOpen.iterator(); iterator.hasNext();) { - String file = iterator.next(); - + List filesToOpen = Collections.emptyList(); + for (String file : files) { List ofl = openFiles.get(file); if (ofl != null && ofl.size() > 0) { OpenReader openReader = ofl.remove(ofl.size() - 1); @@ -256,9 +254,12 @@ public class FileManager { if (ofl.size() == 0) { openFiles.remove(file); } - iterator.remove(); + } else { + if (filesToOpen.isEmpty()) { + filesToOpen = new ArrayList<>(files.size()); + } + filesToOpen.add(file); } - } return filesToOpen; } @@ -291,10 +292,12 @@ public class FileManager { filesToOpen = takeOpenFiles(files, readersReserved); - int numOpen = countReaders(openFiles); + if (!filesToOpen.isEmpty()) { + int numOpen = countReaders(openFiles); - if (filesToOpen.size() + numOpen + reservedReaders.size() > maxOpen) { - filesToClose = takeLRUOpenFiles((filesToOpen.size() + numOpen + reservedReaders.size()) - maxOpen); + if (filesToOpen.size() + numOpen + reservedReaders.size() > maxOpen) { + filesToClose = takeLRUOpenFiles((filesToOpen.size() + numOpen + reservedReaders.size()) - maxOpen); + } } } -- To stop receiving notification emails like this one, please contact kturner@apache.org.