MCPcopy Create free account
hub / github.com/BlazingDB/blazingsql / pullAnyCacheData

Method pullAnyCacheData

engine/src/cache_machine/CacheMachine.cpp:691–724  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

689}
690
691std::unique_ptr<ral::cache::CacheData> CacheMachine::pullAnyCacheData(const std::vector<std::string> & messages) {
692
693 if (messages.size() == 0){
694 return nullptr;
695 }
696
697 CodeTimer cacheEventTimer;
698 cacheEventTimer.start();
699
700 std::unique_ptr<message> message_data = waitingCache->get_or_wait_any(messages);
701 std::string message_id = message_data->get_message_id();
702
703 size_t num_rows = message_data->get_data().num_rows();
704 size_t num_bytes = message_data->get_data().sizeInBytes();
705 int dataType = static_cast<int>(message_data->get_data().get_type());
706 std::unique_ptr<ral::cache::CacheData> output = message_data->release_data();
707
708 cacheEventTimer.stop();
709 if(cache_events_logger) {
710 cache_events_logger->info("{ral_id}|{query_id}|{message_id}|{cache_id}|{num_rows}|{num_bytes}|{event_type}|{timestamp_begin}|{timestamp_end}|{description}",
711 "ral_id"_a=(ctx ? ctx->getNodeIndex(ral::communication::CommunicationData::getInstance().getSelfNode()) : -1),
712 "query_id"_a=(ctx ? ctx->getContextToken() : -1),
713 "message_id"_a=message_id,
714 "cache_id"_a=cache_id,
715 "num_rows"_a=num_rows,
716 "num_bytes"_a=num_bytes,
717 "event_type"_a="pullAnyCacheData",
718 "timestamp_begin"_a=cacheEventTimer.start_time(),
719 "timestamp_end"_a=cacheEventTimer.end_time(),
720 "description"_a="Pull from CacheMachine CacheData object type {}"_format(dataType));
721 }
722
723 return output;
724}
725
726bool CacheMachine::has_data_in_index_now(size_t index){
727 std::string message = this->cache_machine_name + "_" + std::to_string(index);

Callers 1

message_receiverMethod · 0.80

Calls 13

sizeMethod · 0.80
get_or_wait_anyMethod · 0.80
release_dataMethod · 0.80
getNodeIndexMethod · 0.80
getContextTokenMethod · 0.80
start_timeMethod · 0.80
end_timeMethod · 0.80
startMethod · 0.45
get_message_idMethod · 0.45
num_rowsMethod · 0.45
sizeInBytesMethod · 0.45
get_typeMethod · 0.45

Tested by

no test coverage detected