You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2018/02/07 21:53:43 UTC
[accumulo] branch 1.8 updated: ACCUMULO-4790 Avoid creating FileRef
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 2331423 ACCUMULO-4790 Avoid creating FileRef
2331423 is described below
commit 233142368861bea620e6c7b8899140cc7108c385
Author: Keith Turner <kt...@apache.org>
AuthorDate: Thu Feb 1 23:59:12 2018 -0500
ACCUMULO-4790 Avoid creating FileRef
---
.../java/org/apache/accumulo/tserver/FileManager.java | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 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 8bc0fed..a707251 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
@@ -510,6 +510,14 @@ public class FileManager {
ArrayList<InterruptibleIterator> iters = new ArrayList<>();
+ boolean sawTimeSet = false;
+ for (DataFileValue dfv : files.values()) {
+ if (dfv.isTimeSet()) {
+ sawTimeSet = true;
+ break;
+ }
+ }
+
for (FileSKVIterator reader : newlyReservedReaders) {
String filename = getReservedReadeFilename(reader);
InterruptibleIterator iter;
@@ -530,9 +538,13 @@ public class FileManager {
} else {
iter = new ProblemReportingIterator(context, tablet.getTableId(), filename, continueOnFailure, source);
}
- DataFileValue value = files.get(new FileRef(filename));
- if (value.isTimeSet()) {
- iter = new TimeSettingIterator(iter, value.getTime());
+
+ if (sawTimeSet) {
+ // constucting FileRef is expensive so avoid if not needed
+ DataFileValue value = files.get(new FileRef(filename));
+ if (value.isTimeSet()) {
+ iter = new TimeSettingIterator(iter, value.getTime());
+ }
}
iters.add(iter);
--
To stop receiving notification emails like this one, please contact
kturner@apache.org.