diff --git a/mma-commons/pom.xml b/mma-commons/pom.xml
index bd9a8dbb..871541d1 100644
--- a/mma-commons/pom.xml
+++ b/mma-commons/pom.xml
@@ -34,7 +34,6 @@ limitations under the License.
com.aliyun.odps
odps-sdk-core
- shaded
com.aliyun.oss
diff --git a/mma-commons/src/main/java/com/aliyun/odps/mma/config/JobConfiguration.java b/mma-commons/src/main/java/com/aliyun/odps/mma/config/JobConfiguration.java
index f4f3e782..0108beaf 100644
--- a/mma-commons/src/main/java/com/aliyun/odps/mma/config/JobConfiguration.java
+++ b/mma-commons/src/main/java/com/aliyun/odps/mma/config/JobConfiguration.java
@@ -96,6 +96,7 @@ public void validate() throws MmaException {
// 1. Hive(metadata), Hive(data) -> MC(metadata), MC(data)
// 2. MC(metadata), MC(metadata) -> OSS(metadata), OSS(data)
// 3. OSS(metadata), OSS(data) -> MC(metadata), MC(data)
+ // 4. MC(metadata), MC(data) -> MC(metadata), MC(data)
validateJobId();
validPartitionFilter();
MetaSourceType metaSourceType = MetaSourceType.valueOf(configuration.get(METADATA_SOURCE_TYPE));
@@ -118,6 +119,11 @@ public void validate() throws MmaException {
&& dataDestType.equals(DataDestType.MaxCompute)) {
validateHiveToMcCredentials();
validMcAuthType();
+ } else if (metaSourceType.equals(MetaSourceType.MaxCompute)
+ && dataSourceType.equals(DataSourceType.MaxCompute)
+ && metaDestType.equals(MetaDestType.MaxCompute)
+ && dataDestType.equals(DataDestType.MaxCompute)) {
+ validateMcToMcCredentials();
} else {
throw new IllegalArgumentException("Unsupported source and dest combination.");
}
@@ -168,6 +174,13 @@ private void validateHiveToMcCredentials() throws MmaException {
ConfigurationUtils.validateMcDataDest(this);
}
+ private void validateMcToMcCredentials() throws MmaException {
+ ConfigurationUtils.validateMcMetaSource(this);
+ ConfigurationUtils.validateMcDataSource(this);
+ ConfigurationUtils.validateMcMetaDest(this);
+ ConfigurationUtils.validateMcDataDest(this);
+ }
+
private void validateJobId() throws MmaException {
String jobId = get(JobConfiguration.JOB_ID);
if (!StringUtils.isBlank(jobId) && !JOB_ID_PATTERN.matcher(jobId).matches()) {
diff --git a/mma-server/pom.xml b/mma-server/pom.xml
index 642ce8fe..5af6b1a8 100644
--- a/mma-server/pom.xml
+++ b/mma-server/pom.xml
@@ -35,7 +35,6 @@ limitations under the License.
com.aliyun.odps
odps-sdk-core
- shaded
com.aliyun.oss
diff --git a/mma-server/src/main/java/com/aliyun/odps/mma/server/MmaServerMain.java b/mma-server/src/main/java/com/aliyun/odps/mma/server/MmaServerMain.java
index f84259f9..381c72a5 100644
--- a/mma-server/src/main/java/com/aliyun/odps/mma/server/MmaServerMain.java
+++ b/mma-server/src/main/java/com/aliyun/odps/mma/server/MmaServerMain.java
@@ -122,7 +122,7 @@ private static void initMmaServerConfigurationSingleton(Path path)
Map map = GsonUtils.GSON.fromJson(
json, new TypeToken