Skip to content

Commit 4895f26

Browse files
Serialize BFs when in UM, type-alias strcuture of BFs
1 parent 6ea996f commit 4895f26

File tree

7 files changed

+15
-13
lines changed

7 files changed

+15
-13
lines changed

dbcon/joblist/blockedbloomfilter.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ class BlockedBloomFilter
5858

5959
};
6060

61-
62-
61+
using BloomFilters = std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>;
6362

6463
} // namespace joblist
6564

dbcon/joblist/primitivestep.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,11 +1474,11 @@ class TupleBPS : public BatchPrimitive, public TupleDeliveryStep
14741474
hasPartitionFilter, hasMaxFilter, hasMinFilter, hasLBIDFilter, hasExtentIDFilter;
14751475

14761476
// Blocked Bloom filter
1477-
std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>> bloomFilters;
1477+
std::vector<BloomFilters> bloomFilters;
14781478
void serializeBloomFilters();
14791479

14801480
public:
1481-
void setBloomFilters(std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>>&& bloomFilters);
1481+
void setBloomFilters(std::vector<BloomFilters>&& bloomFilters);
14821482

14831483
};
14841484

dbcon/joblist/tuple-bps.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1479,10 +1479,13 @@ void TupleBPS::run()
14791479
fDec->write(uniqueID, sbs);
14801480
BPPIsAllocated = true;
14811481

1482-
if (doJoin && tjoiners[0]->inPM())
1482+
if (doJoin)
14831483
{
1484-
serializeBloomFilters();
1485-
serializeJoiner();
1484+
if (tjoiners[0]->inPM())
1485+
serializeJoiner();
1486+
1487+
if (tjoiners[0]->inUM())
1488+
serializeBloomFilters();
14861489
}
14871490

14881491
prepCasualPartitioning();
@@ -3397,7 +3400,7 @@ void TupleBPS::abort()
33973400
abort_nolock();
33983401
}
33993402

3400-
void TupleBPS::setBloomFilters(std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>>&& bloomFilters)
3403+
void TupleBPS::setBloomFilters(std::vector<BloomFilters>&& bloomFilters)
34013404
{
34023405
this->bloomFilters = std::move(bloomFilters);
34033406
}

dbcon/joblist/tuplehashjoin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ class TupleHashJoinStep : public JobStep, public TupleDeliveryStep
661661
friend class DiskJoinStep;
662662

663663
// Blocked Bloom Filter
664-
std::vector<std::shared_ptr<std::array<std::optional<BlockedBloomFilter>, 2>>> bloomFilters;
664+
std::vector<BloomFilters> bloomFilters;
665665

666666
};
667667

primitives/primproc/batchprimitiveprocessor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ class BatchPrimitiveProcessor
437437
uint32_t weight_;
438438

439439
// Blocked Bloom Filter
440-
std::vector<std::shared_ptr<std::array<std::optional<joblist::BlockedBloomFilter>, 2>>> bloomFilters;
440+
std::vector<BloomFilters> bloomFilters;
441441
public:
442442
void addBloomFilters(messageqcpp::ByteStream& bs);
443443
private:

utils/joiner/tuplejoiner.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ TupleJoiner::TupleJoiner(const rowgroup::RowGroup& smallInput, const rowgroup::R
166166
TupleJoiner::TupleJoiner(const rowgroup::RowGroup& smallInput, const rowgroup::RowGroup& largeInput,
167167
const vector<uint32_t>& smallJoinColumns, const vector<uint32_t>& largeJoinColumns,
168168
JoinType jt, threadpool::ThreadPool* jsThreadPool, joblist::ResourceManager* rm,
169-
const uint64_t numCores, std::shared_ptr<std::array<std::optional<joblist::BlockedBloomFilter>, 2>> bloomFilters)
169+
const uint64_t numCores, BloomFilters bloomFilters)
170170
: smallRG(smallInput)
171171
, largeRG(largeInput)
172172
, joinAlg(INSERTING)

utils/joiner/tuplejoiner.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ class TupleJoiner
280280
TupleJoiner(const rowgroup::RowGroup& smallInput, const rowgroup::RowGroup& largeInput,
281281
const std::vector<uint32_t>& smallJoinColumns, const std::vector<uint32_t>& largeJoinColumns,
282282
joblist::JoinType jt, threadpool::ThreadPool* jsThreadPool, joblist::ResourceManager* rm,
283-
const uint64_t numCores, std::shared_ptr<std::array<std::optional<joblist::BlockedBloomFilter>, 2>> bloomFilters);
283+
const uint64_t numCores, BloomFilters bloomFilters);
284284

285285
~TupleJoiner();
286286

@@ -570,7 +570,7 @@ class TupleJoiner
570570
void initRowsVector();
571571

572572
// Blocked Bloom filter
573-
std::shared_ptr<std::array<std::optional<joblist::BlockedBloomFilter>, 2>> bloomFilters;
573+
BloomFilters bloomFilters;
574574

575575
};
576576

0 commit comments

Comments
 (0)