You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/11/05 06:02:32 UTC
[2/2] ignite git commit: IGNITE-1200 Fixed secondary file system
configuration and code generation.
IGNITE-1200 Fixed secondary file system configuration and code generation.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c5ea672f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c5ea672f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c5ea672f
Branch: refs/heads/ignite-843-rc1
Commit: c5ea672fb88718e56234571202eaf91951f9509a
Parents: 99c4207
Author: vsisko <vs...@gridgain.com>
Authored: Thu Nov 5 12:02:33 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Nov 5 12:02:33 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/igfs-controller.js | 15 ++++
.../src/main/js/controllers/models/caches.json | 2 -
.../main/js/controllers/models/clusters.json | 2 -
.../src/main/js/controllers/models/igfs.json | 73 +++++++++++++++++---
.../main/js/controllers/models/metadata.json | 1 -
modules/control-center-web/src/main/js/db.js | 8 ++-
.../main/js/routes/generator/generator-java.js | 25 +++++++
.../main/js/routes/generator/generator-xml.js | 45 ++++++++++++
8 files changed, 156 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/controllers/igfs-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/igfs-controller.js b/modules/control-center-web/src/main/js/controllers/igfs-controller.js
index 9329559..0f92d09 100644
--- a/modules/control-center-web/src/main/js/controllers/igfs-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/igfs-controller.js
@@ -90,6 +90,7 @@ consoleModule.controller('igfsController', [
ipc: {xml: '', java: '', allDefaults: true},
fragmentizer: {xml: '', java: '', allDefaults: true},
dualMode: {xml: '', java: '', allDefaults: true},
+ secondaryFileSystem: {xml: '', java: '', allDefaults: true},
misc: {xml: '', java: '', allDefaults: true}
};
@@ -182,6 +183,10 @@ consoleModule.controller('igfsController', [
$scope.preview.dualMode.java = $generatorJava.igfsDualMode(val, varName).asString();
$scope.preview.dualMode.allDefaults = $common.isEmptyString($scope.preview.dualMode.xml);
+ $scope.preview.secondaryFileSystem.xml = $generatorXml.igfsSecondFS(val).asString();
+ $scope.preview.secondaryFileSystem.java = $generatorJava.igfsSecondFS(val, varName).asString();
+ $scope.preview.secondaryFileSystem.allDefaults = $common.isEmptyString($scope.preview.secondaryFileSystem.xml);
+
$scope.preview.misc.xml = $generatorXml.igfsMisc(val).asString();
$scope.preview.misc.java = $generatorJava.igfsMisc(val, varName).asString();
$scope.preview.misc.allDefaults = $common.isEmptyString($scope.preview.misc.xml);
@@ -261,6 +266,16 @@ consoleModule.controller('igfsController', [
!$common.isValidJavaClass('Put executor service', item.dualModePutExecutorService, false, 'dualModePutExecutorService', false, $scope.panels, 'dualMode'))
return false;
+ if (!item.secondaryFileSystemEnabled && (!item.defaultMode || item.defaultMode != 'PRIMARY'))
+ return showPopoverMessage($scope.panels, 'misc', 'secondaryFileSystem-title', 'Secondary file system should be configured for not "PRIMARY" IGFS mode');
+
+ if (item.pathModes) {
+ for (var pathIx = 0; pathIx < item.pathModes.length; pathIx ++) {
+ if (!item.secondaryFileSystemEnabled && item.pathModes[pathIx].mode != 'PRIMARY')
+ return showPopoverMessage($scope.panels, 'misc', 'secondaryFileSystem-title', 'Secondary file system should be configured for not "PRIMARY" path mode');
+ }
+ }
+
return true;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json
index 69a77bd..07c6cc3 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -45,7 +45,6 @@
"Associate clusters with the current cache"
],
"addLink": {
- "label": "Add cluster(s)",
"ref": "/configuration/clusters?new"
}
},
@@ -61,7 +60,6 @@
"Select cache type metadata to describe types in cache"
],
"addLink": {
- "label": "Add metadata(s)",
"ref": "/configuration/metadata?new"
}
},
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 0d56cfa..2e69fc6 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -42,7 +42,6 @@
"Select caches to start in cluster or add a new cache"
],
"addLink": {
- "label": "Add cache(s)",
"ref": "/configuration/caches?new"
}
},
@@ -1296,7 +1295,6 @@
"Select IGFS to start in cluster or add a new IGFS"
],
"addLink": {
- "label": "Add cache(s)",
"ref": "/configuration/igfs?new"
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/controllers/models/igfs.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/igfs.json b/modules/control-center-web/src/main/js/controllers/models/igfs.json
index 8efd1a9..88f31b5 100644
--- a/modules/control-center-web/src/main/js/controllers/models/igfs.json
+++ b/modules/control-center-web/src/main/js/controllers/models/igfs.json
@@ -47,7 +47,6 @@
"Associate clusters with the current IGFS"
],
"addLink": {
- "label": "Add cluster(s)",
"ref": "/configuration/clusters?new"
}
},
@@ -89,7 +88,7 @@
"model": "type",
"placeholder": "TCP",
"items": "ipcTypes",
- "hide": "!backupItem.ipcEndpointEnabled",
+ "disabled": "!backupItem.ipcEndpointEnabled",
"tip": [
"IPC endpoint configuration"
]
@@ -100,7 +99,7 @@
"path": "ipcEndpointConfiguration",
"model": "host",
"placeholder": "127.0.0.1",
- "hide": "!backupItem.ipcEndpointEnabled",
+ "disabled": "!backupItem.ipcEndpointEnabled",
"tip": [
"Host"
]
@@ -112,7 +111,7 @@
"model": "port",
"placeholder": 10500,
"max": 65535,
- "hide": "!backupItem.ipcEndpointEnabled",
+ "disabled": "!backupItem.ipcEndpointEnabled",
"tip": [
"Port"
]
@@ -123,7 +122,7 @@
"path": "ipcEndpointConfiguration",
"model": "memorySize",
"placeholder": 262144,
- "hide": "!backupItem.ipcEndpointEnabled",
+ "disabled": "!backupItem.ipcEndpointEnabled",
"tip": [
"Shared memory size in bytes allocated for endpoint communication"
]
@@ -134,7 +133,7 @@
"path": "ipcEndpointConfiguration",
"model": "tokenDirectoryPath",
"placeholder": "ipc/shmem",
- "hide": "!backupItem.ipcEndpointEnabled",
+ "disabled": "!backupItem.ipcEndpointEnabled",
"tip": [
"Directory where shared memory tokens are stored"
]
@@ -164,7 +163,7 @@
"type": "number",
"model": "fragmentizerConcurrentFiles",
"placeholder": 0,
- "hide": "!backupItem.fragmentizerEnabled",
+ "disabled": "!backupItem.fragmentizerEnabled",
"tip": [
"Number of files to process concurrently by fragmentizer"
]
@@ -175,7 +174,7 @@
"type": "number",
"model": "fragmentizerThrottlingBlockLength",
"placeholder": 16777216,
- "hide": "!backupItem.fragmentizerEnabled",
+ "disabled": "!backupItem.fragmentizerEnabled",
"tip": [
"Length of file chunk to transmit before throttling is delayed"
]
@@ -186,7 +185,7 @@
"type": "number",
"model": "fragmentizerThrottlingDelay",
"placeholder": 200,
- "hide": "!backupItem.fragmentizerEnabled",
+ "disabled": "!backupItem.fragmentizerEnabled",
"tip": [
"Delay in milliseconds for which fragmentizer is paused"
]
@@ -233,6 +232,62 @@
]
},
{
+ "label": "Secondary file system",
+ "group": "secondaryFileSystem",
+ "tip": [
+ "Secondary file system",
+ "Secondary file system is provided for pass-through, write-through, and read-through purposes"
+ ],
+ "fields": [
+ {
+ "label": "Enabled",
+ "id": "secondaryFileSystemEnabled",
+ "type": "check",
+ "model": "secondaryFileSystemEnabled",
+ "placeholder": 0,
+ "tip": [
+ "Secondary file system enabled flag"
+ ]
+ },
+ {
+ "label": "URI",
+ "id": "hadoopURI",
+ "type": "text",
+ "model": "uri",
+ "disabled": "!backupItem.secondaryFileSystemEnabled",
+ "path": "secondaryFileSystem",
+ "placeholder": "hdfs://[namenodehost]:[port]/[path]",
+ "tip": [
+ "URI of file system"
+ ]
+ },
+ {
+ "label": "Config path",
+ "id": "cfgPath",
+ "type": "text",
+ "model": "cfgPath",
+ "disabled": "!backupItem.secondaryFileSystemEnabled",
+ "path": "secondaryFileSystem",
+ "placeholder": "Path to additional config",
+ "tip": [
+ "Additional path to Hadoop configuration"
+ ]
+ },
+ {
+ "label": "User name",
+ "id": "userName",
+ "type": "text",
+ "model": "userName",
+ "disabled": "!backupItem.secondaryFileSystemEnabled",
+ "path": "secondaryFileSystem",
+ "placeholder": "User name",
+ "tip": [
+ "User name"
+ ]
+ }
+ ]
+ },
+ {
"label": "Miscellaneous",
"group": "misc",
"tip": [],
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/metadata.json b/modules/control-center-web/src/main/js/controllers/models/metadata.json
index e64e8b0..d6314aa 100644
--- a/modules/control-center-web/src/main/js/controllers/models/metadata.json
+++ b/modules/control-center-web/src/main/js/controllers/models/metadata.json
@@ -39,7 +39,6 @@
"Select caches to associate metadata with cache"
],
"addLink": {
- "label": "Add cache(s)",
"ref": "/configuration/caches?new"
}
},
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/db.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/db.js b/modules/control-center-web/src/main/js/db.js
index 4c9ac0f..b45cdce 100644
--- a/modules/control-center-web/src/main/js/db.js
+++ b/modules/control-center-web/src/main/js/db.js
@@ -253,7 +253,13 @@ var IgfsSchema = new Schema({
perNodeParallelBatchCount: Number,
prefetchBlocks: Number,
sequentialReadsBeforePrefetch: Number,
- trashPurgeTimeout: Number
+ trashPurgeTimeout: Number,
+ secondaryFileSystemEnabled: Boolean,
+ secondaryFileSystem: {
+ uri: String,
+ cfgPath: String,
+ userName: String
+ }
});
// Define IGFS model.
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/routes/generator/generator-java.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-java.js b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
index 4588915..5df82b5 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-java.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
@@ -1637,6 +1637,7 @@ $generatorJava.igfss = function(igfss, varName, res) {
$generatorJava.igfsIPC(igfs, igfsInst, res);
$generatorJava.igfsFragmentizer(igfs, igfsInst, res);
$generatorJava.igfsDualMode(igfs, igfsInst, res);
+ $generatorJava.igfsSecondFS(igfs, igfsInst, res);
$generatorJava.igfsMisc(igfs, igfsInst, res);
res.line(arrayName + '[' + ix + '] = ' + igfsInst + ';');
@@ -1701,6 +1702,30 @@ $generatorJava.igfsDualMode = function(igfs, varName, res) {
return res;
};
+$generatorJava.igfsSecondFS = function(igfs, varName, res) {
+ if (!res)
+ res = $generatorCommon.builder();
+
+ if (igfs.secondaryFileSystemEnabled) {
+ var secondFs = igfs.secondaryFileSystem || {};
+
+ var uriDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.uri);
+ var nameDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.userName);
+ var cfgDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.cfgPath);
+
+ res.line(varName + '.setSecondaryFileSystem(new ' +
+ res.importClass('org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem') + '(' +
+ (uriDefined ? '"' + secondFs.uri + '"' : 'null') +
+ (cfgDefined || nameDefined ? (cfgDefined ? ', "' + secondFs.cfgPath + '"' : ', null') : '') +
+ (nameDefined ? ', "' + secondFs.userName + '"' : '') +
+ '));');
+
+ res.needEmptyLine = true;
+ }
+
+ return res;
+};
+
$generatorJava.igfsGeneral = function(igfs, varName, res) {
if (!res)
res = $generatorCommon.builder();
http://git-wip-us.apache.org/repos/asf/ignite/blob/c5ea672f/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
index 2ba399c..d2806c3 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
@@ -1189,6 +1189,7 @@ $generatorXml.igfss = function(igfss, res) {
$generatorXml.igfsIPC(igfs, res);
$generatorXml.igfsFragmentizer(igfs, res);
$generatorXml.igfsDualMode(igfs, res);
+ $generatorXml.igfsSecondFS(igfs, res);
$generatorXml.igfsMisc(igfs, res);
res.endBlock('</bean>');
@@ -1254,6 +1255,50 @@ $generatorXml.igfsDualMode = function(igfs, res) {
return res;
};
+$generatorXml.igfsSecondFS = function(igfs, res) {
+ if (!res)
+ res = $generatorCommon.builder();
+
+ if (igfs.secondaryFileSystemEnabled) {
+ var secondFs = igfs.secondaryFileSystem || {};
+
+ res.startBlock('<property name="secondaryFileSystem">');
+
+ res.startBlock('<bean class="org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem">');
+
+ var nameDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.userName);
+ var cfgDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.cfgPath);
+
+ if ($commonUtils.isDefinedAndNotEmpty(secondFs.uri))
+ res.line('<constructor-arg index="0" value="' + secondFs.uri + '"/>');
+ else {
+ res.startBlock('<constructor-arg index="0">');
+ res.line('<null/>');
+ res.endBlock('</constructor-arg>');
+ }
+
+ if (cfgDefined || nameDefined) {
+ if (cfgDefined)
+ res.line('<constructor-arg index="1" value="' + secondFs.cfgPath + '"/>');
+ else {
+ res.startBlock('<constructor-arg index="1">');
+ res.line('<null/>');
+ res.endBlock('</constructor-arg>');
+ }
+ }
+
+ if ($commonUtils.isDefinedAndNotEmpty(secondFs.userName))
+ res.line('<constructor-arg index="2" value="' + secondFs.userName + '"/>');
+
+ res.endBlock('</bean>');
+ res.endBlock('</property>');
+
+ res.needEmptyLine = true;
+ }
+
+ return res;
+};
+
$generatorXml.igfsGeneral = function(igfs, res) {
if (!res)
res = $generatorCommon.builder();