genomix driver -ip and -runLocal are mutually exclusive
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
index fedfc36..db39405 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
@@ -91,10 +91,10 @@
private int tipRemove_maxLength = -1;
// Hyracks/Pregelix Setup
- @Option(name = "-ip", usage = "IP address of the cluster controller", required = true)
- private String ipAddress = "";
+ @Option(name = "-ip", usage = "IP address of the cluster controller", required = false)
+ private String ipAddress;
- @Option(name = "-port", usage = "Port of the cluster controller", required = true)
+ @Option(name = "-port", usage = "Port of the cluster controller", required = false)
private int port = -1;
@Option(name = "-profile", usage = "Whether or not to do runtime profifling", required = false)
@@ -210,7 +210,6 @@
super(new Configuration());
setInt(KMER_LENGTH, kmerLength);
fillMissingDefaults();
- validateConf(this);
}
public GenomixJobConf(Configuration other) {
@@ -277,7 +276,7 @@
throw new IllegalArgumentException("tipRemove_maxLength must be at least as long as kmerLength!");
// Hyracks/Pregelix Advanced Setup
- if (conf.get(IP_ADDRESS) == "")
+ if (conf.get(IP_ADDRESS) == null)
throw new IllegalArgumentException("ipAddress was not specified!");
}
@@ -354,7 +353,15 @@
if (opts.hdfsWorkPath != null)
set(HDFS_WORK_PATH, opts.hdfsWorkPath);
+ if (opts.runLocal && (opts.ipAddress != null || opts.port != -1))
+ throw new IllegalArgumentException("Option -runLocal cannot be set at the same time as -port or -ip! (-runLocal starts a cluster; -ip and -port specify an existing cluster)");
setBoolean(RUN_LOCAL, opts.runLocal);
+ // Hyracks/Pregelix Setup
+ if (opts.ipAddress != null)
+ set(IP_ADDRESS, opts.ipAddress);
+ setInt(PORT, opts.port);
+ setBoolean(PROFILE, opts.profile);
+
// Graph cleaning
setInt(BRIDGE_REMOVE_MAX_LENGTH, opts.bridgeRemove_maxLength);
@@ -365,9 +372,5 @@
setFloat(REMOVE_LOW_COVERAGE_MAX_COVERAGE, opts.removeLowCoverage_maxCoverage);
setInt(TIP_REMOVE_MAX_LENGTH, opts.tipRemove_maxLength);
- // Hyracks/Pregelix Setup
- set(IP_ADDRESS, opts.ipAddress);
- setInt(PORT, opts.port);
- setBoolean(PROFILE, opts.profile);
}
}