You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2018/04/30 19:21:22 UTC
svn commit: r1830625 - in /uima/uima-ducc/trunk: src/main/admin/
src/main/resources/ uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/
uima-ducc-common/src/main/java/org/apache/uima/duc...
Author: degenaro
Date: Mon Apr 30 19:21:21 2018
New Revision: 1830625
URL: http://svn.apache.org/viewvc?rev=1830625&view=rev
Log:
UIMA-5742 Reliable DUCC
- support ducc.database.host.list in ducc.properties
- support --db-automanage and --db-host-list in ducc_post_install
Added:
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java (with props)
Removed:
uima/uima-ducc/trunk/src/main/admin/db_start
uima/uima-ducc/trunk/src/main/admin/db_stop
Modified:
uima/uima-ducc/trunk/src/main/admin/check_ducc
uima/uima-ducc/trunk/src/main/admin/db_create
uima/uima-ducc/trunk/src/main/admin/db_loader
uima/uima-ducc/trunk/src/main/admin/db_util.py
uima/uima-ducc/trunk/src/main/admin/ducc_post_install
uima/uima-ducc/trunk/src/main/admin/ducc_util.py
uima/uima-ducc/trunk/src/main/admin/rm_qoccupancy
uima/uima-ducc/trunk/src/main/admin/start_ducc
uima/uima-ducc/trunk/src/main/admin/stop_ducc
uima/uima-ducc/trunk/src/main/resources/default.ducc.properties
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbQuery.java
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesHelper.java
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/InetHelper.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbAlive.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbDuccWorks.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbLoader.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbOrchestratorProperties.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbUtil.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmNodeState.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmQLoad.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmShareState.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmStatePersistence.java
uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/StateServicesDb.java
uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/reliable.tex
uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/reliable-ducc.tex
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorState.java
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorStateDbConversion.java
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/test/java/org/apache/uima/ducc/orchestrator/jd/scheduler/test/TestSuite.java
uima/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
uima/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/db/DbQuery.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
Modified: uima/uima-ducc/trunk/src/main/admin/check_ducc
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/check_ducc?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/check_ducc (original)
+++ uima/uima-ducc/trunk/src/main/admin/check_ducc Mon Apr 30 19:21:21 2018
@@ -287,6 +287,8 @@ class CheckDucc(DuccUtil):
print "Head node is not initialized. Have you run ducc_post_install?"
return
+ self.check_properties()
+
if ( do_validate ):
# if validating, ONLY validate, called via ssh usually
self.validate(checkdate)
Modified: uima/uima-ducc/trunk/src/main/admin/db_create
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/db_create?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/db_create (original)
+++ uima/uima-ducc/trunk/src/main/admin/db_create Mon Apr 30 19:21:21 2018
@@ -70,22 +70,36 @@ class DbCreate(DuccUtil):
print ""
sys.exit(1)
- def main(self, argv):
-
+ def main(self, argv):
+
+ self.database_automanage = False
+ self.database_host_list = None
+ self.database_user = None
self.database_pw = None
try:
- opts, args = getopt.getopt(argv, 'd:n:h?', ['db-password=', 'help'])
+ opts, args = getopt.getopt(argv, 'a:o:u:d:n:h?', ['db-automanage=', 'db-host-list=', 'db-user=', 'db-password=', 'help'])
except:
self.usage("Invalid arguments " + ' '.join(argv))
for ( o, a ) in opts:
+ if o in ('-a', '--db-automanage'):
+ if(o in { 'True', 'T', 'true', 't'}):
+ self.database_automanage = True
+ else:
+ self.database_automanage = False
+ if o in ('-o', '--db-host-list'):
+ self.database_host_list = a
+ if o in ('-u', '--db-user'):
+ self.database_user = a
if o in ('-d', '--db-password'):
self.database_pw = a
elif o in ('-h', '-?', '--help'):
self.usage(None)
+
+
# abort db create if db already running
status = 'unknown'
cmd = self.DUCC_HOME+'/cassandra-server/bin/nodetool'
@@ -103,6 +117,16 @@ class DbCreate(DuccUtil):
print 'unsafe to proceed, database status: '+status
return
+ if( self.database_host_list == None ) :
+ self.database_host_list = self.ducc_properties.get("ducc.database.host.list")
+ if( self.database_host_list == None ) :
+ self.database_host_list = self.ducc_properties.get("ducc.database.host")
+ if( self.database_host_list == None ) :
+ self.database_host_list = self.ducc_properties.get("ducc.head")
+
+ if ( self.database_user == None ):
+ self.database_user = 'ducc'
+
if ( self.database_pw == None ):
self.database_pw = self.generate_pw()
@@ -111,14 +135,17 @@ class DbCreate(DuccUtil):
# configure the database for local system and initialize the schema
db_node = self.ducc_properties.get("ducc.head")
- if ( dbu.configure_database(self.DUCC_HOME, db_node, self.jvm, self.database_pw)):
+ if ( dbu.configure_database(self.DUCC_HOME, self.ducc_head, self.jvm, self.database_automanage, self.database_host_list, self.database_user, db_pw) ):
private_props_name = self.DUCC_HOME + '/resources.private/ducc.private.properties'
print 'Writing database password to', private_props_name
ducc_site_properties = Properties();
site_props_name = self.DUCC_HOME + '/resources/site.ducc.properties'
ducc_site_properties.load(site_props_name)
- ducc_site_properties.put('ducc.database.host', db_node);
+ ducc_site_properties.put('ducc.database.automanage', str(self.database_automanage));
+ ducc_site_properties.delete('ducc.database.host');
+ ducc_site_properties.put('ducc.database.host.list', self.database_host_list);
+ ducc_site_properties.put('ducc.database.user', self.database_user);
ducc_site_properties.put('ducc.service.persistence.impl', 'org.apache.uima.ducc.database.StateServicesDb' , ['# Service manager persistence'])
ducc_site_properties.put('ducc.job.history.impl' , 'org.apache.uima.ducc.database.HistoryManagerDb' , ['# History and checkpoint'])
ducc_site_properties.put('ducc.rm.persistence.impl' , 'org.apache.uima.ducc.database.RmStatePersistence', ['# RM state persistence'])
Modified: uima/uima-ducc/trunk/src/main/admin/db_loader
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/db_loader?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/db_loader (original)
+++ uima/uima-ducc/trunk/src/main/admin/db_loader Mon Apr 30 19:21:21 2018
@@ -92,9 +92,9 @@ class DbLoader(DuccUtil):
if ( in_home == None ):
self.usage("Missing input DUCC_HOME")
- out_url = self.ducc_properties.get('ducc.database.host')
+ out_url = self.get_db_host()
if ( out_url == None ):
- self.usage("Cannot find 'ducc.database.host' in your properties file.");
+ self.usage("Database host not defined in ducc.properties file.");
self.db_start()
Modified: uima/uima-ducc/trunk/src/main/admin/db_util.py
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/db_util.py?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/db_util.py (original)
+++ uima/uima-ducc/trunk/src/main/admin/db_util.py Mon Apr 30 19:21:21 2018
@@ -141,15 +141,13 @@ def update_cassandra_config(DUCC_HOME, D
os.system(ch_head)
-
-def configure_database(DUCC_HOME, DUCC_HEAD, java, db_pw):
+def configure_database(DUCC_HOME, DUCC_HEAD, java, db_autostart=True, db_host=None, db_user=None, db_pw=None ):
# for cassandra:
# in ducc_runtime/cassandra-server/conf we need to update cassandra.yaml to establish
# the data directories and db connection addresses
# Note this is a bootstrap routine and doesn't try to use common code that may depend on
# things being initialized correctly.
-
if ( db_pw == None ):
db_pw = raw_input("Enter database password OR 'bypass' to bypass database support:")
@@ -160,21 +158,28 @@ def configure_database(DUCC_HOME, DUCC_H
if ( db_pw == 'bypass' ):
print 'Database support will be bypassed'
return True
-
- if ( os.path.exists(DUCC_HOME + "/state/database/data") ):
- print 'Database is already defined in', DUCC_HOME + '/database', '- but will try to rebuild.'
-
- update_cassandra_config(DUCC_HOME, DUCC_HEAD)
-
- here = os.getcwd()
- os.chdir(DUCC_HOME + "/cassandra-server")
- pidfile = DUCC_HOME + '/state/cassandra.pid'
- print 'Starting the database. This might take a few moments if it is the first time.'
- CMD = "bin/cassandra -p "+ pidfile + " > /dev/null 2>&1";
- os.system(CMD);
- print "Database is started. Waiting for initialization";
- os.chdir(here)
+ if(db_host == None):
+ db_host = DUCC_HEAD
+
+ db_host = db_host.split()[0]
+ print "database host: "+str(db_host)
+
+ if( db_autostart ):
+ if ( os.path.exists(DUCC_HOME + "/state/database/data") ):
+ print 'Database is already defined in', DUCC_HOME + '/database', '- but will try to rebuild.'
+ update_cassandra_config(DUCC_HOME, DUCC_HEAD)
+ here = os.getcwd()
+ os.chdir(DUCC_HOME + "/cassandra-server")
+ pidfile = DUCC_HOME + '/state/cassandra.pid'
+ print 'Starting the database. This might take a few moments if it is the first time.'
+ CMD = "bin/cassandra -p "+ pidfile + " > /dev/null 2>&1";
+ os.system(CMD);
+ print "Database is started. Waiting for initialization";
+ os.chdir(here)
+ else:
+ print "Database is not auto-managed.";
+
# Now start the db and create the schema
CLASSPATH = ''
CLASSPATH = addToCp(CLASSPATH, DUCC_HOME + '/lib/cassandra/*')
@@ -186,13 +191,14 @@ def configure_database(DUCC_HOME, DUCC_H
print os.environ['CLASSPATH']
ret = True
- CMD = [java, '-DDUCC_HOME=' + DUCC_HOME, 'org.apache.uima.ducc.database.DbCreate', DUCC_HEAD, 'ducc', db_pw]
+ CMD = [java, '-DDUCC_HOME=' + DUCC_HOME, 'org.apache.uima.ducc.database.DbCreate', db_host, db_user, db_pw]
CMD = ' '.join(CMD)
if ( execute(CMD) == 0 ):
print 'Database is initialized.'
else:
- print 'Database started but the schema could not be defined. DB logs are in', DUCC_HEAD + '/cassandra-server/logs.'
+ print 'Database schema could not be defined.'
ret = False
- stop_database(pidfile)
+ if( db_autostart ):
+ stop_database(pidfile)
return ret
Modified: uima/uima-ducc/trunk/src/main/admin/ducc_post_install
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/ducc_post_install?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/ducc_post_install (original)
+++ uima/uima-ducc/trunk/src/main/admin/ducc_post_install Mon Apr 30 19:21:21 2018
@@ -63,6 +63,15 @@ class PostInstall():
print " [-j, --jvm] <path to java executable>"
print " This is the full path to java command to be used to start DUCC; e.g., /usr/bin/java"
print ""
+ print " [-a, --db-automanage] <True|False>"
+ print " Specify False if DUCC should not start/stop database."
+ print ""
+ print " [-o, --db-host-list] host1 <host2 host3...>"
+ print " The database host(s)."
+ print ""
+ print " [-u, --db-user] <root user for database>"
+ print " This is the user DUCC uses to manage the database."
+ print ""
print " [-d, --db-password] <root password for database>"
print " This is the password DUCC uses to manage the database."
print ""
@@ -140,15 +149,14 @@ class PostInstall():
if (db_pw == None):
db_pw = self.get_pw(self.database_pw)
- if ( db_pw == 'bypass' ):
- print 'Database support will be disabled'
- self.update_property('ducc.database.host', '--disabled--', '# Database support is disabled')
- return True;
-
- if ( dbu.configure_database(self.DUCC_HOME, self.ducc_head, self.path_to_java, db_pw) ):
+ #if ( db_pw == 'bypass' ):
+ # print 'Database support will be disabled'
+ # self.update_property('ducc.database.host', '--disabled--', '# Database support is disabled')
+ # return True;
+
+ if ( dbu.configure_database(self.DUCC_HOME, self.ducc_head, self.path_to_java, self.database_automanage, self.database_host_list, self.database_user, db_pw) ):
print 'Configuring DUCC to use the database.'
- self.update_property('ducc.database.host', self.ducc_head, '# Database location')
self.update_property('ducc.service.persistence.impl', 'org.apache.uima.ducc.database.StateServicesDb', '# Service manager persistence')
self.update_property('ducc.job.history.impl', 'org.apache.uima.ducc.database.HistoryManagerDb', '# History and checkpoint')
self.update_property('ducc.rm.persistence.impl', 'org.apache.uima.ducc.database.RmStatePersistence', '# RM state persistence')
@@ -330,6 +338,21 @@ class PostInstall():
print "Ducc head is configured as", self.ducc_head, '\n'
+ def setup_ducc_database(self):
+ # ducc.database.automanage
+ if(self.database_automanage == True):
+ self.update_property('ducc.database.automanage', 'True', '# Database start/stop managed by DUCC')
+ else:
+ self.update_property('ducc.database.automanage', 'False', '# Database start/stop not managed by DUCC')
+ # ducc.database.host.list
+ if ( self.database_host_list == None ):
+ self.database_host_list = self.ducc_head
+ self.update_property('ducc.database.host.list', self.database_host_list, '# Database host list')
+ # ducc.database.user
+ if ( self.database_user == None ):
+ self.database_user = 'ducc'
+ self.update_property('ducc.database.user', self.database_user, '# Database user')
+
def mkbackup(self, fn):
if ( os.path.exists(fn) ):
bak = fn + '.bak'
@@ -410,18 +433,29 @@ class PostInstall():
self.ducc_uid = None
self.ducc_head = None
self.keystore_pw = None
+ self.database_automanage = False
+ self.database_host_list = None
+ self.database_user = None
self.database_pw = None
self.path_to_java = None
try:
- opts, args = getopt.getopt(argv, 'd:j:k:n:h?', ['db-password=', 'jvm=', 'keystore=', 'head-node=', 'help'])
+ opts, args = getopt.getopt(argv, 'a:o:u:d:j:k:n:h?', ['db-automanage=', 'db-host-list=', 'db-user=', 'db-password=', 'jvm=', 'keystore=', 'head-node=', 'help'])
except:
self.usage("Invalid arguments " + ' '.join(argv))
-
for ( o, a ) in opts:
if o in ('-n', '--head-node'):
self.ducc_head = a
+ if o in ('-a', '--db-automanage'):
+ if(o in [ 'True', 'T', 'true', 't']):
+ self.database_automanage = True
+ else:
+ self.database_automanage = False
+ if o in ('-o', '--db-host-list'):
+ self.database_host_list = a
+ if o in ('-u', '--db-user'):
+ self.database_user = a
if o in ('-d', '--db-password'):
self.database_pw = a
if o in ('-k', '--keystore'):
@@ -460,6 +494,7 @@ class PostInstall():
self.setup_ducc_uid()
self.setup_ducc_head()
+ self.setup_ducc_database()
self.check_nodes()
# insure java is configured and installed
Modified: uima/uima-ducc/trunk/src/main/admin/ducc_util.py
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/ducc_util.py?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/ducc_util.py (original)
+++ uima/uima-ducc/trunk/src/main/admin/ducc_util.py Mon Apr 30 19:21:21 2018
@@ -195,10 +195,47 @@ class DuccUtil(DuccBase):
print 'Merging', base_props, 'with', site_props, 'into', run_props
os.system(CMD)
-
+ def check_properties(self):
+ database_host_list = self.ducc_properties.get('ducc.database.host.list')
+ database_host = self.ducc_properties.get('ducc.database.host')
+ database_jmx_host = self.ducc_properties.get('ducc.database.jmx.host')
+ if(database_host_list != None):
+ if(database_host != None):
+ text = 'ducc.database.host_list and ducc.database.host both specified.'
+ print 'Error: '+text
+ sys.exit(1)
+ if(database_jmx_host != None):
+ if(database_jmx_host != 'localhost'):
+ text = 'ducc.database.host_list and ducc.database.jmx.host both specified.'
+ print 'Error: '+text
+ sys.exit(1)
+
+ def get_db_host_list(self):
+ result = []
+ slist = self.ducc_properties.get('ducc.database.host.list')
+ if(slist == None):
+ slist = self.ducc_properties.get('ducc.database.host')
+ if(slist != None):
+ result = slist.split()
+ return result
+
+ def get_db_host(self):
+ result = None
+ host_list = self.get_db_host_list()
+ if(host_list != None):
+ if(len(host_list) > 0):
+ result = host_list[0]
+ return result
+
+ def is_db_disabled(self):
+ result = False
+ dbhost = self.get_db_host()
+ if(dbhost == self.db_disabled):
+ result = True
+ return result
+
def db_configure(self):
- dbhost = self.ducc_properties.get('ducc.database.host')
- if ( dbhost == self.db_disabled ):
+ if(self.is_db_disabled()):
self.db_bypass = True
return;
else:
@@ -244,8 +281,7 @@ class DuccUtil(DuccBase):
return self.db_alive_check(retry,verbose)
def db_alive_check(self, retry=10, verbose=True):
- dbnode = self.ducc_properties.get('ducc.database.host')
- if ( dbnode == None ):
+ if(self.is_db_disabled()):
if(verbose):
print 'No database location defined.'
return False
@@ -257,6 +293,8 @@ class DuccUtil(DuccBase):
# get our log4j config into the path to shut up noisy logging
os.environ['CLASSPATH'] = os.environ['CLASSPATH'] + ':' + self.DUCC_HOME + '/resources'
+ dbnode = self.get_db_host()
+
CMD = [self.java(), 'org.apache.uima.ducc.database.DbAlive', dbnode, 'ducc', self.db_password, str(retry)]
CMD = ' '.join(CMD)
@@ -273,11 +311,18 @@ class DuccUtil(DuccBase):
# bypass all of this for the initial delivery
if ( self.db_bypass == True) :
- print ' (Bypass database start because ducc.database.host =', self.db_disabled + ')'
+ print ' (Bypass database start)'
return True
-
+
+ if(dbnode == None):
+ print ' (Bypass database start - no database configured)'
+ return False
+
+ if(len(dbnode) > 1):
+ print ' (Bypass database start - database list not supported)'
+ return False
+
print 'Starting database'
- dbnode = self.ducc_properties.get('ducc.database.host')
dbu.update_cassandra_config(self.DUCC_HOME, dbnode)
max_attempts = 5
@@ -318,9 +363,15 @@ class DuccUtil(DuccBase):
def db_stop(self):
try:
if ( self.db_bypass == True) :
- print ' (Bypass database stop because ducc.database.host =', self.db_disabled + ')'
+ print ' (Bypass database stop)'
return True
- dbnode = self.ducc_properties.get('ducc.database.host')
+ dbnode = self.get_db_host()
+ if(dbnode == None):
+ print ' (Bypass database stop - no database configured)'
+ return False
+ if(len(dbnode) > 1):
+ print ' (Bypass database stop - database list not supported)'
+ return False
dbnode = dbnode.strip()
pidfile = os.path.join(DUCC_HOME,'state','database',dbnode,'cassandra.pid')
cmd = [ 'less', '-FX', pidfile ]
@@ -1258,7 +1309,7 @@ class DuccUtil(DuccBase):
os.environ['DUCC_NODENAME'] = self.localhost # to match java code's implicit property so script and java match
- dbhost = self.ducc_properties.get('ducc.database.host')
+ dbhost = self.get_db_host()
if ( dbhost == None ):
dbhost = self.ducc_properties.get('ducc.head')
if ( dbhost == None ):
Modified: uima/uima-ducc/trunk/src/main/admin/rm_qoccupancy
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/rm_qoccupancy?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/rm_qoccupancy (original)
+++ uima/uima-ducc/trunk/src/main/admin/rm_qoccupancy Mon Apr 30 19:21:21 2018
@@ -120,7 +120,7 @@ class DuccRmQOccupancy(DuccUtil):
sys.exit(1);
DH = self.DUCC_HOME
- dbn = self.ducc_properties.get('ducc.database.host')
+ dbn = self.get_db_host()
guest_pw = self.db_password_guest
Modified: uima/uima-ducc/trunk/src/main/admin/start_ducc
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/start_ducc?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/start_ducc (original)
+++ uima/uima-ducc/trunk/src/main/admin/start_ducc Mon Apr 30 19:21:21 2018
@@ -239,6 +239,8 @@ class StartDucc(DuccUtil):
self.verify_head()
+ self.check_properties()
+
if ( not self.verify_jvm() ):
sys.exit(1);
Modified: uima/uima-ducc/trunk/src/main/admin/stop_ducc
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/stop_ducc?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/stop_ducc (original)
+++ uima/uima-ducc/trunk/src/main/admin/stop_ducc Mon Apr 30 19:21:21 2018
@@ -193,6 +193,8 @@ class StopDucc(DuccUtil):
self.verify_head()
+ self.check_properties()
+
if ( len(argv) == 0 ):
self.usage(None)
@@ -261,7 +263,7 @@ class StopDucc(DuccUtil):
- # avaid confusion by insuring that if 'all', then nothing else is specified
+ # avoid confusion by insuring that if 'all', then nothing else is specified
if ( all and ( do_components ) ):
self.invalid("The --all option is mutually exclusive with --component")
Modified: uima/uima-ducc/trunk/src/main/resources/default.ducc.properties
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/resources/default.ducc.properties?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/resources/default.ducc.properties (original)
+++ uima/uima-ducc/trunk/src/main/resources/default.ducc.properties Mon Apr 30 19:21:21 2018
@@ -1020,13 +1020,13 @@ ducc.flow-controller.specifier=org.apach
# | Database |
# +==================================================================================================+
-# Name of the database host - initially disabled until database is created.
+# Name of the database host(s) - initially disabled until database is created.
# Overridden in site.ducc.properties by ducc_post_install or db_create.
-# This is the name of the host where the database is run. It usually defaults to the
+# This is the name of the host(s) where the database is run. It usually defaults to the
# same host as the ducc.head. Those knowledgable of the database can install the
-# database elsewhere. Use this parameter to specify that location.
+# database elsewhere. Use this parameter to specify that location(s).
# To disable use of the database, set this parameter to the string --disabled--
-ducc.database.host = --disabled--
+ducc.database.host.list = --disabled--
# Database JMX host. Default is to allow only local JMX access. Specify the real name for remote access.
ducc.database.jmx.host = localhost
Modified: uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Mon Apr 30 19:21:21 2018
@@ -36,6 +36,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.uima.ducc.common.crypto.Crypto;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.Utils;
@@ -499,11 +500,7 @@ public abstract class CliBase
* If DB is disabled, then save specification to filesystem
*/
private boolean isDbDisabled() {
- boolean retVal = false;
- String dbHost = DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_database_host, "?");
- if(dbHost.equals(DuccPropertiesResolver.ducc_database_disabled)) {
- retVal = true;
- }
+ boolean retVal = DbHelper.isDbEnabled();
return retVal;
}
Added: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java?rev=1830625&view=auto
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java (added)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java Mon Apr 30 19:21:21 2018
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+package org.apache.uima.ducc.common.db;
+
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+
+/*
+ * Class to help utilize database entries from ducc.properties file
+ */
+public class DbHelper {
+
+ public static final String ducc_database_host = "ducc.database.host";
+
+ private static DuccLogger logger = DuccLogger.getLogger(DbHelper.class);
+ private static DuccId jobid = null;
+
+ private static final DuccPropertiesResolver dpr = DuccPropertiesResolver.getInstance();
+
+ // enabled if not == null and not == --disabled--
+ public static boolean isDbEnabled() {
+ boolean retVal = true;
+
+ String value;
+ value = dpr.getProperty(DuccPropertiesResolver.ducc_database_host_list);
+ if(value != null) {
+ if(value.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
+ retVal = false;
+ }
+ }
+ else {
+ value = dpr.getProperty(ducc_database_host);
+ if(value != null) {
+ if(value.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
+ retVal = false;
+ }
+ }
+ else {
+ retVal = false;
+ }
+ }
+ return retVal;
+ }
+
+ public static boolean isDbDisabled() {
+ return !isDbEnabled();
+ }
+
+ public static String getHostListString() {
+ String retVal = dpr.getProperty(DuccPropertiesResolver.ducc_database_host_list);
+ if(retVal == null) {
+ dpr.getProperty(ducc_database_host);
+ }
+ return retVal;
+ }
+
+ public static String getJxmHostString() {
+ String retVal = dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_host);
+ return retVal;
+ }
+
+ public static String getJxmPortString() {
+ String retVal = dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_port);
+ return retVal;
+ }
+
+ public static Integer getJxmPortInteger() {
+ String location = "getJxmPortInteger";
+ Integer retVal = new Integer(7199);
+ String jmx_port = dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_port);
+ try {
+ retVal = Integer.parseInt(jmx_port);
+ }
+ catch(Exception e) {
+ logger.error(location, jobid, e);
+ }
+ return retVal;
+ }
+
+ private static String[] emptyList = new String[0];
+
+ public static String[] getHostList() {
+ String[] retVal = emptyList;
+ String hostListString = getHostListString();
+ if(hostListString != null) {
+ retVal = stringToArray(hostListString);
+ }
+ return retVal;
+ }
+
+ public static String[] stringToArray(String input) {
+ String[] output = null;
+ if(input == null) {
+ output = new String[0];
+ }
+ else {
+ output = input.split("\\s+");
+ }
+ return output;
+ }
+}
Propchange: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbQuery.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbQuery.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbQuery.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/db/DbQuery.java Mon Apr 30 19:21:21 2018
@@ -27,7 +27,6 @@ import org.apache.uima.ducc.common.main.
import org.apache.uima.ducc.common.persistence.rm.IRmPersistence;
import org.apache.uima.ducc.common.persistence.rm.RmPersistenceFactory;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
public class DbQuery {
@@ -55,14 +54,7 @@ public class DbQuery {
private DbQuery() {
createLogger(this);
- DuccPropertiesResolver dpr = DuccPropertiesResolver.getInstance();
- String value;
- value = dpr.getProperty(DuccPropertiesResolver.ducc_database_host);
- if(value != null) {
- if(value.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
- enabled = false;
- }
- }
+ enabled = DbHelper.isDbEnabled();
String component = (String) MDC.get("COMPONENT");
persistence = RmPersistenceFactory.getInstance(this.getClass().getName(),component);
}
Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesHelper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesHelper.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesHelper.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesHelper.java Mon Apr 30 19:21:21 2018
@@ -42,4 +42,15 @@ public class DuccPropertiesHelper {
return retVal;
}
+ public static boolean isDatabaseAutomanaged() {
+ boolean retVal = true;
+ String key = DuccPropertiesResolver.ducc_database_automanage;
+ String value = DuccPropertiesResolver.get(key,defaultDuccHead);
+ if(value != null) {
+ Boolean bool = new Boolean(value);
+ retVal = bool.booleanValue();
+ }
+ return retVal;
+ }
+
}
Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java Mon Apr 30 19:21:21 2018
@@ -108,7 +108,8 @@ public class DuccPropertiesResolver {
public static final String ducc_broker_jmx_port = "ducc.broker.jmx.port";
public static final String ducc_jms_provider = "ducc.jms.provider";
- public static final String ducc_database_host = "ducc.database.host";
+ public static final String ducc_database_automanage = "ducc.database.automanage";
+ public static final String ducc_database_host_list = "ducc.database.host.list";
public static final String ducc_database_disabled = "--disabled--";
public static final String ducc_database_jmx_host = "ducc.database.jmx.host";
public static final String ducc_database_jmx_port = "ducc.database.jmx.port";
Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/InetHelper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/InetHelper.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/InetHelper.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/InetHelper.java Mon Apr 30 19:21:21 2018
@@ -19,6 +19,8 @@
package org.apache.uima.ducc.common.utils;
import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.id.DuccId;
@@ -62,5 +64,35 @@ public class InetHelper {
public static String getHostName() {
return getShortHostName();
}
+
+ /*
+ * get list of corresponding IPs for given list of host names
+ */
+ public static String[] getIP(String[] hostList) {
+ List<String> ipList = new ArrayList<String>();
+ try {
+ if(hostList != null) {
+ for(String hostName : hostList) {
+ InetAddress inetAddress = InetAddress.getByName(hostName);
+ StringBuffer sb = new StringBuffer();
+ byte[] byteAddress = inetAddress.getAddress();
+ if(byteAddress != null) {
+ for(int i=0; i<byteAddress.length; i++) {
+ if(i > 0) {
+ sb.append(".");
+ }
+ sb.append(byteAddress[i] & 0xFF);
+ }
+ ipList.add(sb.toString());
+ }
+ }
+ }
+ }
+ catch(Exception e) {
+ // Oh well...
+ }
+ return ipList.toArray(new String[0]);
+ }
+
}
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbAlive.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbAlive.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbAlive.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbAlive.java Mon Apr 30 19:21:21 2018
@@ -32,7 +32,7 @@ import com.datastax.driver.core.exceptio
public class DbAlive
{
- String dburl;
+ String db_host_list;
String adminid = null;
String adminpw = null;
@@ -65,9 +65,9 @@ public class DbAlive
private Cluster cluster;
//private Session session;
- public DbAlive(String dburl, String adminid, String adminpw)
+ public DbAlive(String db_host_list, String adminid, String adminpw)
{
- this.dburl = dburl;
+ this.db_host_list = db_host_list;
this.adminid = adminid;
this.adminpw = adminpw;
}
@@ -80,7 +80,7 @@ public class DbAlive
PlainTextAuthProvider auth = new PlainTextAuthProvider(adminid, adminpw);
cluster = Cluster.builder()
.withAuthProvider(auth)
- .addContactPoint(dburl)
+ .addContactPoints(db_host_list.split("\\s+"))
.build();
Metadata metadata = cluster.getMetadata();
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java Mon Apr 30 19:21:21 2018
@@ -19,7 +19,10 @@
package org.apache.uima.ducc.database;
+import java.net.InetSocketAddress;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.UUID;
import org.apache.uima.ducc.common.utils.DuccLogger;
@@ -42,7 +45,7 @@ public class DbCreate
int RETRY = 10;
DuccLogger logger = null;
- String dburl;
+ String db_host_list;
String adminid = null;
String adminpw = null;
boolean useNewPw = false;
@@ -51,17 +54,17 @@ public class DbCreate
private Session session = null;
- DbCreate(String dburl, DuccLogger logger, String adminid, String adminpw)
+ DbCreate(String db_host_list, DuccLogger logger, String adminid, String adminpw)
{
- this.dburl = dburl;
+ this.db_host_list = db_host_list;
this.logger = logger;
this.adminid = adminid;
this.adminpw = adminpw;
}
- DbCreate(String dburl, String adminid, String adminpw)
+ DbCreate(String db_host_list, String adminid, String adminpw)
{
- this.dburl = dburl;
+ this.db_host_list = db_host_list;
this.adminid = adminid;
this.adminpw = adminpw;
}
@@ -73,6 +76,21 @@ public class DbCreate
cluster = null;
}
+ private void recommendation() {
+ doLog("Check cassandra.yaml for the following entries:");
+ doLog("> authenticator: PasswordAuthenticator");
+ doLog("> authorizer: org.apache.cassandra.auth.CassandraAuthorizer");
+ }
+
+ private void show(NoHostAvailableException e) {
+ e.printStackTrace();
+ Map<InetSocketAddress, Throwable> map = e.getErrors();
+ for(Entry<InetSocketAddress, Throwable> entry : map.entrySet()) {
+ Throwable t = entry.getValue();
+ t.printStackTrace();
+ }
+ }
+
boolean connect()
throws Exception
{
@@ -84,7 +102,7 @@ public class DbCreate
}
// If we're here, we must first of all get rid of the cassandra su and set up our own
-
+ doLog("database location(s): "+db_host_list);
for ( int i = 0; i < RETRY; i++ ) {
try {
@@ -92,7 +110,7 @@ public class DbCreate
AuthProvider auth = new PlainTextAuthProvider("cassandra", "cassandra");
cluster = Cluster.builder()
.withAuthProvider(auth)
- .addContactPoint(dburl)
+ .addContactPoints(db_host_list.split("\\s+"))
.build();
session = cluster.connect();
@@ -103,7 +121,7 @@ public class DbCreate
auth = new PlainTextAuthProvider(adminid, adminpw);
cluster = Cluster.builder()
.withAuthProvider(auth)
- .addContactPoint(dburl)
+ .addContactPoints(db_host_list.split("\\s+"))
.build();
session = cluster.connect();
@@ -114,6 +132,7 @@ public class DbCreate
break;
} catch ( NoHostAvailableException e ) {
doLog("Waiting for database to boot ...");
+ show(e);
session = null;
cluster = null;
} catch ( AuthenticationException e ) {
@@ -124,7 +143,7 @@ public class DbCreate
AuthProvider auth = new PlainTextAuthProvider(adminid, adminpw);
cluster = Cluster.builder()
.withAuthProvider(auth)
- .addContactPoint(dburl)
+ .addContactPoints(db_host_list.split("\\s+"))
.build();
session = cluster.connect();
// if this works we assume the DB user base is ok and continue
@@ -137,6 +156,7 @@ public class DbCreate
cluster = null;
} catch ( Exception e ) {
doLog("Unknown problem contacting database.");
+ recommendation();
session = null;
cluster = null;
e.printStackTrace();
@@ -147,6 +167,7 @@ public class DbCreate
if ( cluster == null ) {
doLog(methodName, "Excessive retries. Database may not be initialized.");
+ recommendation();
return false;
}
Metadata metadata = cluster.getMetadata();
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbDuccWorks.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbDuccWorks.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbDuccWorks.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbDuccWorks.java Mon Apr 30 19:21:21 2018
@@ -21,11 +21,11 @@ package org.apache.uima.ducc.database;
import java.util.ArrayList;
import java.util.List;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.persistence.or.IDbDuccWorks;
import org.apache.uima.ducc.common.persistence.or.ITypedProperties;
import org.apache.uima.ducc.common.persistence.or.TypedProperties;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
import com.datastax.driver.core.ResultSet;
@@ -57,13 +57,9 @@ public class DbDuccWorks implements IDbD
}
private String messageDbDisabled = "db disabled";
- private String dbHost = DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_database_host, "?");
private boolean isDbDisabled() {
- boolean retVal = false;
- if(dbHost.equals(DuccPropertiesResolver.ducc_database_disabled)) {
- retVal = true;
- }
+ boolean retVal = DbHelper.isDbDisabled();
return retVal;
}
@@ -149,8 +145,7 @@ public class DbDuccWorks implements IDbD
logger.debug(location, jobid, messageDbDisabled);
return;
}
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
init(dbUrls);
}
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbLoader.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbLoader.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbLoader.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbLoader.java Mon Apr 30 19:21:21 2018
@@ -34,6 +34,7 @@ import java.util.concurrent.LinkedBlocki
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.uima.ducc.common.Pair;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.persistence.services.IStateServices;
import org.apache.uima.ducc.common.persistence.services.IStateServices.SvcMetaProps;
import org.apache.uima.ducc.common.persistence.services.IStateServices.SvcRegProps;
@@ -140,8 +141,6 @@ public class DbLoader
serviceRegistryHistory = from + serviceRegistryHistory;
serviceRegistry = from + serviceRegistry;
checkpointFile = from + checkpointFile;
-
- System.setProperty(DbManager.URL_PROPERTY, state_url);
this.nthreads = nthreads;
}
@@ -566,7 +565,7 @@ public class DbLoader
long now = System.currentTimeMillis();
boolean run_test = false;
- String[] dbUrls = DbUtil.dbServersStringToArray(state_url);
+ String[] dbUrls = DbHelper.getHostList();
if ( run_test ) {
try {
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java Mon Apr 30 19:21:21 2018
@@ -43,7 +43,6 @@ import com.datastax.driver.core.policies
*/
public class DbManager
{
- static final String URL_PROPERTY = "ducc.database.host";
private static String db_id = null;
private static String db_pw = null;
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbOrchestratorProperties.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbOrchestratorProperties.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbOrchestratorProperties.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbOrchestratorProperties.java Mon Apr 30 19:21:21 2018
@@ -21,6 +21,7 @@ package org.apache.uima.ducc.database;
import java.util.ArrayList;
import java.util.List;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.id.DuccId;
@@ -123,8 +124,7 @@ public class DbOrchestratorProperties im
@Override
public void init(DuccLogger duccLogger) throws Exception {
this.logger = duccLogger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
init(dbUrls);
}
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbUtil.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbUtil.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbUtil.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbUtil.java Mon Apr 30 19:21:21 2018
@@ -320,26 +320,4 @@ class DbUtil
throw new IllegalArgumentException("Unrecognized type for schema: " + t);
}
- static private String[] stringToArray(String input) {
- String[] output = null;
- if(input == null) {
- output = new String[0];
- }
- else {
- output = input.split("\\s+");
- }
- return output;
- }
-
- // temporary limit??
- static private int max_db_servers = 1;
-
- static String[] dbServersStringToArray(String input) throws Exception {
- String[] output = stringToArray(input);
- if(output.length > max_db_servers) {
- throw new Exception();
- }
- return output;
- }
-
}
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java Mon Apr 30 19:21:21 2018
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.uima.ducc.common.Pair;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.node.metrics.ProcessGarbageCollectionStats;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.id.DuccId;
@@ -144,12 +145,17 @@ public class HistoryManagerDb
return ret;
}
+ public boolean init(DuccLogger logger, String host) throws Exception {
+ this.logger = logger;
+ String[] dbUrls = { host };
+ return init(dbUrls, null);
+ }
+
public boolean init(DuccLogger logger)
throws Exception
{
this.logger = logger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
return init(dbUrls, null);
}
@@ -158,8 +164,7 @@ public class HistoryManagerDb
throws Exception
{
this.logger = logger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
return init(dbUrls, dbManager);
}
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmNodeState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmNodeState.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmNodeState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmNodeState.java Mon Apr 30 19:21:21 2018
@@ -104,7 +104,6 @@ public class RmNodeState
System.out.println("Usage: RmNodeState <dburl>");
System.exit(1);
}
- System.setProperty(DbManager.URL_PROPERTY, args[0]);
RmNodeState rns = new RmNodeState(args[0]);
try {
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmQLoad.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmQLoad.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmQLoad.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmQLoad.java Mon Apr 30 19:21:21 2018
@@ -106,7 +106,6 @@ public class RmQLoad
System.out.println("Usage: RmQLoad <dburl>");
System.exit(1);
}
- System.setProperty(DbManager.URL_PROPERTY, args[0]);
RmQLoad rns = new RmQLoad(args[0]);
try {
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmShareState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmShareState.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmShareState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmShareState.java Mon Apr 30 19:21:21 2018
@@ -105,8 +105,7 @@ public class RmShareState
System.out.println("Usage: RmShareState <dburl>");
System.exit(1);
}
- System.setProperty(DbManager.URL_PROPERTY, args[0]);
-
+
RmShareState rns = new RmShareState(args[0]);
try {
rns.run();
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmStatePersistence.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmStatePersistence.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmStatePersistence.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/RmStatePersistence.java Mon Apr 30 19:21:21 2018
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.persistence.rm.IDbJob;
import org.apache.uima.ducc.common.persistence.rm.IDbShare;
import org.apache.uima.ducc.common.persistence.rm.IRmPersistence;
@@ -98,8 +99,7 @@ public class RmStatePersistence
throws Exception
{
this.logger = logger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
init(dbUrls);
DbHandle h = dbManager.open();
Modified: uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/StateServicesDb.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/StateServicesDb.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/StateServicesDb.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/StateServicesDb.java Mon Apr 30 19:21:21 2018
@@ -25,6 +25,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.UUID;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.persistence.IDbProperty;
import org.apache.uima.ducc.common.persistence.services.IStateServices;
import org.apache.uima.ducc.common.persistence.services.StateServicesDirectory;
@@ -97,8 +98,7 @@ public class StateServicesDb
throws Exception
{
this.logger = logger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
return init(dbUrls, null);
}
@@ -107,8 +107,7 @@ public class StateServicesDb
throws Exception
{
this.logger = logger;
- String dbUrlsString = System.getProperty(DbManager.URL_PROPERTY);
- String[] dbUrls = DbUtil.dbServersStringToArray(dbUrlsString);
+ String[] dbUrls = DbHelper.getHostList();
return init(dbUrls, dbManager);
}
Modified: uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/reliable.tex
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/reliable.tex?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/reliable.tex (original)
+++ uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/reliable.tex Mon Apr 30 19:21:21 2018
@@ -163,16 +163,6 @@
ducc.database.jmx.host = dbhost123
ducc.database.automanage = false
\end{verbatim}
-
- Two new convenience commands are available for DUCC administrators.
- When issued by the DUCC administrator, these commands will start and stop the database
- on the database host machine regardless of the value specified for
- {\em ducc.database.automanage} in {\em site.ducc.properties}.
-
- \begin{verbatim}
- admin/db\_start
- afmin/db\_stop
- \end{verbatim}
The existing administrator commands {\em start\_ducc} and {\em stop\_ducc} will
honor the value specified for {\em ducc.database.automanage} in {\em site.ducc.properties}.
Modified: uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/reliable-ducc.tex
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/reliable-ducc.tex?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/reliable-ducc.tex (original)
+++ uima/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/reliable-ducc.tex Mon Apr 30 19:21:21 2018
@@ -193,16 +193,6 @@ This first major section describes suppo
ducc.database.jmx.host = dbhost123
ducc.database.automanage = false
\end{verbatim}
-
- Two new convenience commands are available for DUCC administrators.
- When issued by the DUCC administrator, these commands will start and stop the database
- on the database host machine regardless of the value specified for
- {\em ducc.database.automanage} in {\em site.ducc.properties}.
-
- \begin{verbatim}
- admin/db\_start
- afmin/db\_stop
- \end{verbatim}
The existing administrator commands {\em start\_ducc} and {\em stop\_ducc} will
honor the value specified for {\em ducc.database.automanage} in {\em site.ducc.properties}.
@@ -240,9 +230,7 @@ publication.
\item \textbf{ducc\_post\_install} - no need to create webserver request log directory
\item \textbf{ducc\_util.py} - incorporate host name into cassandra.pid, cassandra.console path; broker host must be local host; head node must be eligible with respect to keepalived.conf; head node local components are all daemons except Database and Agents; fix remote db stop; honor ducc.database.automanage flag in site.ducc.properties
\item \textbf{ducc.py} - incorporate host name into cassandra.pid, cassandra.console path
- \item \textbf{start\_ducc.py} - head node local components must start on eligible local host
- \item \textbf{db\_start} - (new) start DUCC database
- \item \textbf{db\_stop} - (new) stop DUCC database
+ \item \textbf{start\_ducc.py} - head node local components must on eligible local host
\item \textbf{start\_sim} - (example) honor database autostart flag in ducc.properties
item \textbf{stop\_sim} - (example) honor database autostart flag in ducc.properties
\end{itemize}
Modified: uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorState.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorState.java Mon Apr 30 19:21:21 2018
@@ -18,8 +18,8 @@
*/
package org.apache.uima.ducc.orchestrator.state;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
@@ -43,13 +43,9 @@ public class OrchestratorState {
}
private static String messageDbDisabled = "db disabled";
- private static String dbHost = DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_database_host, "?");
private static boolean isDbDisabled() {
- boolean retVal = false;
- if(dbHost.equals(DuccPropertiesResolver.ducc_database_disabled)) {
- retVal = true;
- }
+ boolean retVal = DbHelper.isDbDisabled();
return retVal;
}
Modified: uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorStateDbConversion.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorStateDbConversion.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorStateDbConversion.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/state/OrchestratorStateDbConversion.java Mon Apr 30 19:21:21 2018
@@ -25,8 +25,8 @@ import java.io.FileReader;
import java.lang.reflect.Type;
import java.util.Properties;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.orchestrator.OrchestratorCommonArea;
@@ -86,15 +86,10 @@ public class OrchestratorStateDbConversi
logger.error(location, jobid, e);
}
}
-
- private static String dbHost = DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_database_host, "?");
-
+
private static boolean isDbDisabled() {
String location = "isDbDisabled";
- boolean retVal = false;
- if(dbHost.equals(DuccPropertiesResolver.ducc_database_disabled)) {
- retVal = true;
- }
+ boolean retVal = DbHelper.isDbDisabled();
logger.info(location, jobid, retVal);
return retVal;
}
Modified: uima/uima-ducc/trunk/uima-ducc-orchestrator/src/test/java/org/apache/uima/ducc/orchestrator/jd/scheduler/test/TestSuite.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/test/java/org/apache/uima/ducc/orchestrator/jd/scheduler/test/TestSuite.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-orchestrator/src/test/java/org/apache/uima/ducc/orchestrator/jd/scheduler/test/TestSuite.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-orchestrator/src/test/java/org/apache/uima/ducc/orchestrator/jd/scheduler/test/TestSuite.java Mon Apr 30 19:21:21 2018
@@ -175,7 +175,7 @@ public class TestSuite {
}
}
- @Test
+ //Test
public void testJdSchedulerStatic() {
try {
IDuccHead dh = DuccHead.getInstance();
@@ -233,7 +233,7 @@ public class TestSuite {
}
}
- @Test
+ //Test
public void testJdSchedulerDynamic() {
try {
DuccId jobId = new DuccId(999);
Modified: uima/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java Mon Apr 30 19:21:21 2018
@@ -37,6 +37,7 @@ import org.apache.uima.ducc.common.admin
import org.apache.uima.ducc.common.admin.event.RmQueriedMachine;
import org.apache.uima.ducc.common.admin.event.RmQueriedNodepool;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
@@ -238,7 +239,7 @@ public class Scheduler
logger.info(methodName, null, " class definition file : ", class_definitions);
logger.info(methodName, null, " default domain : ", defaultDomain); // UIMA-4142
logger.info(methodName, null, " eviction policy : ", evictionPolicy);
- logger.info(methodName, null, " database enabled : ", !System.getProperty("ducc.database.host").equals("--disabled--"));
+ logger.info(methodName, null, " database enabled : ", DbHelper.isDbEnabled());
logger.info(methodName, null, " database implementation : ", System.getProperty("ducc.rm.persistence.impl"));
logger.info(methodName, null, " use prediction : ", SystemPropertyResolver.getBooleanProperty("ducc.rm.prediction", true));
logger.info(methodName, null, " prediction fudge factor : ", SystemPropertyResolver.getIntProperty("ducc.rm.prediction.fudge", 10000));
Modified: uima/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java Mon Apr 30 19:21:21 2018
@@ -35,6 +35,7 @@ import org.apache.uima.ducc.common.boot.
import org.apache.uima.ducc.common.boot.DuccDaemonRuntimeProperties.DaemonName;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
import org.apache.uima.ducc.common.crypto.Crypto;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.head.IDuccHead;
import org.apache.uima.ducc.common.head.IDuccHead.DuccHeadTransition;
import org.apache.uima.ducc.common.main.DuccService;
@@ -336,7 +337,7 @@ public class ServiceManagerComponent
logger.info(methodName, null, " Service ping stability : ", meta_ping_stability);
logger.info(methodName, null, " Default ping class : ", default_ping_class);
logger.info(methodName, null, "");
- logger.info(methodName, null, " database enabled : ", !System.getProperty("ducc.database.host").equals("--disabled--"));
+ logger.info(methodName, null, " database enabled : ", DbHelper.isDbEnabled());
logger.info(methodName, null, " database implementation : ", System.getProperty("ducc.service.persistence.impl"));
logger.info(methodName, null, "");
logger.info(methodName, null, " Init Failure Max : ", init_failure_max);
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/db/DbQuery.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/db/DbQuery.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/db/DbQuery.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/db/DbQuery.java Mon Apr 30 19:21:21 2018
@@ -23,10 +23,10 @@ import java.util.Map;
import java.util.Map.Entry;
import org.apache.uima.ducc.common.Pair;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.persistence.rm.IRmPersistence;
import org.apache.uima.ducc.common.persistence.rm.RmPersistenceFactory;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.IDuccLoggerComponents;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
@@ -61,14 +61,7 @@ public class DbQuery {
}
private DbQuery() {
- DuccPropertiesResolver dpr = DuccPropertiesResolver.getInstance();
- String value;
- value = dpr.getProperty(DuccPropertiesResolver.ducc_database_host);
- if(value != null) {
- if(value.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
- enabled = false;
- }
- }
+ enabled = DbHelper.isDbEnabled();
persistence = RmPersistenceFactory.getInstance(this.getClass().getName(),component);
history = HistoryFactory.getInstance(this.getClass().getName());
}
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java Mon Apr 30 19:21:21 2018
@@ -21,8 +21,8 @@ package org.apache.uima.ducc.ws.helper;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
+import org.apache.uima.ducc.common.db.DbHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.ws.db.DbQuery;
@@ -38,7 +38,7 @@ public class DatabaseHelper extends JmxH
}
protected boolean enabled = false;
- protected String host = null;
+ protected String[] host_list = null;
private DatabaseHelper() {
init();
@@ -47,34 +47,13 @@ public class DatabaseHelper extends JmxH
private void init() {
String location = "init";
try {
- DuccPropertiesResolver dpr = DuccPropertiesResolver.getInstance();
- host = dpr.getProperty(DuccPropertiesResolver.ducc_database_host);
- if(host != null) {
- setHost(host);
- if(!host.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
- enabled = true;
- }
- }
+ host_list = DbHelper.getHostList();
+ enabled = DbHelper.isDbEnabled();
if(enabled) {
- String jmxHost = dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_host);
- if(jmxHost != null) {
- try {
- setJmxHost(jmxHost);
- }
- catch(Exception e) {
- logger.error(location, jobid, e);
- }
- }
- setJmxPort(7199); // default
- String jmxPort = dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_port);
- if(jmxPort != null) {
- try {
- setJmxPort(Integer.parseInt(jmxPort));
- }
- catch(Exception e) {
- logger.error(location, jobid, e);
- }
- }
+ String jmx_host = DbHelper.getJxmHostString();
+ setJmxHost(jmx_host);
+ Integer jmx_port = DbHelper.getJxmPortInteger();
+ setJmxPort(jmx_port);
jmxConnect();
}
}
@@ -83,6 +62,16 @@ public class DatabaseHelper extends JmxH
}
}
+ public String getHostListString() {
+ StringBuffer sb = new StringBuffer();
+ for(String host : host_list) {
+ sb.append(host);
+ sb.append(" ");
+ }
+ String retVal = sb.toString().trim();
+ return retVal;
+ }
+
public boolean isEnabled() {
return enabled;
}
@@ -91,14 +80,6 @@ public class DatabaseHelper extends JmxH
return !enabled;
}
- private void setHost(String value) {
- host = value;
- }
-
- public String getHost() {
- return host;
- }
-
// Runtime Info //
public boolean isAlive() {
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java Mon Apr 30 19:21:21 2018
@@ -924,6 +924,31 @@ public abstract class DuccAbstractHandle
return sb.toString();
}
+ public String tableize(String stringList) {
+ String retVal = stringList;
+ if(retVal != null) {
+ String[] list = stringList.split("\\s+");
+ retVal = tableize(list);
+ }
+ return retVal;
+ }
+
+ public String tableize(String[] list) {
+ StringBuffer sb = new StringBuffer();
+ if(list != null) {
+ sb.append("<table>");
+ for(String item : list) {
+ sb.append("<tr>");
+ sb.append("<td>");
+ sb.append(item);
+ sb.append("</td>");
+ sb.append("</tr>");
+ }
+ sb.append("</table>");
+ }
+ return sb.toString();
+ }
+
protected String getMonitor(DuccId duccId, MonitorType monitorType) {
return getMonitor(duccId, monitorType, false);
}
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java Mon Apr 30 19:21:21 2018
@@ -48,8 +48,10 @@ import org.apache.uima.ducc.common.inter
import org.apache.uima.ducc.common.utils.ComponentHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
+import org.apache.uima.ducc.common.utils.DuccPropertiesHelper;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.InetHelper;
import org.apache.uima.ducc.common.utils.TimeStamp;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.orchestrator.jd.scheduler.JdReservation;
@@ -1487,10 +1489,31 @@ public class DuccHandlerClassic extends
else {
status = DuccHandlerUtils.down();
}
- bootTime = getTimeStamp(DuccCookies.getDateStyle(request),databaseHelper.getStartTime());
- hostName = useWS(wsHostName, databaseHelper.getHost());
- hostIP = useWS(wsHostName, hostName, wsHostIP);
- pid = ""+databaseHelper.getPID();
+ if(DuccPropertiesHelper.isDatabaseAutomanaged()) {
+ bootTime = getTimeStamp(DuccCookies.getDateStyle(request),databaseHelper.getStartTime());
+ hostName = useWS(wsHostName, databaseHelper.getHostListString());
+ hostIP = useWS(wsHostName, hostName, wsHostIP);
+ pid = ""+databaseHelper.getPID();
+ }
+ else {
+ bootTime = "-";
+ hostName = useWS(wsHostName, databaseHelper.getHostListString());
+ String[] hostList = hostName.split("\\s+");
+ String[] ipList = InetHelper.getIP(hostList);
+ StringBuffer sbuf = new StringBuffer();
+ if(ipList != null) {
+ for(String ip : ipList) {
+ sbuf.append(ip);
+ sbuf.append(" ");
+ }
+ }
+ hostIP = sbuf.toString();
+ pid = "-";
+ }
+ //
+ hostName = tableize(hostName);
+ hostIP = tableize(hostIP);
+ //
pubSizeLast = "-";
pubSizeMax = "-";
heartbeatLast = "";
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1830625&r1=1830624&r2=1830625&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java Mon Apr 30 19:21:21 2018
@@ -48,8 +48,10 @@ import org.apache.uima.ducc.common.inter
import org.apache.uima.ducc.common.utils.ComponentHelper;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
+import org.apache.uima.ducc.common.utils.DuccPropertiesHelper;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
+import org.apache.uima.ducc.common.utils.InetHelper;
import org.apache.uima.ducc.common.utils.TimeStamp;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.orchestrator.jd.scheduler.JdReservation;
@@ -2306,10 +2308,31 @@ public class DuccHandlerJsonFormat exten
else {
status = DuccHandlerUtils.down();
}
- bootTime = getTimeStamp(DuccCookies.getDateStyle(request),databaseHelper.getStartTime());
- hostName = useWS(wsHostName, databaseHelper.getHost());
- hostIP = useWS(wsHostName, hostName, wsHostIP);
- pid = ""+databaseHelper.getPID();
+ if(DuccPropertiesHelper.isDatabaseAutomanaged()) {
+ bootTime = getTimeStamp(DuccCookies.getDateStyle(request),databaseHelper.getStartTime());
+ hostName = useWS(wsHostName, databaseHelper.getHostListString());
+ hostIP = useWS(wsHostName, hostName, wsHostIP);
+ pid = ""+databaseHelper.getPID();
+ }
+ else {
+ bootTime = "-";
+ hostName = useWS(wsHostName, databaseHelper.getHostListString());
+ String[] hostList = hostName.split("\\s+");
+ String[] ipList = InetHelper.getIP(hostList);
+ StringBuffer sbuf = new StringBuffer();
+ if(ipList != null) {
+ for(String ip : ipList) {
+ sbuf.append(ip);
+ sbuf.append(" ");
+ }
+ }
+ hostIP = sbuf.toString();
+ pid = "-";
+ }
+ //
+ hostName = tableize(hostName);
+ hostIP = tableize(hostIP);
+ //
pubSizeLast = "-";
pubSizeMax = "-";
heartbeatLast = "";