You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/10/14 13:25:48 UTC
[hbase] branch branch-2 updated: HBASE-23163 Refactor
HStore.getStorefilesSize related methods (#719)
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 44afe8c HBASE-23163 Refactor HStore.getStorefilesSize related methods (#719)
44afe8c is described below
commit 44afe8cfde427b30231ca2c0a1f307a3562b9d18
Author: Duo Zhang <zh...@apache.org>
AuthorDate: Mon Oct 14 18:09:57 2019 +0800
HBASE-23163 Refactor HStore.getStorefilesSize related methods (#719)
Signed-off-by: Lijin Bin <bi...@apache.org>
---
.../apache/hadoop/hbase/regionserver/HStore.java | 53 ++++++++++------------
1 file changed, 23 insertions(+), 30 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
index 1d01891..345821a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
@@ -306,7 +306,7 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat
// update the storeSize in the completeCompaction(..) finally (just like compaction) , so
// no need calculate the storeSize twice.
this.storeSize.addAndGet(getStorefilesSize(hStoreFiles, sf -> true));
- this.totalUncompressedBytes.addAndGet(getTotalUmcompressedBytes(hStoreFiles));
+ this.totalUncompressedBytes.addAndGet(getTotalUncompressedBytes(hStoreFiles));
this.storeEngine.getStoreFileManager().loadFiles(hStoreFiles);
// Initialize checksum type from name. The names are CRC32, CRC32C, etc.
@@ -2134,53 +2134,46 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat
HStoreFile::isHFile);
}
- private long getTotalUmcompressedBytes(List<HStoreFile> files) {
- return files.stream().filter(f -> f != null).mapToLong(f -> {
- StoreFileReader reader = f.getReader();
- if (reader == null) {
- return 0;
- } else {
- return reader.getTotalUncompressedBytes();
- }
- }).sum();
+ private long getTotalUncompressedBytes(List<HStoreFile> files) {
+ return files.stream()
+ .mapToLong(file -> getStorefileFieldSize(file, StoreFileReader::getTotalUncompressedBytes))
+ .sum();
}
private long getStorefilesSize(Collection<HStoreFile> files, Predicate<HStoreFile> predicate) {
- return files.stream().filter(f -> f != null && f.getReader() != null).filter(predicate)
- .mapToLong(f -> {
- StoreFileReader reader = f.getReader();
- if (reader == null) {
- return 0;
- } else {
- return reader.length();
- }
- }).sum();
+ return files.stream().filter(predicate)
+ .mapToLong(file -> getStorefileFieldSize(file, StoreFileReader::length)).sum();
+ }
+
+ private long getStorefileFieldSize(HStoreFile file, ToLongFunction<StoreFileReader> f) {
+ if (file == null) {
+ return 0L;
+ }
+ StoreFileReader reader = file.getReader();
+ if (reader == null) {
+ return 0L;
+ }
+ return f.applyAsLong(reader);
}
- private long getStoreFileFieldSize(ToLongFunction<StoreFileReader> f) {
+ private long getStorefilesFieldSize(ToLongFunction<StoreFileReader> f) {
return this.storeEngine.getStoreFileManager().getStorefiles().stream()
- .map(HStoreFile::getReader).filter(reader -> {
- if (reader == null) {
- return false;
- } else {
- return true;
- }
- }).mapToLong(f).sum();
+ .mapToLong(file -> getStorefileFieldSize(file, f)).sum();
}
@Override
public long getStorefilesRootLevelIndexSize() {
- return getStoreFileFieldSize(StoreFileReader::indexSize);
+ return getStorefilesFieldSize(StoreFileReader::indexSize);
}
@Override
public long getTotalStaticIndexSize() {
- return getStoreFileFieldSize(StoreFileReader::getUncompressedDataIndexSize);
+ return getStorefilesFieldSize(StoreFileReader::getUncompressedDataIndexSize);
}
@Override
public long getTotalStaticBloomSize() {
- return getStoreFileFieldSize(StoreFileReader::getTotalBloomSize);
+ return getStorefilesFieldSize(StoreFileReader::getTotalBloomSize);
}
@Override