You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ji...@apache.org on 2017/04/04 15:56:08 UTC
incubator-quickstep git commit: Bug fix in memory measurement
Repository: incubator-quickstep
Updated Branches:
refs/heads/master 4b04fb841 -> 18bea4aa8
Bug fix in memory measurement
- Some NULL checks added without which we may have segmentation faults.
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/18bea4aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/18bea4aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/18bea4aa
Branch: refs/heads/master
Commit: 18bea4aa879cd6bef4c8b92bd2ba77a0e0d8d32c
Parents: 4b04fb8
Author: Harshad Deshmukh <hb...@apache.org>
Authored: Sun Apr 2 16:23:16 2017 -0500
Committer: Harshad Deshmukh <hb...@apache.org>
Committed: Sun Apr 2 16:23:16 2017 -0500
----------------------------------------------------------------------
storage/AggregationOperationState.cpp | 12 +++++++++---
storage/PartitionedHashTablePool.hpp | 2 +-
2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/18bea4aa/storage/AggregationOperationState.cpp
----------------------------------------------------------------------
diff --git a/storage/AggregationOperationState.cpp b/storage/AggregationOperationState.cpp
index 9388bdb..90543c4 100644
--- a/storage/AggregationOperationState.cpp
+++ b/storage/AggregationOperationState.cpp
@@ -949,9 +949,15 @@ void AggregationOperationState::finalizeHashTableImplThreadPrivate(
std::size_t AggregationOperationState::getMemoryConsumptionBytes() const {
std::size_t memory = getMemoryConsumptionBytesHelper(distinctify_hashtables_);
memory += getMemoryConsumptionBytesHelper(group_by_hashtables_);
- memory += collision_free_hashtable_->getMemoryConsumptionBytes();
- memory += group_by_hashtable_pool_->getMemoryConsumptionPoolBytes();
- memory += partitioned_group_by_hashtable_pool_->getMemoryConsumptionPoolBytes();
+ if (collision_free_hashtable_ != nullptr) {
+ memory += collision_free_hashtable_->getMemoryConsumptionBytes();
+ }
+ if (group_by_hashtable_pool_ != nullptr) {
+ memory += group_by_hashtable_pool_->getMemoryConsumptionPoolBytes();
+ }
+ if (partitioned_group_by_hashtable_pool_ != nullptr) {
+ memory += partitioned_group_by_hashtable_pool_->getMemoryConsumptionPoolBytes();
+ }
return memory;
}
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/18bea4aa/storage/PartitionedHashTablePool.hpp
----------------------------------------------------------------------
diff --git a/storage/PartitionedHashTablePool.hpp b/storage/PartitionedHashTablePool.hpp
index bfe8b8b..3ef399d 100644
--- a/storage/PartitionedHashTablePool.hpp
+++ b/storage/PartitionedHashTablePool.hpp
@@ -118,7 +118,7 @@ class PartitionedHashTablePool {
**/
std::size_t getMemoryConsumptionPoolBytes() const {
std::size_t memory = 0;
- for (std::size_t ht_id = 0; ht_id < hash_tables_.size(); ++ht_id) {
+ for (std::size_t ht_id = 0; ht_id < hash_tables_.size(); ++ht_id) {
if (hash_tables_[ht_id] != nullptr) {
memory += hash_tables_[ht_id]->getMemoryConsumptionBytes();
}