You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ju...@apache.org on 2015/05/06 23:37:45 UTC
incubator-reef git commit: [REEF-276]: Requesting 100 Containers on
YARN causes injection errors in submitting tasks on REEF.NET on HDInsight
Repository: incubator-reef
Updated Branches:
refs/heads/master b4152d7db -> 7a07abcf6
[REEF-276]: Requesting 100 Containers on YARN causes injection errors in submitting tasks on REEF.NET on HDInsight
This addressed the issue by
* The original issue was caused by AvroSerializer not serializing HashSets correctly and included empty entries.
* Changing the use of HashSet<ConfigurationEntry> in AvroConfiguration.Bindings to List<ConfigurationEntry> fixes the issue temporarily.
This closes #174
JIRA: [REEF-276](https://issues.apache.org/jira/browse/REEF-276)
Author: afchung90 <an...@microsoft.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/7a07abcf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/7a07abcf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/7a07abcf
Branch: refs/heads/master
Commit: 7a07abcf6a4564e2c9ab91434227d1ca32d8e770
Parents: b4152d7
Author: afchung90 <an...@microsoft.com>
Authored: Tue May 5 14:45:53 2015 -0700
Committer: Julia Wang <jw...@yahoo.com>
Committed: Wed May 6 14:35:19 2015 -0700
----------------------------------------------------------------------
.../Configuration/TestAvroConfiguration.cs | 3 +--
.../AvroConfiguration.cs | 9 ++++++---
.../ConfigurationEntry.cs | 19 +++++++++++++++++++
3 files changed, 26 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/7a07abcf/lang/cs/Org.Apache.REEF.Tang.Tests/Configuration/TestAvroConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Tang.Tests/Configuration/TestAvroConfiguration.cs b/lang/cs/Org.Apache.REEF.Tang.Tests/Configuration/TestAvroConfiguration.cs
index 17e4575..d9392ab 100644
--- a/lang/cs/Org.Apache.REEF.Tang.Tests/Configuration/TestAvroConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Tang.Tests/Configuration/TestAvroConfiguration.cs
@@ -53,7 +53,6 @@ namespace Org.Apache.REEF.Tang.Tests.Configuration
private AvroConfiguration ToAvroConfiguration()
{
- var a = new AvroConfiguration();
HashSet<ConfigurationEntry> b = new HashSet<ConfigurationEntry>();
ConfigurationEntry e1 = new ConfigurationEntry();
e1.key = "a";
@@ -63,7 +62,7 @@ namespace Org.Apache.REEF.Tang.Tests.Configuration
e2.value = "b1=b2";
b.Add(e1);
b.Add(e2);
- a.Bindings = b;
+ var a = new AvroConfiguration(b);
return a;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/7a07abcf/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/AvroConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/AvroConfiguration.cs b/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/AvroConfiguration.cs
index 7c8dc0a..9a4fa9d 100644
--- a/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/AvroConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/AvroConfiguration.cs
@@ -27,9 +27,12 @@ namespace Org.Apache.REEF.Tang.Formats.AvroConfigurationDataContract
[DataContract(Name = "AvroConfiguration", Namespace = "org.apache.reef.tang.formats.avro")]
public class AvroConfiguration
{
- public AvroConfiguration(HashSet<ConfigurationEntry> bindings)
+ public AvroConfiguration(ISet<ConfigurationEntry> bindings)
{
- this.Bindings = bindings;
+ // TODO: [REEF-276] AvroSerializer currently does not serialize HashSets
+ // correctly, so using a List for now to get around the issue.
+ // An ISet is still passed in to guarantee configuration uniqueness.
+ this.Bindings = new List<ConfigurationEntry>(bindings);
}
public AvroConfiguration()
@@ -37,7 +40,7 @@ namespace Org.Apache.REEF.Tang.Formats.AvroConfigurationDataContract
}
[DataMember]
- public HashSet<ConfigurationEntry> Bindings { get; set; }
+ public List<ConfigurationEntry> Bindings { get; set; }
public static AvroConfiguration GetAvroConfigurationFromEmbeddedString(string jsonString)
{
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/7a07abcf/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/ConfigurationEntry.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/ConfigurationEntry.cs b/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/ConfigurationEntry.cs
index e8f72d0..e5bd5f5 100644
--- a/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/ConfigurationEntry.cs
+++ b/lang/cs/Org.Apache.REEF.Tang/Formats/AvroConfigurationDataContract/ConfigurationEntry.cs
@@ -40,5 +40,24 @@ namespace Org.Apache.REEF.Tang.Formats.AvroConfigurationDataContract
[DataMember]
public string value { get; set; }
+
+ public override bool Equals(object obj)
+ {
+ var that = obj as ConfigurationEntry;
+ return that != null && this.Equals(that);
+ }
+
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ return ((this.key != null ? this.key.GetHashCode() : 0) * 397) ^ (this.value != null ? this.value.GetHashCode() : 0);
+ }
+ }
+
+ protected bool Equals(ConfigurationEntry that)
+ {
+ return this.key == that.key && this.value == that.value;
+ }
}
}