You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2015/11/01 15:09:47 UTC
svn commit: r1711768 [2/2] - in /uima/sandbox/uima-ducc/trunk: ./
src/main/admin/ src/main/assembly/ src/main/resources/
uima-ducc-database/src/main/java/org/apache/uima/ducc/database/
uima-ducc-examples/src/main/scripts/ uima-ducc-parent/
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbCreate.java Sun Nov 1 14:09:47 2015
@@ -19,36 +19,43 @@
package org.apache.uima.ducc.database;
+import java.io.FileOutputStream;
import java.util.List;
+import java.util.Properties;
+import java.util.UUID;
import org.apache.uima.ducc.common.utils.DuccLogger;
+import com.datastax.driver.core.AuthProvider;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
+import com.datastax.driver.core.PlainTextAuthProvider;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.SimpleStatement;
+import com.datastax.driver.core.exceptions.AuthenticationException;
public class DbCreate
{
+ static final String DUCC_KEYSPACE = "ducc";
+ static final String PASSWORD_KEY = "db_password";
+ static final String PASSWORD_FILE = "database.password";
+
DuccLogger logger = null;
String dburl;
- String adminid = "root";
+ String adminid = null;
String adminpw = null;
private Cluster cluster;
private Session session;
- public DbCreate(String dburl)
- {
- this.dburl = dburl;
- }
-
- public DbCreate(String dburl, DuccLogger logger)
+ public DbCreate(String dburl, DuccLogger logger, String adminid, String adminpw)
{
this.dburl = dburl;
this.logger = logger;
+ this.adminid = adminid;
+ this.adminpw = adminpw;
}
public DbCreate(String dburl, String adminid, String adminpw)
@@ -59,11 +66,55 @@ public class DbCreate
}
public void connect()
+ throws Exception
{
String methodName = "connect";
- cluster = Cluster.builder()
- .addContactPoint(dburl)
- .build();
+
+ String dh = System.getProperty("DUCC_HOME");
+ if ( dh == null ) {
+ throw new IllegalArgumentException("DUCC_HOME must be set as a system property: -DDUCC_HOME=whatever");
+ }
+
+ try {
+ // If we're here, we must first of all get rid of the cassandra su and set up our own
+
+ AuthProvider auth = new PlainTextAuthProvider("cassandra", "cassandra");
+ cluster = Cluster.builder()
+ .withAuthProvider(auth)
+ .addContactPoint(dburl)
+ .build();
+
+ session = cluster.connect();
+ session.execute("CREATE USER IF NOT EXISTS " + adminid + " with password '" + adminpw + "' SUPERUSER");
+ cluster.close();
+ doLog(methodName, "Created user " + adminid);
+
+ Properties props = new Properties();
+ props.setProperty(PASSWORD_KEY, adminpw);
+ FileOutputStream fos = new FileOutputStream(dh + "/resources.private/" + PASSWORD_FILE);
+ props.store(fos, "Db private configuration");
+ fos.close();
+
+ auth = new PlainTextAuthProvider(adminid, adminpw);
+ cluster = Cluster.builder()
+ .withAuthProvider(auth)
+ .addContactPoint(dburl)
+ .build();
+ session = cluster.connect();
+
+ String uglypw = UUID.randomUUID().toString();
+ session.execute("ALTER USER cassandra with password '" + uglypw + "' NOSUPERUSER");
+ doLog(methodName, "Changed default super user's password and revoked its superuser authority.");
+ doLog(methodName, "From this point, this DB can only be accessed in super user mode by user 'ducc'");
+
+ } catch (AuthenticationException e ) {
+ // if we get here the default super user isn't working and we expect a valid id and password
+ AuthProvider auth = new PlainTextAuthProvider(adminid, adminpw);
+ cluster = Cluster.builder()
+ .withAuthProvider(auth)
+ .addContactPoint(dburl)
+ .build();
+ }
Metadata metadata = cluster.getMetadata();
doLog(methodName, "Connected to cluster: %s\n", metadata.getClusterName());
@@ -186,14 +237,14 @@ public class DbCreate
public static void main(String[] args)
{
- if ( args.length != 1 ) {
- System.out.println("Usage: DbCreate <database url>");
+ if ( args.length != 3 ) {
+ System.out.println("Usage: DbCreate database_url db_id db_pw");
System.exit(1);
}
DbCreate client = null;
try {
- client = new DbCreate(args[0]);
+ client = new DbCreate(args[0], args[1], args[2]);
client.connect();
client.createSchema();
} catch ( Throwable e ) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/DbManager.java Sun Nov 1 14:09:47 2015
@@ -28,6 +28,7 @@ import com.datastax.driver.core.BoundSta
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
+import com.datastax.driver.core.PlainTextAuthProvider;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;
@@ -85,7 +86,11 @@ public class DbManager
if ( cluster != null ) return; // already initialized
+ String pw = dbPassword();
+ PlainTextAuthProvider auth = new PlainTextAuthProvider("ducc", pw);
+
cluster = Cluster.builder()
+ .withAuthProvider(auth)
.addContactPoint(dburl)
.build();
@@ -154,11 +159,11 @@ public class DbManager
{
// logger.info(methodName, null, "Opening service database at: " + dburl);
Properties props = new Properties();
- FileInputStream fis = new FileInputStream(System.getProperty("DUCC_HOME") + "/resources.private/db_password");
+ FileInputStream fis = new FileInputStream(System.getProperty("DUCC_HOME") + "/resources.private/" + DbCreate.PASSWORD_FILE);
props.load(fis);
fis.close();
- String pw = props.getProperty("db_password");
+ String pw = props.getProperty(DbCreate.PASSWORD_KEY);
if ( pw == null ) {
throw new IllegalStateException("Cannot acquire the database password.");
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java Sun Nov 1 14:09:47 2015
@@ -427,7 +427,6 @@ public class HistoryManagerDb
ByteArrayInputStream bais = new ByteArrayInputStream(workbytes);
ObjectInputStream ois = new ObjectInputStream(bais);
DuccWorkMap work = (DuccWorkMap) ois.readObject();
- Map<DuccId, IDuccWork> map = work.getMap();
ois.close();
workbytes = bbmap.array();
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/start_sim
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/start_sim?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/start_sim (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/start_sim Sun Nov 1 14:09:47 2015
@@ -388,10 +388,15 @@ class StartSim(DuccUtil):
self.start_broker()
print '-------- start database'
- if ( components.get('db') != None ):
- if ( self.db_start() ):
- self.db_init()
+ if ( components.get('db') != None ):
+ try:
+ self.db_start()
+ except Exception (e):
+ # print e
+ print sys.exc_info()[0], "Can't start the database."
+ sys.exit(1)
+
print '-------- specials_only', specials_only
if ( specials_only ):
return
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/stop_sim
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/stop_sim?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/stop_sim (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/scripts/stop_sim Sun Nov 1 14:09:47 2015
@@ -37,36 +37,6 @@ from ducc_util import ThreadPool
class StopSim(DuccUtil):
- def stop_db(self):
-
- # disable until we're ready to turn this on
- if ( self.db_parms == self.db_disabled ):
- return True
-
- (jvm_parms, classpath, db_rt, dburl, dbroot) = self.db_parms()
-
- print 'Stopping database'
-
- main = 'com.orientechnologies.orient.server.OServerShutdownMain'
-
- jp = ''
- for k in jvm_parms.keys():
- v = jvm_parms[k]
- if ( v == None ):
- jp = jp + k + ' '
- else:
- jp = jp + k + '=' + v + ' '
-
-
- cmd = ' '.join([self.java(), jp, '-cp', classpath, main])
- print cmd
-
- here = os.getcwd()
- os.chdir(db_rt)
- self.spawn(cmd)
- os.chdir(here)
-
-
def signal_process(self, args):
inst, data_prop, signal = args
data = data_prop
@@ -206,6 +176,7 @@ class StopSim(DuccUtil):
time.sleep(sleeptime)
if ( stopdatabase ) :
+ print 'Stopping database'
self.db_stop()
if ( stopbroker and self.automanage ):
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-parent/pom.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-parent/pom.xml?rev=1711768&r1=1711767&r2=1711768&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-parent/pom.xml (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-parent/pom.xml Sun Nov 1 14:09:47 2015
@@ -175,6 +175,7 @@
<lz4.version>1.2.0</lz4.version>
<hdr.version>2.1.4</hdr.version>
<!-- end of cassandra client -->
+ <cassandra.server.version>2.1.11</cassandra.server.version>
<http.commons.client.version>4.3.5</http.commons.client.version>
<http.commons.client-cache.version>4.3.5</http.commons.client-cache.version>