You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by zu...@apache.org on 2017/03/17 01:59:33 UTC

incubator-quickstep git commit: Used an alternative implementation for the proto map.

Repository: incubator-quickstep
Updated Branches:
  refs/heads/fix-proto-map [created] 7aaa0533d


Used an alternative implementation for the proto map.


Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/7aaa0533
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/7aaa0533
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/7aaa0533

Branch: refs/heads/fix-proto-map
Commit: 7aaa0533de7abed6bd6ae0beb30f17bfc1974e52
Parents: 8c26c31
Author: Zuyu Zhang <zu...@apache.org>
Authored: Thu Mar 16 18:59:28 2017 -0700
Committer: Zuyu Zhang <zu...@apache.org>
Committed: Thu Mar 16 18:59:28 2017 -0700

----------------------------------------------------------------------
 query_execution/BlockLocator.cpp             | 6 ++++--
 query_execution/QueryExecutionMessages.proto | 7 ++++++-
 storage/StorageManager.cpp                   | 7 ++++---
 3 files changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/7aaa0533/query_execution/BlockLocator.cpp
----------------------------------------------------------------------
diff --git a/query_execution/BlockLocator.cpp b/query_execution/BlockLocator.cpp
index 1c8c690..a898aba 100644
--- a/query_execution/BlockLocator.cpp
+++ b/query_execution/BlockLocator.cpp
@@ -196,8 +196,10 @@ void BlockLocator::processGetAllDomainNetworkAddressesMessage(const client_id re
   // NOTE(zuyu): We don't need to protect here, as all the writers are in the
   // single thread.
   for (const auto &domain_network_address_pair : domain_network_addresses_) {
-    (*proto.mutable_domain_network_addresses())[domain_network_address_pair.first] =
-        domain_network_address_pair.second;
+    serialization::GetAllDomainNetworkAddressesResponseMessage::DomainNetworkAddress *proto_domain_network_address =
+        proto.add_domain_network_addresses();
+    proto_domain_network_address->set_block_domain(domain_network_address_pair.first);
+    proto_domain_network_address->set_network_address(domain_network_address_pair.second);
   }
 
   const int proto_length = proto.ByteSize();

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/7aaa0533/query_execution/QueryExecutionMessages.proto
----------------------------------------------------------------------
diff --git a/query_execution/QueryExecutionMessages.proto b/query_execution/QueryExecutionMessages.proto
index 9c59985..6aa8769 100644
--- a/query_execution/QueryExecutionMessages.proto
+++ b/query_execution/QueryExecutionMessages.proto
@@ -165,5 +165,10 @@ message BlockMessage {
 }
 
 message GetAllDomainNetworkAddressesResponseMessage {
-  map<uint32, string> domain_network_addresses = 1;
+  message DomainNetworkAddress {
+    required uint32 block_domain = 1;
+    required string network_address = 2;
+  }
+
+  repeated DomainNetworkAddress domain_network_addresses = 1;
 }

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/7aaa0533/storage/StorageManager.cpp
----------------------------------------------------------------------
diff --git a/storage/StorageManager.cpp b/storage/StorageManager.cpp
index b7d87e7..7eb132c 100644
--- a/storage/StorageManager.cpp
+++ b/storage/StorageManager.cpp
@@ -613,10 +613,11 @@ string StorageManager::getPeerDomainNetworkAddress(const block_id_domain block_d
     serialization::GetAllDomainNetworkAddressesResponseMessage proto;
     CHECK(proto.ParseFromArray(tagged_message.message(), tagged_message.message_bytes()));
 
-    for (const auto &domain_network_address_pair : proto.domain_network_addresses()) {
-      const block_id_domain block_domain = domain_network_address_pair.first;
+    for (int i = 0; i < proto.domain_network_addresses_size(); ++i) {
+      const auto &proto_domain_network_address = proto.domain_network_addresses(i);
+      const block_id_domain block_domain = proto_domain_network_address.block_domain();
       if (block_domain_network_addresses_.find(block_domain) == block_domain_network_addresses_.end()) {
-        block_domain_network_addresses_.emplace(block_domain, domain_network_address_pair.second);
+        block_domain_network_addresses_.emplace(block_domain, proto_domain_network_address.network_address());
       }
     }