You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jp...@apache.org on 2018/10/17 23:14:32 UTC

[mesos] 01/02: Add the output file to the hash on CommandInfo::URI.

This is an automated email from the ASF dual-hosted git repository.

jpeach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 9108078aa2c41e2f88e4c7d66c0159b1810d89de
Author: James Peach <jp...@apache.org>
AuthorDate: Wed Oct 17 15:22:27 2018 -0700

    Add the output file to the hash on CommandInfo::URI.
    
    The `output_file` field of the `CommandInfo::URI` is not combined
    into the hash value. This means that the fetcher does not consider two
    messages that differ only by the `output_file` as different. By adding
    the `output_file` to the hash it is possible for a task to fetch the
    same URI to multiple, distinct ouptuts.
    
    Review: https://reviews.apache.org/r/68586/
---
 include/mesos/type_utils.hpp | 5 +++--
 include/mesos/v1/mesos.hpp   | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/mesos/type_utils.hpp b/include/mesos/type_utils.hpp
index 19ea817..aa61c0c 100644
--- a/include/mesos/type_utils.hpp
+++ b/include/mesos/type_utils.hpp
@@ -510,11 +510,11 @@ inline std::ostream& operator<<(
 namespace std {
 
 template <>
-struct hash<mesos::CommandInfo_URI>
+struct hash<mesos::CommandInfo::URI>
 {
   typedef size_t result_type;
 
-  typedef mesos::CommandInfo_URI argument_type;
+  typedef mesos::CommandInfo::URI argument_type;
 
   result_type operator()(const argument_type& uri) const
   {
@@ -529,6 +529,7 @@ struct hash<mesos::CommandInfo_URI>
     }
 
     boost::hash_combine(seed, uri.value());
+    boost::hash_combine(seed, uri.output_file());
     return seed;
   }
 };
diff --git a/include/mesos/v1/mesos.hpp b/include/mesos/v1/mesos.hpp
index fda3eb4..452bcf2 100644
--- a/include/mesos/v1/mesos.hpp
+++ b/include/mesos/v1/mesos.hpp
@@ -529,6 +529,7 @@ struct hash<mesos::v1::CommandInfo::URI>
     }
 
     boost::hash_combine(seed, uri.value());
+    boost::hash_combine(seed, uri.output_file());
     return seed;
   }
 };