From: <dme...@us...> - 2014-05-06 17:57:50
|
Revision: 8208 http://sourceforge.net/p/bigdata/code/8208 Author: dmekonnen Date: 2014-05-06 17:57:47 +0000 (Tue, 06 May 2014) Log Message: ----------- Updates to sync with new jetty.xml and other updates through April. EC2 instance reboots can now be avoided (verification TBD). Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Berksfile branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Vagrantfile branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/attributes/default.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/bin/setHosts.py branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/metadata.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/default/bigdataHA.erb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/jetty.xml.erb branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/etc/init.d/bigdataHA Removed Paths: ------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/init.d/bigdataHA.erb Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Berksfile =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Berksfile 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Berksfile 2014-05-06 17:57:47 UTC (rev 8208) @@ -7,6 +7,6 @@ cookbook 'lvm' cookbook "hadoop" cookbook "emacs" -# cookbook "ganglia" +cookbook "sysstat" metadata Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Vagrantfile =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Vagrantfile 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/Vagrantfile 2014-05-06 17:57:47 UTC (rev 8208) @@ -63,6 +63,7 @@ "recipe[apt]", "recipe[java]", "recipe[emacs]", # default is no x11 + "recipe[sysstat]", # # use this recipe only if the oracle server is timing out in the above 'java' recipe # @@ -135,6 +136,7 @@ "recipe[apt]", "recipe[java]", "recipe[emacs]", # default is no x11 + "recipe[sysstat]", # # use this recipe only if the oracle server is timing out in the above 'java' recipe # @@ -207,6 +209,7 @@ "recipe[apt]", "recipe[java]", "recipe[emacs]", # default is no x11 + "recipe[sysstat]", # # use this recipe only if the oracle server is timing out in the above 'java' recipe # Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/attributes/default.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/attributes/default.rb 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/attributes/default.rb 2014-05-06 17:57:47 UTC (rev 8208) @@ -16,7 +16,7 @@ default['systap-bigdataHA'][:data_dir] = node['systap-bigdataHA'][:fed_dir] + "/data" # Where the log files will live: -default['systap-bigdataHA'][:log_dir] = node['systap-bigdataHA'][:fed_dir] + "/logs" +default['systap-bigdataHA'][:log_dir] = node['systap-bigdataHA'][:fed_dir] + "/log" # Name of the replication cluster to which this HAJournalServer will belong. default['systap-bigdataHA'][:logical_service_id] = 'HA-Replication-Cluster-1' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/bin/setHosts.py =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/bin/setHosts.py 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/bin/setHosts.py 2014-05-06 17:57:47 UTC (rev 8208) @@ -35,8 +35,12 @@ def createZookeeperSubstitution( index, host, ipAddress ): return "sudo sed -i 's|server." + index + "=" + host + "|server." + index + "=" + ipAddress + "|' /etc/zookeeper/conf/zoo.cfg" -def createBigdataHASubstitution( host, ipAddress ): - return "sudo sed -i 's|" + host + "|" + ipAddress + "|' /etc/defaults/bigdataHA" +def createJiniLocatorsSubstitution(): + locators = "" + for host in hostMap: + locators = locators + "jini://" + hostMap[host] + "/," + locators = locators[:-1] + return "sudo sed -i 's|%JINI_LOCATORS%|" + locators + "|' /etc/default/bigdataHA" if __name__ == '__main__': @@ -55,6 +59,9 @@ private_security_group_name = os.environ["AWS_SECURITY_GROUP_PRIVATE"] group = ec2conn.get_all_security_groups( private_security_group_name )[0] + jini_locators = createJiniLocatorsSubstitution() + # print "JINI_LOCATORS = " + jini_locators + i = 1 for host in bigdataHosts: ssh_client = sshclient_from_instance( host, key_path, user_name='ubuntu' ) @@ -70,11 +77,9 @@ status, stdin, stderr = ssh_client.run( createZookeeperSubstitution( "2", bigdataB, hostMap[ bigdataB ] ) ) status, stdin, stderr = ssh_client.run( createZookeeperSubstitution( "3", bigdataC, hostMap[ bigdataC ] ) ) - name = host.__dict__['tags']['Name'] - hostAddress = host.__dict__['private_ip_address'] - # status, stdin, stderr = ssh_client.run( createBigdataHASubstitution( name, hostAddress ) ) + status, stdin, stderr = ssh_client.run( jini_locators ) - hostAddress = hostAddress + "/32" + hostAddress = host.__dict__['private_ip_address'] + "/32" group.authorize( ip_protocol="tcp", from_port="0", to_port="65535", cidr_ip=hostAddress, src_group=None ) i += 1 @@ -88,4 +93,4 @@ print "The hosts are now rebooting, this may take several minutes. \nOnce back up, you may confirm status by visiting:\n" for host in bigdataHosts: - print "\thttp://" + host.__dict__['ip_address'] + ":8080/status\n" + print "\thttp://" + host.__dict__['ip_address'] + ":8080/bigdata/status\n" Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/metadata.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/metadata.rb 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/metadata.rb 2014-05-06 17:57:47 UTC (rev 8208) @@ -13,3 +13,4 @@ depends 'lvm' depends 'hadoop' depends 'emacs' +depends 'sysstat' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/default/bigdataHA.erb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/default/bigdataHA.erb 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/default/bigdataHA.erb 2014-05-06 17:57:47 UTC (rev 8208) @@ -32,7 +32,7 @@ # Apache River - NO default for "LOCATORS". export GROUPS="${FEDNAME}" -export LOCATORS="jini://<%= node['systap-bigdataHA'][:river_locator1] %>/,jini://<%= node['systap-bigdataHA'][:river_locator2] %>/,jini://<%= node['systap-bigdataHA'][:river_locator3] %>/" +export LOCATORS="%JINI_LOCATORS%" # Apache ZooKeeper - NO default. export ZK_SERVERS="<%= node['systap-bigdataHA'][:zk_server1] %>:<%= node['zookeeper'][:zoocfg][:clientPort] %>,<%= node['systap-bigdataHA'][:zk_server2] %>:<%= node['zookeeper'][:zoocfg][:clientPort] %>,<%= node['systap-bigdataHA'][:zk_server3] %>:<%= node['zookeeper'][:zoocfg][:clientPort] %>" Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/init.d/bigdataHA.erb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/init.d/bigdataHA.erb 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/init.d/bigdataHA.erb 2014-05-06 17:57:47 UTC (rev 8208) @@ -1,133 +0,0 @@ -#!/bin/bash - -# init.d style script for bigdata HA services. The script can be used -# to 'start' or 'stop' services. -# -# Environment: -# -# binDir - The directory containing the installed scripts. -# pidFile - The pid is written on this file. -# -# Misc. -# -# See http://tldp.org/LDP/abs/html/index.html -# -# Note: Blank lines are significant in shell scripts. -# -# Note: Children must do "exit 0" to indicate success. -# -# Note: Convert DOS cr-lf to unix style in emacs: C-x RET f then unix - -# Source function library (just used for 'action'). If you don't have this -# it SHOULD automatically use the inline definition for "action()". -if [ -f "/etc/init.d/functions" ]; then - . /etc/init.d/functions -else -# Run some action. Log its output. No fancy colors. First argument is the -# label for the log file. Remaining arguments are the command to execute -# and its arguments, if any. - action() { - local STRING rc - STRING=$1 - echo -n "$STRING " - shift - sudo -u bigdata -g bigdata "$@" && echo -n "[OK]" || echo -n "[FAILED]" - rc=$? - echo - return $rc - } -fi - -# Where the scripts live. -cd `dirname $0` - -## -# Highly Recommended OS Tuning. -## - -# Do not swap out applications while there is free memory. -#/sbin/sysctl -w vm.swappiness=0 - -# Setup the environment. -source /etc/default/bigdataHA - -if [ -z "$binDir" ]; then - echo $"$0 : environment not setup: binDir is undefined." - exit 1; -fi -if [ -z "$pidFile" ]; then - echo $"$0 : environment not setup: pidFile is undefined" - exit 1; -fi - -# -# See how we were called. -# -case "$1" in - start) - - cd <%= node['systap-bigdataHA'][:fed_dir] %> -# -# Start the ServiceStarter and child services if not running. -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then -# The process has died so remove the old pid file. - echo $"`date` : `hostname` : $pid died?" - rm -f "$pidFile" - fi - fi - if [ ! -f "$pidFile" ]; then - action $"`date` : `hostname` : bringing up services: " $binDir/startHAServices - else - echo $"`date` : `hostname` : running as $pid" - fi - ;; - stop) -# -# Stop the ServiceStarter and all child services. -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then -# The process has died so remove the old pid file. - echo $"`date` : `hostname` : $pid died?" - rm -f "$pidFile" - else - action $"`date` : `hostname` : bringing down services: " kill $pid - rm -f "$pidFile" - fi - fi - ;; - status) -# -# Report status for the ServicesManager (up or down). -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then - echo $"`date` : `hostname` : process died? pid=$pid." - else - echo $"`date` : `hostname` : running as $pid." - fi - else - echo $"`date` : `hostname` : not running." - fi - ;; - restart) - $0 stop - $0 start - ;; - *) -# -# Usage -# - echo $"Usage: $0 {start|stop|status|restart}" - exit 1 -esac - -exit 0 Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/jetty.xml.erb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/jetty.xml.erb 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/templates/default/jetty.xml.erb 2014-05-06 17:57:47 UTC (rev 8208) @@ -5,29 +5,119 @@ <Configure id="Server" class="org.eclipse.jetty.server.Server"> <!-- =========================================================== --> - <!-- Server Thread Pool --> + <!-- Configure the Server Thread Pool. --> + <!-- The server holds a common thread pool which is used by --> + <!-- default as the executor used by all connectors and servlet --> + <!-- dispatches. --> + <!-- --> + <!-- Configuring a fixed thread pool is vital to controlling the --> + <!-- maximal memory footprint of the server and is a key tuning --> + <!-- parameter for tuning. In an application that rarely blocks --> + <!-- then maximal threads may be close to the number of 5*CPUs. --> + <!-- In an application that frequently blocks, then maximal --> + <!-- threads should be set as high as possible given the memory --> + <!-- available. --> + <!-- --> + <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool --> + <!-- for all configuration that may be set here. --> <!-- =========================================================== --> - <Set name="ThreadPool"> - <!-- Default queued blocking threadpool --> - <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> - <Set name="minThreads">10</Set> - <Set name="maxThreads">64</Set> - </New> - </Set> + <!-- uncomment to change type of threadpool --> + <Arg name="threadpool"><New id="threadpool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"/></Arg> + <!-- --> + <Get name="ThreadPool"> + <Set name="minThreads" type="int"><SystemProperty name="jetty.threads.min" default="10"/></Set> + <Set name="maxThreads" type="int"><SystemProperty name="jetty.threads.max" default="64"/></Set> + <Set name="idleTimeout" type="int"><SystemProperty name="jetty.threads.timeout" default="60000"/></Set> + <Set name="detailedDump">false</Set> + </Get> + <!-- =========================================================== --> + <!-- Get the platform mbean server --> + <!-- =========================================================== --> + <Call id="MBeanServer" class="java.lang.management.ManagementFactory" + name="getPlatformMBeanServer" /> + + <!-- =========================================================== --> + <!-- Initialize the Jetty MBean container --> + <!-- =========================================================== --> + <Call name="addBean"> + <Arg> + <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer"> + <Arg> + <Ref refid="MBeanServer" /> + </Arg> + </New> + </Arg> + </Call> + + <!-- Add the static log to the MBean server. --> + <Call name="addBean"> + <Arg> + <New class="org.eclipse.jetty.util.log.Log" /> + </Arg> + </Call> + + <!-- For remote MBean access (optional) --> + <New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer"> + <Arg> + <New class="javax.management.remote.JMXServiceURL"> + <Arg type="java.lang.String">rmi</Arg> + <Arg type="java.lang.String" /> + <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1090"/></Arg> + <Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg> + </New> + </Arg> + <Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg> + <Call name="start" /> + </New> + <!-- =========================================================== --> - <!-- Set connectors --> + <!-- Http Configuration. --> + <!-- This is a common configuration instance used by all --> + <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)--> + <!-- It configures the non wire protocol aspects of the HTTP --> + <!-- semantic. --> + <!-- --> + <!-- Consult the javadoc of o.e.j.server.HttpConfiguration --> + <!-- for all configuration that may be set here. --> <!-- =========================================================== --> + <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> + <Set name="secureScheme">https</Set> + <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set> + <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set> + <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set> + <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set> + <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set> + <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set> + <Set name="headerCacheSize">512</Set> + <!-- Uncomment to enable handling of X-Forwarded- style headers + <Call name="addCustomizer"> + <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> + </Call> + --> + </New> + + <!-- Configure the HTTP endpoint. --> + <Call name="addConnector"> + <Arg> + <New class="org.eclipse.jetty.server.ServerConnector"> + <Arg name="server"><Ref refid="Server" /></Arg> + <Arg name="factories"> + <Array type="org.eclipse.jetty.server.ConnectionFactory"> + <Item> + <New class="org.eclipse.jetty.server.HttpConnectionFactory"> + <Arg name="config"><Ref refid="httpConfig" /></Arg> + </New> + </Item> + </Array> + </Arg> + <Set name="host"><Property name="jetty.host" /></Set> + <Set name="port"><Property name="jetty.port" default="8080" /></Set> + <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> + </New> + </Arg> + </Call> - <Call name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> - <Set name="host"><Property name="jetty.host" /></Set> - <Set name="port"><Property name="jetty.port" default="8080"/></Set> - </New> - </Arg> - </Call> - <!-- =========================================================== --> <!-- Set handler Collection Structure --> <!-- =========================================================== --> @@ -36,25 +126,29 @@ <Set name="handlers"> <Array type="org.eclipse.jetty.server.Handler"> <Item> + <!-- This is the bigdata web application. --> <New id="WebAppContext" class="org.eclipse.jetty.webapp.WebAppContext"> - <!-- The location of the top-level of the bigdata webapp. --> - <Set name="resourceBase"> - <Property name="jetty.resourceBase" default="<%= node['systap-bigdataHA'][:fed_dir] %>/var/jetty" /> + <Set name="war"> + <!-- The location of the top-level of the bigdata webapp. --> + <Property name="jetty.resourceBase" default="<%= node['systap-bigdataHA'][:fed_dir] %>/var/jetty" /> </Set> - <Set name="contextPath">/</Set> + <Set name="contextPath">/bigdata</Set> <Set name="descriptor"><%= node['systap-bigdataHA'][:fed_dir] %>/var/jetty/WEB-INF/web.xml</Set> <Set name="parentLoaderPriority">true</Set> <Set name="extractWAR">false</Set> - <Set name="welcomeFiles"> - <Array type="java.lang.String"> - <Item>index.html</Item> - </Array> - </Set> </New> </Item> </Array> </Set> </New> </Set> - + + <!-- =========================================================== --> + <!-- extra server options --> + <!-- =========================================================== --> + <Set name="stopAtShutdown">true</Set> + <Set name="stopTimeout">5000</Set> + <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set> + <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set> + </Configure> Modified: branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/etc/init.d/bigdataHA =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/etc/init.d/bigdataHA 2014-05-06 13:54:41 UTC (rev 8207) +++ branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/etc/init.d/bigdataHA 2014-05-06 17:57:47 UTC (rev 8208) @@ -95,7 +95,7 @@ fi fi if [ ! -f "$pidFile" ]; then - action $"`date` : `hostname` : bringing up services: " sudo -u $BD_USER -g $BD_GROUP bash -c "source /etc/default/bigdataHA ; $binDir/startHAServices" + action $"`date` : `hostname` : bringing up services: " sudo -u $BD_USER -g $BD_GROUP bash -c "source /etc/default/bigdataHA ; $binDir/startHAServices > /dev/null 2>&1 &" else echo $"`date` : `hostname` : running as $pid" fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dme...@us...> - 2014-05-07 13:57:23
|
Revision: 8215 http://sourceforge.net/p/bigdata/code/8215 Author: dmekonnen Date: 2014-05-07 13:57:17 +0000 (Wed, 07 May 2014) Log Message: ----------- resync with BIGDATA_RELEASE_1_3_0 branch Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/.classpath branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/BOp.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/CoreBaseBOp.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/IValueExpression.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/controller/ServiceCallJoin.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/recipes/default.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/build.properties branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-B.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3LoadBalancerTestCase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-D.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-E.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_GangliaLBS.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_NOP.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_RoundRobin.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/zkClient.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FunctionNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IQueryNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IValueExpressionNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryBase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/TermNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ValueExpressionNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTUnionFiltersOptimizer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/AbstractJoinGroupOptimizer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAST.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/AbstractOptimizerTestCase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestALPPinTrac773.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTUnionFiltersOptimizer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestAll.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataServlet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HALoadBalancerServlet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/NanoSparqlServer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/AbstractLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/ServiceScore.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/NOPLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/RoundRobinLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/GangliaLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/HostTable.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/WEB-INF/web.xml branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/css/style.css branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/index.html branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/js/workbench.js branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml branches/DEPLOYMENT_BRANCH_1_3_1/build.properties branches/DEPLOYMENT_BRANCH_1_3_1/build.xml branches/DEPLOYMENT_BRANCH_1_3_1/pom.xml branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/HAJournal.config branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/startHAServices Added Paths: ----------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTExistsAndJoinOrderByTypeOptimizers.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTPropertyPathOptimizer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/DefaultHARequestURIRewriter.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/IHALoadBalancerPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/IHAPolicyLifeCycle.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/IHARequestURIRewriter.java Modified: branches/DEPLOYMENT_BRANCH_1_3_1/.classpath =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/.classpath 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/.classpath 2014-05-07 13:57:17 UTC (rev 8215) @@ -58,6 +58,8 @@ <classpathentry exported="true" kind="lib" path="bigdata/lib/unimi/fastutil-5.1.5.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/lucene/lucene-analyzers-3.0.0.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/lucene/lucene-core-3.0.0.jar"/> + <classpathentry kind="lib" path="bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar"/> + <classpathentry kind="lib" path="bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar"/> <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/high-scale-lib-v1.1.2.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/junit-ext-1.1-b3-dev.jar"/> Added: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar =================================================================== (Binary files differ) Index: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar 2014-05-07 13:57:17 UTC (rev 8215) Property changes on: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jmx-9.1.4.v20140401.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar =================================================================== (Binary files differ) Index: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar 2014-05-07 13:57:17 UTC (rev 8215) Property changes on: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/jetty/jetty-jndi-9.1.4.v20140401.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/BOp.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/BOp.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/BOp.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -211,6 +211,24 @@ */ boolean isController(); + /** + * The contract of this method at this level is under-specified. + * Sub-classes may choose between: + * + * - return a string representation of the object, similar to the use of {@link #toString()} + * + * Or: + * + * - return a pretty-print representation of the object with indent + * + * Note that the former contract may or may not include recursive descent through a tree-like + * object, whereas the latter almost certainly does. + * + * @param indent + * @return + */ + String toString(final int indent); + /** * Interface declaring well known annotations. * <p> Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/CoreBaseBOp.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/CoreBaseBOp.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/CoreBaseBOp.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -156,9 +156,44 @@ return sb.toString(); } + + /** + * Append a name to a string buffer, possibly shortening the name. + * The current algorithm for name shortening is to take the end of the name + * after the pen-ultimate '.'. + * @param sb + * @param longishName + */ + protected void shortenName(final StringBuilder sb, final String longishName) { + int lastDot = longishName.lastIndexOf('.'); + if (lastDot != -1) { + int lastButOneDot = longishName.lastIndexOf('.', lastDot - 1); + sb.append(longishName.substring(lastButOneDot + 1)); + return; + } + sb.append(longishName); + } + /** + * Add a string representation of annotations into a string builder. + * By default this is a non-recursive operation, however + * subclasses may override {@link #annotationValueToString(StringBuilder, BOp, int)} + * in order to make this recursive. + * @param sb + */ protected void annotationsToString(final StringBuilder sb) { - final Map<String,Object> annotations = annotations(); + annotationsToString(sb, 0); + } + + /** + * Add a string representation of annotations into a string builder. + * By default this is a non-recursive operation, however + * subclasses may override {@link #annotationValueToString(StringBuilder, BOp, int)} + * in order to make this recursive. + * @param sb + */ + protected void annotationsToString(final StringBuilder sb, final int indent) { + final Map<String,Object> annotations = annotations(); if (!annotations.isEmpty()) { sb.append("["); boolean first = true; @@ -169,20 +204,35 @@ sb.append(", "); final String key = e.getKey(); final Object val = e.getValue(); + shortenName(sb, key); + sb.append("="); if (val != null && val.getClass().isArray()) { - sb.append(key + "=" + Arrays.toString((Object[]) val)); + sb.append(Arrays.toString((Object[]) val)); } else if (key.equals(IPredicate.Annotations.FLAGS)) { - sb.append(key + "=" + Tuple.flagString((Integer) val)); + sb.append(Tuple.flagString((Integer) val)); } else if( val instanceof BOp) { - sb.append(key + "=" + ((BOp) val).toShortString()); + annotationValueToString(sb, (BOp)val, indent); } else { - sb.append(key + "=" + val); + sb.append(val); } first = false; } sb.append("]"); } - } + } + + /** + * Add a string representation of a BOp annotation value into a string builder. + * By default this is a non-recursive operation, however + * subclasses may override and give a recursive definition, which should respect + * the given indent. + * @param sb The destination buffer + * @param val The BOp to serialize + * @param indent An indent to use if a recursive approach is chosen. + */ + protected void annotationValueToString(final StringBuilder sb, final BOp val, final int indent) { + sb.append(val.toString()); + } @Override final public Object getRequiredProperty(final String name) { @@ -363,7 +413,7 @@ if(v1 == v2) continue; - if (v1 != null && v2 == null) + if (v1 == null || v2 == null) return false; if (v1.getClass().isArray()) { @@ -441,6 +491,26 @@ } + /** + * The contract of this method at this level is under-specified. + * Sub-classes may choose between: + * + * - return a string representation of the object, similar to the use of {@link #toString()} + * + * Or: + * + * - return a pretty-print representation of the object with indent + * + * Note that the former contract may or may not include recursive descent through a tree-like + * object, whereas the latter almost certainly does. + * + * @param indent + * @return + */ + public String toString(int indent) { + return toString(); + } + private static final transient String ws = " "; } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/IValueExpression.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/IValueExpression.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/IValueExpression.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -26,5 +26,11 @@ * <code>null</code>. */ E get(IBindingSet bindingSet); + /** + * A string representation of a recursive structure with pretty-print indent. + * @param indent + * @return + */ + String toString(int indent); } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/controller/ServiceCallJoin.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/controller/ServiceCallJoin.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/bop/controller/ServiceCallJoin.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -58,7 +58,6 @@ import com.bigdata.rdf.model.BigdataURI; import com.bigdata.rdf.sparql.ast.service.BigdataServiceCall; import com.bigdata.rdf.sparql.ast.service.ExternalServiceCall; -import com.bigdata.rdf.sparql.ast.service.IDoNotJoinService; import com.bigdata.rdf.sparql.ast.service.RemoteServiceCall; import com.bigdata.rdf.sparql.ast.service.ServiceCall; import com.bigdata.rdf.sparql.ast.service.ServiceCallUtility; @@ -586,52 +585,6 @@ : new UnsyncLocalOutputBuffer<IBindingSet>( op.getChunkCapacity(), sink2); - if (serviceCall instanceof IDoNotJoinService) { - - // The iterator draining the subquery - ICloseableIterator<IBindingSet[]> serviceSolutionItr = null; - try { - - /* - * Invoke the service. - * - * Note: Returns [null] IFF SILENT and SERVICE ERROR. - */ - - serviceSolutionItr = doServiceCall(serviceCall, chunk); - - if (serviceSolutionItr != null) { - - while (serviceSolutionItr.hasNext()) { - - final IBindingSet[] bsets = - serviceSolutionItr.next(); - - for (IBindingSet bs : bsets) { - - unsyncBuffer.add(bs); - - } - - } - - } - - } finally { - - // ensure the service call iterator is closed. - if (serviceSolutionItr != null) - serviceSolutionItr.close(); - - } - - unsyncBuffer.flush(); - - // done. - return null; - - } - final JVMHashJoinUtility state = new JVMHashJoinUtility(op, silent ? JoinTypeEnum.Optional : JoinTypeEnum.Normal ); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/recipes/default.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/recipes/default.rb 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-aws-bigdata-ha/recipes/default.rb 2014-05-07 13:57:17 UTC (rev 8215) @@ -33,7 +33,7 @@ user 'ubuntu' group 'ubuntu' cwd "/home/ubuntu" - command "svn checkout https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0 #{node['systap-bigdataHA'][:source]}" + command "svn checkout #{node['systap-bigdataHA'][:svn]} #{node['systap-bigdataHA'][:source]}" end execute "ant deploy-artifact" do @@ -90,7 +90,7 @@ # # Install the log4jHA.properties file: # -template "#{node['systap-bigdataHA'][:fed_dir]}/var/jetty/WEB-INF/jetty.xml" do +template "#{node['systap-bigdataHA'][:fed_dir]}/var/jetty/jetty.xml" do source "jetty.xml.erb" owner 'bigdata' group 'bigdata' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/build.properties =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/build.properties 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/build.properties 2014-05-07 13:57:17 UTC (rev 8215) @@ -38,7 +38,7 @@ release.dir=ant-release # The build version. -build.ver=1.0.1 +build.ver=1.0.2 # Set true to do a snapshot build. This changes the value of ${version} to # include the date. Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,6 +60,9 @@ private static fedname = "benchmark"; + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = 9080; + // write replication pipeline port (listener). private static haPort = 9090; @@ -250,6 +253,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + } /* Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-B.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-B.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-B.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,9 +60,9 @@ private static fedname = "benchmark"; - // NanoSparqlServer (http) port. - private static nssPort = ConfigMath.add(8090,1); - + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,1); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,1); @@ -252,6 +252,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + } /* Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,6 +60,9 @@ private static fedname = "benchmark"; + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,1); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,2); @@ -249,6 +252,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + } /* Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -104,8 +104,8 @@ import com.bigdata.rdf.sail.CreateKBTask; import com.bigdata.rdf.sail.webapp.ConfigParams; import com.bigdata.rdf.sail.webapp.HALoadBalancerServlet; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; import com.bigdata.rdf.sail.webapp.NanoSparqlServer; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; import com.bigdata.rwstore.RWStore; import com.bigdata.service.AbstractHATransactionService; import com.bigdata.service.jini.FakeLifeCycle; @@ -756,7 +756,20 @@ final Quorum<HAGlue, QuorumService<HAGlue>> quorum = (Quorum) new ZKQuorumImpl<HAGlue, HAQuorumService<HAGlue, HAJournal>>( replicationFactor); - // The HAJournal. + /** + * The HAJournal. + * + * FIXME This step can block for a long time if we have a lot of + * HALogs to scan. While it blocks, the REST API (including the LBS) + * is down. This means that client requests to the service end point + * can not be proxied to a service that is online. The problem is + * the interaction with the BigdataRDFServletContextListener which + * needs to (a) set the IIndexManager on the ServletContext; and (b) + * initiate the default KB create (if it is the quorum leader). + * + * @see <a href="http://trac.bigdata.com/ticket/775" > HAJournal + * start() (optimization) </a> + */ this.journal = newHAJournal(this, config, quorum); } @@ -4536,6 +4549,13 @@ // Start the server. jettyServer.start(); + if (Boolean.getBoolean("jetty.dump.start")) { + + // Support the jetty dump-after-start semantics. + log.warn(jettyServer.dump()); + + } + /* * Report *an* effective URL of this service. * @@ -4636,7 +4656,7 @@ if (log.isInfoEnabled()) log.info("Will set LBS: wac=" + wac + ", policy: " + policy); - HALoadBalancerServlet.setPolicy(wac.getServletContext(), policy); + HALoadBalancerServlet.setLBSPolicy(wac.getServletContext(), policy); } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -2137,6 +2137,13 @@ private final String serviceName; private final UUID serviceId; private final int jettyPort; + /** + * The value of this environment variable is passed down. You can set + * this environment variable to force jetty to dump its internal start + * after start. + */ + private final boolean jettyDumpStart = Boolean + .getBoolean("jetty.dump.start"); // private final File serviceDir; private final String[] args; @@ -2230,6 +2237,12 @@ private final String JETTY_RESOURCE_BASE = "jetty.resourceBase"; /** + * Used to override the <code>jetty.dump.start</code> environment + * property. + */ + private final String TEST_JETTY_DUMP_START = "jetty.dump.start"; + + /** * The absolute effective path of the service directory. This is * overridden on the {@link #TEST_SERVICE_DIR} environment variable * and in the deployed HAJournal.config file in order to have the @@ -2277,6 +2290,9 @@ // Override the location of the webapp as deployed. cmds.add("-D" + JETTY_RESOURCE_BASE + "=\".\""); + // Override the jetty.dump.start. + cmds.add("-D" + TEST_JETTY_DUMP_START + "=" + jettyDumpStart); + super.addCommandArgs(cmds); for (String arg : args) { Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3LoadBalancerTestCase.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3LoadBalancerTestCase.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3LoadBalancerTestCase.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -37,9 +37,9 @@ import com.bigdata.journal.jini.ha.HAJournalServer.HAQuorumService; import com.bigdata.journal.jini.ha.HAJournalTest.HAGlueTest; import com.bigdata.rdf.sail.webapp.HALoadBalancerServlet; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; import com.bigdata.rdf.sail.webapp.client.RemoteRepository; import com.bigdata.rdf.sail.webapp.client.RemoteRepository.RemoveOp; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; /** * Test suite for the HA load balancer. Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,6 +60,9 @@ private static fedname = "benchmark"; + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = 9080; + // write replication pipeline port (listener). private static haPort = 9090; @@ -257,6 +260,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + // Use the overridden version of the HAJournal by default so we get the // HAGlueTest API for every test. HAJournalClass = "com.bigdata.journal.jini.ha.HAJournalTest"; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,6 +60,9 @@ private static fedname = "benchmark"; + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,1); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,1); @@ -256,6 +259,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + // Use the overridden version of the HAJournal by default so we get the // HAGlueTest API for every test. HAJournalClass = "com.bigdata.journal.jini.ha.HAJournalTest"; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,6 +60,9 @@ private static fedname = "benchmark"; + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,2); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,2); @@ -256,6 +259,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + // Use the overridden version of the HAJournal by default so we get the // HAGlueTest API for every test. HAJournalClass = "com.bigdata.journal.jini.ha.HAJournalTest"; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-D.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-D.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-D.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,9 +60,9 @@ private static fedname = "benchmark"; - // NanoSparqlServer (http) port. - private static nssPort = ConfigMath.add(8090,3); - + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,3); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,3); @@ -259,6 +259,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + // Use the overridden version of the HAJournal by default so we get the // HAGlueTest API for every test. HAJournalClass = "com.bigdata.journal.jini.ha.HAJournalTest"; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-E.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-E.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-E.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -60,9 +60,9 @@ private static fedname = "benchmark"; - // NanoSparqlServer (http) port. - private static nssPort = ConfigMath.add(8090,4); - + // The RMI port for the HAGlue interface (may be ZERO for a random port). + private static rmiPort = ConfigMath.add(9080,4); + // write replication pipeline port (listener). private static haPort = ConfigMath.add(9090,4); @@ -259,6 +259,9 @@ replicationFactor = bigdata.replicationFactor; + exporter = new BasicJeriExporter(TcpServerEndpoint.getInstance(bigdata.rmiPort), + new BasicILFactory()); + // Use the overridden version of the HAJournal by default so we get the // HAGlueTest API for every test. HAJournalClass = "com.bigdata.journal.jini.ha.HAJournalTest"; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -102,7 +102,7 @@ import com.bigdata.rdf.sail.BigdataSailRepository; import com.bigdata.rdf.sail.BigdataSailRepositoryConnection; import com.bigdata.rdf.sail.webapp.HALoadBalancerServlet; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; import com.bigdata.rdf.store.AbstractTripleStore; import com.bigdata.service.jini.RemoteDestroyAdmin; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_GangliaLBS.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_GangliaLBS.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_GangliaLBS.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -23,7 +23,7 @@ */ package com.bigdata.journal.jini.ha; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; import com.bigdata.rdf.sail.webapp.lbs.policy.ganglia.GangliaLBSPolicy; /** Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_NOP.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_NOP.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_NOP.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -23,7 +23,7 @@ */ package com.bigdata.journal.jini.ha; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; import com.bigdata.rdf.sail.webapp.lbs.policy.NOPLBSPolicy; /** Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_RoundRobin.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_RoundRobin.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3LoadBalancer_RoundRobin.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -23,7 +23,7 @@ */ package com.bigdata.journal.jini.ha; -import com.bigdata.rdf.sail.webapp.IHALoadBalancerPolicy; +import com.bigdata.rdf.sail.webapp.lbs.IHALoadBalancerPolicy; import com.bigdata.rdf.sail.webapp.lbs.policy.RoundRobinLBSPolicy; Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties 2014-05-07 13:57:17 UTC (rev 8215) @@ -16,10 +16,21 @@ #log4j.logger.com.bigdata.zookeeper.ZooHelper=ALL log4j.logger.com.bigdata.rdf.internal.LexiconConfiguration=FATAL +# webapp logging. +log4j.logger.com.bigdata.rdf.sail.webapp=ALL +#log4j.logger.com.bigdata.rdf.sail.webapp.RESTServlet=INFO +#log4j.logger.com.bigdata.rdf.sail.webapp.HALoadBalancerServlet=ALL +#log4j.logger.com.bigdata.ganglia.GangliaService=INFO + +# jetty debug logging. +log4j.logger.org.eclipse.jetty=INFO +#log4j.logger.org.eclipse.jetty.client=DEBUG +#log4j.logger.org.eclipse.jetty.proxy=DEBUG + log4j.appender.haLog=org.apache.log4j.FileAppender log4j.appender.haLog.Threshold=ALL # Note: path is relative to the directory in which the service starts. -log4j.appender.haLog.File=halog-B.txt +log4j.appender.haLog.File=halog-A.txt log4j.appender.haLog.Append=true log4j.appender.haLog.layout=org.apache.log4j.PatternLayout log4j.appender.haLog.layout.ConversionPattern=%-5p: %d{HH:mm:ss,SSS} %r %X{hostname} %X{serviceUUID} %X{taskname} %X{timestamp} %X{resources} %t %l: %m%n \ No newline at end of file Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/zkClient.config =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/zkClient.config 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/zkClient.config 2014-05-07 13:57:17 UTC (rev 8215) @@ -1,22 +1,6 @@ -/* Zookeeper client only configuration. +/* + * Zookeeper client configuration. */ -import java.io.File; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.util.UUID; - -import com.bigdata.util.NV; -import com.bigdata.util.config.NicUtil; -import com.bigdata.journal.Options; -import com.bigdata.journal.BufferMode; -import com.bigdata.journal.jini.ha.HAJournal; -import com.bigdata.jini.lookup.entry.*; -import com.bigdata.service.IBigdataClient; -import com.bigdata.service.AbstractTransactionService; -import com.bigdata.service.jini.*; -import com.bigdata.service.jini.lookup.DataServiceFilter; -import com.bigdata.service.jini.master.ServicesTemplate; -import com.bigdata.jini.start.config.*; import com.bigdata.jini.util.ConfigMath; import org.apache.zookeeper.ZooDefs; @@ -30,16 +14,6 @@ private static fedname = "benchmark"; - /* The logical service identifier shared by all members of the quorum. - * - * Note: The test fixture ignores this value. For the avoidance of - * doubt, the value is commented out. - */ - //private static logicalServiceId = "CI-HAJournal-1"; - - // zookeeper - static private sessionTimeout = (int)ConfigMath.s2ms(20); - } /* @@ -53,36 +27,16 @@ /* A comma separated list of host:port pairs, where the port is * the CLIENT port for the zookeeper server instance. */ - // standalone. servers = "localhost:2081"; - // ensemble -// servers = bigdata.zoo1+":2181" -// + ","+bigdata.zoo2+":2181" -// + ","+bigdata.zoo3+":2181" -// ; /* Session timeout (optional). */ - sessionTimeout = bigdata.sessionTimeout; + sessionTimeout = (int)ConfigMath.s2ms(20); - /* - * ACL for the zookeeper nodes created by the bigdata federation. - * - * Note: zookeeper ACLs are not transmitted over secure channels - * and are placed into plain text Configuration files by the - * ServicesManagerServer. - */ + // Zookeeper ACLs. acl = new ACL[] { new ACL(ZooDefs.Perms.ALL, new Id("world", "anyone")) }; - /* - * Note: Normally on the HAJournalServer component. Hacked in the test - * suite setup to look at the ZooKeeper component instead. - */ - - logicalServiceId = bigdata.logicalServiceId; - - replicationFactor = bigdata.replicationFactor; } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -87,7 +87,7 @@ sb.append("\n"); sb.append(indent(indent)); - sb.append("FILTER( ").append(getValueExpressionNode()).append(" )"); + sb.append("FILTER( ").append(getValueExpressionNode().toString(indent+1)).append(" )"); // if (getQueryHints() != null) { // sb.append("\n"); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FunctionNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FunctionNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FunctionNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -2,6 +2,7 @@ import java.io.Serializable; import java.util.Collections; +import java.util.Iterator; import java.util.Map; import org.openrdf.model.URI; @@ -9,6 +10,7 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.IValueExpression; import com.bigdata.bop.NV; +import com.bigdata.bop.BOp.Annotations; /** * AST node for anything which is neither a constant nor a variable, including @@ -171,7 +173,7 @@ */ /** - * Return <code>t1 AND t2</code> (aka EQ). + * Return <code>t1 AND t2</code>. */ static public FunctionNode AND(final ValueExpressionNode t1, final ValueExpressionNode t2) { @@ -182,7 +184,7 @@ } /** - * Return <code>t1 OR t2</code> (aka EQ). + * Return <code>t1 OR t2</code>. */ static public FunctionNode OR(final ValueExpressionNode t1, final ValueExpressionNode t2) { @@ -295,4 +297,35 @@ } + + /** + * Provides a pretty print representation with recursive descent. + */ + @Override + public String toString(int i) { + + final StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + final Integer bopId = (Integer) getProperty(Annotations.BOP_ID); + if (bopId != null) { + sb.append("[" + bopId + "]"); + } + sb.append("("); + int nwritten = 0; + final Iterator<BOp> itr = argIterator(); + while(itr.hasNext()) { + final BOp t = itr.next(); + if (nwritten > 0) + sb.append(','); + if (t == null) { + sb.append("<null>"); + } else { + sb.append(((IValueExpressionNode)t).toString(i+1)); + } + nwritten++; + } + sb.append(")"); + annotationsToString(sb, i); + return sb.toString(); + } } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IQueryNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IQueryNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IQueryNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -37,8 +37,11 @@ } + /** - * Pretty print with an indent. + * A string representation of a recursive structure with pretty-print indent. + * @param indent + * @return */ String toString(final int indent); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IValueExpressionNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IValueExpressionNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IValueExpressionNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -34,4 +34,11 @@ */ void invalidate(); + /** + * A string representation of a recursive structure with pretty-print indent. + * @param indent + * @return + */ + String toString(final int indent); + } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryBase.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryBase.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryBase.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -178,8 +178,13 @@ public void setConstruct(final ConstructNode construct) { setProperty(Annotations.CONSTRUCT, construct); - setQueryType(QueryType.CONSTRUCT); + if (construct != null) { + + setQueryType(QueryType.CONSTRUCT); + + } + } public void setProjection(final ProjectionNode projection) { Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -574,7 +574,7 @@ if (getQueryHints() != null && !getQueryHints().isEmpty()) { sb.append("\n"); sb.append(indent(indent + 1)); - sb.append(Annotations.QUERY_HINTS); + shortenName(sb, Annotations.QUERY_HINTS); sb.append("="); sb.append(getQueryHints().toString()); } @@ -586,7 +586,7 @@ if (rangeCount != null) { sb.append("\n"); sb.append(indent(indent + 1)); - sb.append(AST2BOpBase.Annotations.ESTIMATED_CARDINALITY); + shortenName(sb, AST2BOpBase.Annotations.ESTIMATED_CARDINALITY); sb.append("="); sb.append(rangeCount.toString()); } @@ -594,7 +594,7 @@ if (keyOrder != null) { sb.append("\n"); sb.append(indent(indent + 1)); - sb.append(AST2BOpBase.Annotations.ORIGINAL_INDEX); + shortenName(sb, AST2BOpBase.Annotations.ORIGINAL_INDEX); sb.append("="); sb.append(keyOrder.toString()); } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -32,6 +32,7 @@ import org.openrdf.model.URI; import com.bigdata.bop.BOp; +import com.bigdata.bop.IValueExpression; /** * A special function node for modeling value expression nodes which are @@ -119,4 +120,9 @@ } + @Override + protected void annotationValueToString(final StringBuilder sb, final BOp val, int i) { + sb.append(val.toString(i)); + } + } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/TermNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/TermNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/TermNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -88,5 +88,10 @@ return null; } + + @Override + public String toString(int i) { + return toShortString(); + } } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ValueExpressionNode.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ValueExpressionNode.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ValueExpressionNode.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -12,7 +12,7 @@ * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ -public class ValueExpressionNode extends ASTBase implements +public abstract class ValueExpressionNode extends ASTBase implements IValueExpressionNode { /** Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTUnionFiltersOptimizer.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTUnionFiltersOptimizer.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTUnionFiltersOptimizer.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -134,6 +134,8 @@ canOptimize = false; + break; + } else { union = (UnionNode) child; @@ -157,6 +159,8 @@ // something else in the group other than a union and filters canOptimize = false; + break; + } } Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/AbstractJoinGroupOptimizer.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/AbstractJoinGroupOptimizer.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/AbstractJoinGroupOptimizer.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -27,6 +27,8 @@ package com.bigdata.rdf.sparql.ast.optimizers; +import java.util.Iterator; + import com.bigdata.bop.BOp; import com.bigdata.bop.IBindingSet; import com.bigdata.bop.bindingSet.ListBindingSet; @@ -188,20 +190,7 @@ final IValueExpressionNode ve = filter.getValueExpressionNode(); - if (ve instanceof SubqueryFunctionNodeBase) { - - final SubqueryFunctionNodeBase subqueryFunction = (SubqueryFunctionNodeBase) ve; - - final GraphPatternGroup<IGroupMemberNode> graphPattern = subqueryFunction - .getGraphPattern(); - - if (graphPattern != null) { - - optimize(ctx, sa, bSets, graphPattern); - - } - - } + optimize(ctx, sa, bSets, ve); } else if (child instanceof ArbitraryLengthPathNode) { @@ -274,6 +263,35 @@ } } + + private void optimize(final AST2BOpContext ctx, final StaticAnalysis sa, + final IBindingSet[] bSets, final IValueExpressionNode ve) { + if (ve instanceof SubqueryFunctionNodeBase) { + + final SubqueryFunctionNodeBase subqueryFunction = (SubqueryFunctionNodeBase) ve; + + final GraphPatternGroup<IGroupMemberNode> graphPattern = subqueryFunction + .getGraphPattern(); + + if (graphPattern != null) { + + optimize(ctx, sa, bSets, graphPattern); + + } + + } else { + Iterator<BOp> it = ((BOp)ve).argIterator(); + while (it.hasNext()) { + + BOp b = it.next(); + if (b instanceof IValueExpressionNode) { + + optimize(ctx, sa, bSets, (IValueExpressionNode)b); + + } + } + } + } /** * Subclasses can do the work of optimizing a join group here. Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAST.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAST.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAST.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -39,6 +39,7 @@ import com.bigdata.bop.Var; import com.bigdata.bop.ap.Predicate; import com.bigdata.journal.ITx; +import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.internal.VTE; import com.bigdata.rdf.internal.constraints.CompareBOp; import com.bigdata.rdf.internal.constraints.IVValueExpression; @@ -262,7 +263,7 @@ groupBy.addExpr(new AssignmentNode(new VarNode("s"), new VarNode("s"))); final HavingNode havingBy = new HavingNode(); - havingBy.addExpr(new ValueExpressionNode(new CompareBOp(Var.var("x"), + havingBy.addExpr(new LegacyTestValueExpressionNode(new CompareBOp(Var.var("x"), Var.var("y"), CompareOp.GT))); final OrderByNode orderBy = new OrderByNode(); @@ -331,7 +332,7 @@ } public FilterNode filter(final int id) { - return new FilterNode(new ValueExpressionNode(new Filter(id))); + return new FilterNode(new LegacyTestValueExpressionNode(new Filter(id))); } public Predicate pred(final int id) { @@ -345,8 +346,23 @@ return new Filter(id); } - - private static final class Filter extends XSDBooleanIVValueExpression { + /** + * @deprecated This was just for compatibility with SOp2ASTUtility. It is + * only used by the test suite now. + */ + @Deprecated + private static final class LegacyTestValueExpressionNode extends ValueExpressionNode { + private LegacyTestValueExpressionNode(IValueExpression<? extends IV> ve) { + super(ve); + } + + @Override + public String toString(int i) { + return toShortString(); + } + } + + private static final class Filter extends XSDBooleanIVValueExpression { /** * Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/AbstractOptimizerTestCase.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/AbstractOptimizerTestCase.java 2014-05-07 13:29:39 UTC (rev 8214) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/AbstractOptimizerTestCase.java 2014-05-07 13:57:17 UTC (rev 8215) @@ -23,25 +23,29 @@ */ package com.bigdata.rdf.sparql.ast.optimizers; -import java.util.HashMap; -import java.util.Map; import org.openrdf.model.impl.URIImpl; import org.openrdf.query.algebra.StatementPattern.Scope; import com.bigdata.bop.IBindingSet; +import com.bigdata.bop.IValueExpression; +import com.bigdata.bop.IVariable; import com.bigdata.bop.ModifiableBOpBase; +import com.bigdata.journal.ITx; import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.internal.constraints.IsBoundBOp; +import com.bigdata.rdf.internal.constraints.OrBOp; import com.bigdata.rdf.sparql.ast.ASTBase; import com.bigdata.rdf.sparql.ast.ASTContainer; import com.bigdata.rdf.sparql.ast.AbstractASTEvaluationTestCase; import com.bigdata.rdf.sparql.ast.ArbitraryLengthPathNode; import com.bigdata.rdf.sparql.ast.AssignmentNode; import com.bigdata.rdf.sparql.ast.ConstantNode; +import com.bigdata.rdf.sparql.ast.ExistsNode; import com.bigdata.rdf.sparql.ast.FilterNode; import com.bigdata.rdf.sparql.ast.FunctionNode; import com.bigdata.rdf.sparql.ast.FunctionRegistry; +import com.bigdata.rdf.sparql.ast.GlobalAnnotations; import com.bigdata.rdf.sparql.ast.GraphPatternGroup; import com.bigdata.rdf.sparql.ast.GroupMemberNodeBase; import com.bigdata.rdf.sparql.ast.IGroupMemberNode; @@ -50,6 +54,7 @@ import com.bigdata.rdf.sparql.ast.JoinGroupNode; import com.bigdata.rdf.sparql.ast.NamedSubqueryInclude; import com.bigdata.rdf.sparql.ast.NamedSubqueryRoot; +import com.bigdata.rdf.sparql.ast.NotExistsNode; import com.bigdata.rdf.sparql.ast.PathNode; import com.bigdata.rdf.sparql.ast.ValueExpressionNode; import com.bigdata.rd... [truncated message content] |
From: <dme...@us...> - 2014-05-08 20:33:26
|
Revision: 8237 http://sourceforge.net/p/bigdata/code/8237 Author: dmekonnen Date: 2014-05-08 20:33:22 +0000 (Thu, 08 May 2014) Log Message: ----------- snpshot of deployment recipes that build from svn Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/Berksfile branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/metadata.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/tomcat.rb branches/DEPLOYMENT_BRANCH_1_3_1/build.xml Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/Berksfile =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/Berksfile 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/Berksfile 2014-05-08 20:33:22 UTC (rev 8237) @@ -2,6 +2,8 @@ cookbook "apt" cookbook "java", '~> 1.22.0' +cookbook "ant" cookbook "tomcat" +cookbook "subversion" metadata Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb 2014-05-08 20:33:22 UTC (rev 8237) @@ -1,6 +1,4 @@ -# default['bigdata'][:url] = "http://sourceforge.net/projects/bigdata/files/bigdata/1.3.0/bigdata.war/download" -default['bigdata'][:url] = "http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/1.3.0/bigdata.war" default['bigdata'][:home] = "/var/lib/bigdata" # Who runs bigdata? @@ -9,6 +7,7 @@ default['bigdata'][:properties] = default['bigdata'][:home] + "RWStore.properties" +default['bigdata'][:source] = "bigdata-code" case node['bigdata'][:install_type] when "nss" @@ -22,14 +21,16 @@ # Where the bigdata-ha.jnl file will live: default['bigdata'][:data_dir] = node['bigdata'][:home] + "/var/data" -when "nss_svn" - default['bigdata'][:url] = "http://bigdata.com/deploy/bigdata-1.3.0.tgz" -when "tomcat_svn" - default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" -else + + if node['bigdata'][:build_from_svn] + default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" + end +when "tomcat" default['tomcat'][:base_version] = 7 default['tomcat'][:java_options] = "-Djava.awt.headless=true -server -Xmx4G -XX:+UseG1GC" + default['bigdata'][:url] = "http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/1.3.0/bigdata.war" + default['bigdata'][:web_home] = default['tomcat'][:webapp_dir] + "/bigdata" default['bigdata'][:web_xml] = default['bigdata'][:web_home] + "/WEB-INF/web.xml" default['bigdata'][:log4j_properties] = default['bigdata'][:web_home] + "/WEB-INF/classes/log4j.properties" @@ -39,6 +40,10 @@ # Where the log files will live: default['bigdata'][:log_dir] = node['bigdata'][:home] + "/log" + + if node['bigdata'][:build_from_svn] + default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" + end end Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/metadata.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/metadata.rb 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/metadata.rb 2014-05-08 20:33:22 UTC (rev 8237) @@ -7,4 +7,6 @@ version '0.1.1' depends 'apt' depends 'java', '>= 1.22.0' +depends 'ant' depends 'tomcat' +depends 'subversion' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb 2014-05-08 20:33:22 UTC (rev 8237) @@ -18,18 +18,39 @@ action :create end - # - # Retrieve the package prepared for Brew: - # - remote_file "/tmp/bigdata.tgz" do - owner node['bigdata'][:user] - group node['bigdata'][:group] - source node['bigdata'][:url] - end - execute "Extract and relocate the bigdata archive" do - cwd "/var/lib" - command "tar xvf /tmp/bigdata.tgz" + if node['bigdata'][:build_from_svn] + include_recipe "ant" + include_recipe "subversion" + + execute "checkout bigdata from svn repo" do + user 'ubuntu' + group 'ubuntu' + cwd "/home/ubuntu" + command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source]}" + end + + execute "build the nss tar ball" do + user 'ubuntu' + group 'ubuntu' + cwd node['bigdata'][:source] + command "ant package-brew-nss" + end + else + # + # Retrieve the package prepared for Brew: + # + remote_file "/tmp/bigdata.tgz" do + owner node['bigdata'][:user] + group node['bigdata'][:group] + source node['bigdata'][:url] + end + + execute "Extract and relocate the bigdata archive" do + cwd "/var/lib" + command "tar xvf /tmp/bigdata.tgz" + end + end Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/tomcat.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/tomcat.rb 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/tomcat.rb 2014-05-08 20:33:22 UTC (rev 8237) @@ -25,16 +25,44 @@ end - # - # Install the WAR file: - # - remote_file "#{node['tomcat'][:webapp_dir]}/bigdata.war" do - source node['bigdata'][:url] - owner node['tomcat'][:user] - group node['tomcat'][:group] + if node['bigdata'][:build_from_svn] + include_recipe "ant" + include_recipe "subversion" + + execute "checkout bigdata from svn repo" do + user 'ubuntu' + group 'ubuntu' + cwd "/home/ubuntu" + command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source]}" + end + + execute "build the war file" do + user 'ubuntu' + group 'ubuntu' + cwd node['bigdata'][:source] + command "ant war" + end + + # + # Install the WAR file: + # + remote_file "#{node['tomcat'][:webapp_dir]}/bigdata.war" do + source "#{node['bigdata'][:source]}/ant-build/bigdata.war" + owner node['tomcat'][:user] + group node['tomcat'][:group] + end + + else + # + # Install the WAR file: + # + remote_file "#{node['tomcat'][:webapp_dir]}/bigdata.war" do + source node['bigdata'][:url] + owner node['tomcat'][:user] + group node['tomcat'][:group] + end end - # # Create the JNL home directory # Modified: branches/DEPLOYMENT_BRANCH_1_3_1/build.xml =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/build.xml 2014-05-08 19:10:31 UTC (rev 8236) +++ branches/DEPLOYMENT_BRANCH_1_3_1/build.xml 2014-05-08 20:33:22 UTC (rev 8237) @@ -1219,6 +1219,21 @@ src="http://wiki.bigdata.com/wiki/index.php/NanoSparqlServer?printable=yes" /> + <!-- Stage files specific to NSS deployments provided by Brew and Chef. --> + <chmod file="${dist.bin}/bigdata" perm="755" /> + <copy file="${src.resources}/deployment/nss/bin/bigdataNSS" + todir="${dist.bin}" /> + <chmod file="${dist.bin}/bigdata" perm="755" /> + <copy file="${src.resources}/deployment/nss/bin/startNSS" + todir="${dist.bin}" /> + <chmod file="${dist.bin}/startNSS" perm="755" /> + <copy file="${src.resources}/deployment/nss/etc/jetty.xml" + todir="${dist.var.jetty}/etc" /> + <copy file="${src.resources}/deployment/nss/WEB-INF/RWStore.properties" + todir="${dist.var.jetty}/WEB-INF" /> + <copy file="${src.resources}/deployment/nss/WEB-INF/classes/log4j.properties" + todir="${dist.var.jetty}/WEB-INF/classes" /> + </target> <!-- --> @@ -1298,6 +1313,41 @@ </target> + <target name="package-brew-nss" depends="clean, stage" + description="Create compressed tar file for Jetty based deployment via Brew and Chef installers."> + + <tar destfile="${bigdata.dir}/REL-NSS.${version}.tgz" + compression="gzip"> + + <tarfileset dir="${bigdata.dir}/dist"> + <include name="bigdata/doc/**" /> + <exclude name="bigdata/doc/HAJournalServer.html" /> + <include name="bigdata/lib/**" /> + <exclude name="bigdata/lib/bigdata-ganglia.jar" /> + <exclude name="bigdata/lib/browser.jar" /> + <exclude name="bigdata/lib/reggie.jar" /> + <exclude name="bigdata/lib/zookeeper.jar" /> + <exclude name="bigdata/lib/jsk-*.jar" /> + <exclude name="bigdata/lib-dl" /> + <exclude name="bigdata/lib-ext" /> + <include name="bigdata/var/jetty/**" /> + <include name="bigdata/var/config/logging/logging.properties" /> + <exclude name="bigdata/var/jetty/jetty.xml" /> + <exclude name="bigdata/var/jetty/html/new.html" /> + <exclude name="bigdata/var/jetty/html/old.html" /> + </tarfileset> + + <!-- Add scripts separately, making them executable --> + + <tarfileset dir="${bigdata.dir}/dist" filemode="755"> + <include name="bigdata/bin/bigdataNSS" /> + <include name="bigdata/bin/startNSS" /> + </tarfileset> + </tar> + + </target> + + <!-- FIXME DEBUG and add 'depends="javadoc, stage" (should stage stage javadoc?)' --> <!-- Note: can require 'rpm' and 'rpm-build. --> <!-- TODO: We do not need both this and "deploy-artifact". --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dme...@us...> - 2014-05-12 18:06:20
|
Revision: 8286 http://sourceforge.net/p/bigdata/code/8286 Author: dmekonnen Date: 2014-05-12 18:06:17 +0000 (Mon, 12 May 2014) Log Message: ----------- Updates to support NSS builds from SVN Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb Added Paths: ----------- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdataNSS Removed Paths: ------------- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdata Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb 2014-05-12 16:41:31 UTC (rev 8285) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/attributes/default.rb 2014-05-12 18:06:17 UTC (rev 8286) @@ -23,7 +23,7 @@ default['bigdata'][:data_dir] = node['bigdata'][:home] + "/var/data" if node['bigdata'][:build_from_svn] - default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" + default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/DEPLOYMENT_BRANCH_1_3_1" end when "tomcat" default['tomcat'][:base_version] = 7 Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb 2014-05-12 16:41:31 UTC (rev 8285) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/systap-bigdata/recipes/nss.rb 2014-05-12 18:06:17 UTC (rev 8286) @@ -36,6 +36,15 @@ cwd "/home/ubuntu/#{node['bigdata'][:source]}" command "ant package-brew-nss" end + + execute "Extract and relocate the bigdata archive" do + cwd "/var/lib" + command "tar xvf /home/ubuntu/#{node['bigdata'][:source]}/REL-NSS.bigdata-1.*.tgz" + end + + link "/etc/init.d/bigdataNSS" do + to "#{node['bigdata'][:home]}/bin/bigdataNSS" + end else # # Retrieve the package prepared for Brew: @@ -51,6 +60,12 @@ command "tar xvf /tmp/bigdata.tgz" end + # + # The script name "bigdata" becomes "bigdataNSS" in the 1.3.1 release + # + link "/etc/init.d/bigdataNSS" do + to "#{node['bigdata'][:home]}/bin/bigdata" + end end @@ -61,10 +76,6 @@ command "chown -R #{node['bigdata'][:user]}:#{node['bigdata'][:group]} ." end - link "/etc/init.d/bigdataNSS" do - to "#{node['bigdata'][:home]}/bin/bigdata" - end - # # We shell out to make template substitutions # Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdata =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdata 2014-05-12 16:41:31 UTC (rev 8285) +++ branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdata 2014-05-12 18:06:17 UTC (rev 8286) @@ -1,109 +0,0 @@ -#!/bin/bash - -# init.d style script for bigdata HA services. The script can be used -# to 'start' or 'stop' services. -# -# Environment: -# -# binDir - The directory containing the installed scripts. -# pidFile - The pid is written on this file. -# -# Misc. -# -# See http://tldp.org/LDP/abs/html/index.html -# -# Note: Blank lines are significant in shell scripts. -# -# Note: Children must do "exit 0" to indicate success. -# -# Note: Convert DOS cr-lf to unix style in emacs: C-x RET f then unix - -# Source function library (just used for 'action'). If you don't have this -# it SHOULD automatically use the inline definition for "action()". - -# -# the following template line will be replaced by a deployer application (e.g. brew, chef) -# -export INSTALL_TYPE="<%= INSTALL_TYPE %>" -export BD_HOME="<%= BD_HOME %>" -pidFile=${BD_HOME}/var/lock/pid -binDir=${BD_HOME}/bin - - -# -# See how we were called. -# -case "$1" in - start) -# -# Start the ServiceStarter and child services if not running. -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then -# The process has died so remove the old pid file. - echo $"`date` : `hostname` : $pid died?" - rm -f "$pidFile" - fi - fi - if [ ! -f "$pidFile" ]; then - echo -ne $"`date` : `hostname` : bringing bigdata services up ... " - $binDir/startNSS - echo "done!" - else - echo $"`date` : `hostname` : running as $pid" - fi - ;; - stop) -# -# Stop the ServiceStarter and all child services. -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then -# The process has died so remove the old pid file. - echo $"`date` : `hostname` : $pid died?" - rm -f "$pidFile" - else - echo -ne $"`date` : `hostname` : bringing bigdata service down ... " - kill $pid - rm -f "$pidFile" - echo "done!" - fi - fi - ;; - status) -# -# Report status for the ServicesManager (up or down). -# - if [ -f "$pidFile" ]; then - read pid < "$pidFile" - pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) - if [ -z "$pidno" ]; then - echo $"`date` : `hostname` : process died? pid=$pid." - else - echo $"`date` : `hostname` : running as $pid." - fi - else - echo $"`date` : `hostname` : not running." - fi - ;; -# -# Simply stop then start. -# - restart) - $0 stop - $0 start - ;; - *) -# -# Usage -# - me=`basename $0` - echo $"Usage: $0 {start|stop|status|restart}" - exit 1 -esac - -exit 0 Copied: branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdataNSS (from rev 8207, branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdata) =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdataNSS (rev 0) +++ branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/deployment/nss/bin/bigdataNSS 2014-05-12 18:06:17 UTC (rev 8286) @@ -0,0 +1,109 @@ +#!/bin/bash + +# init.d style script for bigdata HA services. The script can be used +# to 'start' or 'stop' services. +# +# Environment: +# +# binDir - The directory containing the installed scripts. +# pidFile - The pid is written on this file. +# +# Misc. +# +# See http://tldp.org/LDP/abs/html/index.html +# +# Note: Blank lines are significant in shell scripts. +# +# Note: Children must do "exit 0" to indicate success. +# +# Note: Convert DOS cr-lf to unix style in emacs: C-x RET f then unix + +# Source function library (just used for 'action'). If you don't have this +# it SHOULD automatically use the inline definition for "action()". + +# +# the following template line will be replaced by a deployer application (e.g. brew, chef) +# +export INSTALL_TYPE="<%= INSTALL_TYPE %>" +export BD_HOME="<%= BD_HOME %>" +pidFile=${BD_HOME}/var/lock/pid +binDir=${BD_HOME}/bin + + +# +# See how we were called. +# +case "$1" in + start) +# +# Start the ServiceStarter and child services if not running. +# + if [ -f "$pidFile" ]; then + read pid < "$pidFile" + pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) + if [ -z "$pidno" ]; then +# The process has died so remove the old pid file. + echo $"`date` : `hostname` : $pid died?" + rm -f "$pidFile" + fi + fi + if [ ! -f "$pidFile" ]; then + echo -ne $"`date` : `hostname` : bringing bigdata services up ... " + $binDir/startNSS + echo "done!" + else + echo $"`date` : `hostname` : running as $pid" + fi + ;; + stop) +# +# Stop the ServiceStarter and all child services. +# + if [ -f "$pidFile" ]; then + read pid < "$pidFile" + pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) + if [ -z "$pidno" ]; then +# The process has died so remove the old pid file. + echo $"`date` : `hostname` : $pid died?" + rm -f "$pidFile" + else + echo -ne $"`date` : `hostname` : bringing bigdata service down ... " + kill $pid + rm -f "$pidFile" + echo "done!" + fi + fi + ;; + status) +# +# Report status for the ServicesManager (up or down). +# + if [ -f "$pidFile" ]; then + read pid < "$pidFile" + pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid ) + if [ -z "$pidno" ]; then + echo $"`date` : `hostname` : process died? pid=$pid." + else + echo $"`date` : `hostname` : running as $pid." + fi + else + echo $"`date` : `hostname` : not running." + fi + ;; +# +# Simply stop then start. +# + restart) + $0 stop + $0 start + ;; + *) +# +# Usage +# + me=`basename $0` + echo $"Usage: $0 {start|stop|status|restart}" + exit 1 +esac + +exit 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dme...@us...> - 2014-05-21 09:12:41
|
Revision: 8389 http://sourceforge.net/p/bigdata/code/8389 Author: dmekonnen Date: 2014-05-21 09:12:36 +0000 (Wed, 21 May 2014) Log Message: ----------- Synching with BIGDATA_RELEASE_1_3_1 Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/.classpath branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/BigdataStatics.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/Depends.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/CounterSet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/PIDStatCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/SarCpuUtilizationCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/VMStatCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/IOStatCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/VMStatCollector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/query/CounterSetBTreeSelector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/query/CounterSetSelector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/query/ICounterSelector.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/query/URLQueryModel.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/render/TextRenderer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/render/XHTMLRenderer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/render/XMLRenderer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/search/DefaultAnalyzerFactory.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/test/com/bigdata/search/TestAll.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/test/com/bigdata/search/TestKeyBuilder.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/test/com/bigdata/search/TestPrefixSearch.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/test/com/bigdata/search/TestSearch.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/test/com/bigdata/search/TestSearchRestartSafe.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEdge.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataElement.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataVertex.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/build.properties branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-ganglia/src/java/com/bigdata/ganglia/GangliaService.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/jini/start/config/JiniCoreServicesConfiguration.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/jini/start/process/JiniCoreServicesProcessHelper.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestAll_LBS.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/properties/PropertiesFormat.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ArbitraryLengthPathNode.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis_CanJoin.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceRegistry.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestAll.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestUnions.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/TestServiceRegistry.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepository.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepositoryConnection.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFContext.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServletContextListener.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConnegScore.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConnegUtil.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/CountersServlet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HALoadBalancerServlet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/NanoSparqlServer.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/RESTServlet.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/ConnectOptions.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedQuery.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/AbstractLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/HostScore.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/IHALoadBalancerPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/ServiceScore.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/NOPLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/RoundRobinLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/DefaultHostScoringRule.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/GangliaLBSPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/LoadOneHostScoringRule.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/samples/com/bigdata/samples/NSSEmbeddedExample.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataFederationSparqlTest.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll2.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestConneg.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestMultiTenancyAPI.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient2.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager2.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestProtocolAll.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestService794.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/WEB-INF/web.xml branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/css/style.css branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/index.html branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/html/js/workbench.js branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml branches/DEPLOYMENT_BRANCH_1_3_1/build.properties branches/DEPLOYMENT_BRANCH_1_3_1/build.xml branches/DEPLOYMENT_BRANCH_1_3_1/pom.xml branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/HAJournal.config branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/README branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/startHAServices branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/etc/default/bigdataHA Modified: branches/DEPLOYMENT_BRANCH_1_3_1/.classpath =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/.classpath 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/.classpath 2014-05-21 09:12:36 UTC (rev 8389) @@ -1,16 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> + <classpathentry kind="src" path="bigdata/src/java"/> <classpathentry kind="src" path="bigdata-rdf/src/java"/> + <classpathentry kind="src" path="bigdata-sails/src/java"/> + <classpathentry kind="src" path="bigdata-blueprints/src/java"/> + <classpathentry kind="src" path="bigdata/src/test"/> + <classpathentry kind="src" path="bigdata-rdf/src/test"/> + <classpathentry kind="src" path="bigdata-sails/src/test"/> + <classpathentry kind="src" path="bigdata-blueprints/src/test"/> + <classpathentry kind="src" path="bigdata-war/src"/> + <classpathentry kind="src" path="bigdata/src/resources/logging"/> <classpathentry kind="src" path="bigdata-rdf/src/samples"/> <classpathentry kind="src" path="dsi-utils/src/java"/> - <classpathentry kind="src" path="bigdata/src/resources/logging"/> <classpathentry kind="src" path="bigdata-sails/src/samples"/> <classpathentry kind="src" path="bigdata-jini/src/test"/> - <classpathentry kind="src" path="bigdata-sails/src/java"/> - <classpathentry kind="src" path="bigdata/src/java"/> - <classpathentry kind="src" path="bigdata-rdf/src/test"/> - <classpathentry kind="src" path="bigdata/src/test"/> - <classpathentry kind="src" path="bigdata-sails/src/test"/> <classpathentry kind="src" path="bigdata-jini/src/java"/> <classpathentry kind="src" path="contrib/src/problems"/> <classpathentry kind="src" path="bigdata/src/samples"/> @@ -21,7 +24,6 @@ <classpathentry kind="src" path="junit-ext/src/java"/> <classpathentry kind="src" path="lgpl-utils/src/java"/> <classpathentry kind="src" path="lgpl-utils/src/test"/> - <classpathentry kind="src" path="bigdata-war/src"/> <classpathentry kind="src" path="bigdata-ganglia/src/java"/> <classpathentry kind="src" path="bigdata-ganglia/src/test"/> <classpathentry kind="src" path="bigdata-rdf/src/resources/service-providers"/> @@ -74,7 +76,7 @@ <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-fileupload-1.2.2.jar"/> <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/httpcomponents/commons-io-2.1.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/apache/log4j-1.2.17.jar"/> - <classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.6.10-onejar.jar"/> + <classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/openrdf-sesame-2.6.10-onejar.jar" sourcepath="/Users/bryan/Documents/workspace/org.openrdf.sesame-2.6.10"/> <classpathentry exported="true" kind="lib" path="bigdata-rdf/lib/sesame-rio-testsuite-2.6.10.jar"/> <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/sesame-sparql-testsuite-2.6.10.jar"/> <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/sesame-store-testsuite-2.6.10.jar"/> @@ -86,11 +88,16 @@ <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-proxy-9.1.4.v20140401.jar" sourcepath="/Users/bryan/Downloads/org.eclipse.jetty.project-jetty-9.1.4.v20140401"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-rewrite-9.1.4.v20140401.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-security-9.1.4.v20140401.jar"/> - <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-server-9.1.4.v20140401.jar"/> + <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-server-9.1.4.v20140401.jar" sourcepath="/Users/bryan/Downloads/org.eclipse.jetty.project-jetty-9.1.4.v20140401"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-servlet-9.1.4.v20140401.jar"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-util-9.1.4.v20140401.jar"/> - <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-webapp-9.1.4.v20140401.jar"/> + <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-webapp-9.1.4.v20140401.jar" sourcepath="/Users/bryan/Downloads/org.eclipse.jetty.project-jetty-9.1.4.v20140401"/> <classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-xml-9.1.4.v20140401.jar"/> <classpathentry exported="true" kind="lib" path="bigdata-sails/lib/jackson-core-2.2.3.jar"/> + <classpathentry kind="lib" path="bigdata-blueprints/lib/jettison-1.3.3.jar"/> + <classpathentry kind="lib" path="bigdata-blueprints/lib/blueprints-core-2.5.0.jar"/> + <classpathentry kind="lib" path="bigdata-blueprints/lib/blueprints-test-2.5.0.jar"/> + <classpathentry kind="lib" path="bigdata-blueprints/lib/rexster-core-2.5.0.jar"/> + <classpathentry kind="lib" path="bigdata-blueprints/lib/commons-configuration-1.10.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/BigdataStatics.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/BigdataStatics.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/BigdataStatics.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -27,9 +27,6 @@ package com.bigdata; -import com.bigdata.counters.AbstractStatisticsCollector; -import com.bigdata.jini.start.process.ProcessHelper; - /** * A class for those few statics that it makes sense to reference from other * places. @@ -49,29 +46,31 @@ /** * The name of an environment variable whose value will be used as the * canoncial host name for the host running this JVM. This information is - * used by the {@link AbstractStatisticsCollector}, which is responsible for - * obtaining and reporting the canonical hostname for the {@link Banner} and - * other purposes. + * used by the {@link com.bigdata.counters.AbstractStatisticsCollector}, + * which is responsible for obtaining and reporting the canonical hostname + * for the {@link Banner} and other purposes. * - * @see AbstractStatisticsCollector - * @see Banner + * @see com.bigdata.counters.AbstractStatisticsCollector + * @see com.bigdata.Banner + * @see com.bigdata.ganglia.GangliaService#HOSTNAME * @see <a href="http://trac.bigdata.com/ticket/886" >Provide workaround for * bad reverse DNS setups</a> */ public static final String HOSTNAME = "com.bigdata.hostname"; - + /** * The #of lines of output from a child process which will be echoed onto * {@link System#out} when that child process is executed. This makes it * easy to track down why a child process dies during service start. If you * want to see all output from the child process, then you should set the - * log level for the {@link ProcessHelper} class to INFO. + * log level for the {@link com.bigdata.jini.start.process.ProcessHelper} + * class to INFO. * <p> - * Note: This needs to be more than the length of the {@link Banner} output - * in order for anything related to the process behavior to be echoed on - * {@link System#out}. + * Note: This needs to be more than the length of the + * {@link com.bigdata.Banner} output in order for anything related to the + * process behavior to be echoed on {@link System#out}. * - * @see ProcessHelper + * @see com.bigdata.jini.start.process.ProcessHelper */ public static int echoProcessStartupLineCount = 30;//Integer.MAX_VALUE;//100 Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/Depends.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/Depends.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/Depends.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -277,6 +277,10 @@ "https://github.com/tinkerpop/blueprints", "https://github.com/tinkerpop/blueprints/blob/master/LICENSE.txt"); + private final static Dep rexsterCore = new Dep("rexster-core", + "https://github.com/tinkerpop/rexster", + "https://github.com/tinkerpop/rexster/blob/master/LICENSE.txt"); + static private final Dep[] depends; static { depends = new Dep[] { // @@ -306,6 +310,7 @@ servletApi,// jacksonCore,// blueprintsCore,// + rexsterCore,// bigdataGanglia,// // scale-out jini,// Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -137,6 +137,7 @@ * The interval in seconds at which the counter values are read from the * host platform. */ + @Override public int getInterval() { return interval; @@ -225,8 +226,15 @@ * <p> * Note: Subclasses MUST extend this method to initialize their own * counters. + * + * TODO Why does this use the older <code>synchronized</code> pattern with a + * shared {@link #countersRoot} object rather than returning a new object + * per request? Check assumptions in the scale-out and local journal code + * bases for this. */ - synchronized public CounterSet getCounters() { + @Override + synchronized + public CounterSet getCounters() { if (countersRoot == null) { @@ -319,6 +327,7 @@ serviceRoot.addCounter(IProcessCounters.Memory_runtimeFreeMemory, new Instrument<Long>() { + @Override public void sample() { setValue(Runtime.getRuntime().freeMemory()); } @@ -326,6 +335,7 @@ serviceRoot.addCounter(IProcessCounters.Memory_runtimeTotalMemory, new Instrument<Long>() { + @Override public void sample() { setValue(Runtime.getRuntime().totalMemory()); } @@ -599,6 +609,7 @@ * Start collecting host performance data -- must be extended by the * concrete subclass. */ + @Override public void start() { if (log.isInfoEnabled()) @@ -612,6 +623,7 @@ * Stop collecting host performance data -- must be extended by the concrete * subclass. */ + @Override public void stop() { if (log.isInfoEnabled()) @@ -634,6 +646,7 @@ final Thread t = new Thread() { + @Override public void run() { AbstractStatisticsCollector.this.stop(); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/CounterSet.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/CounterSet.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/CounterSet.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -44,6 +44,8 @@ import org.apache.log4j.Logger; import org.xml.sax.SAXException; +import com.bigdata.util.StackInfoReport; + import cutthecrap.utils.striterators.Expander; import cutthecrap.utils.striterators.Filter; import cutthecrap.utils.striterators.IStriterator; @@ -87,7 +89,7 @@ */ public class CounterSet extends AbstractCounterSet implements ICounterSet { - static protected final Logger log = Logger.getLogger(CounterSet.class); + static private final Logger log = Logger.getLogger(CounterSet.class); // private String pathx; private final Map<String,ICounterNode> children = new ConcurrentHashMap<String,ICounterNode>(); @@ -107,7 +109,7 @@ * @param name * The name of the child. */ - private CounterSet(String name,CounterSet parent) { + private CounterSet(final String name, final CounterSet parent) { super(name,parent); @@ -159,6 +161,9 @@ // // } + /** + * Return <code>true</code> iff there are no children. + */ public boolean isLeaf() { return children.isEmpty(); @@ -216,7 +221,6 @@ } - @SuppressWarnings("unchecked") private void attach2(final ICounterNode src, final boolean replace) { if (src == null) @@ -286,7 +290,7 @@ } else { - ((Counter)src).parent = this; + ((Counter<?>)src).parent = this; } @@ -311,7 +315,8 @@ * @return The node -or- <code>null</code> if there is no node with that * path. */ - synchronized public ICounterNode detach(String path) { + @SuppressWarnings({ "rawtypes", "unchecked" }) + synchronized public ICounterNode detach(final String path) { final ICounterNode node = getPath(path); @@ -347,7 +352,7 @@ * @todo optimize for patterns that are anchored by filtering the child * {@link ICounterSet}. */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Iterator<ICounter> counterIterator(final Pattern filter) { final IStriterator src = new Striterator(directChildIterator( @@ -391,7 +396,7 @@ * * @return */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Iterator<ICounterNode> getNodes(final Pattern filter) { IStriterator src = ((IStriterator) postOrderIterator()) @@ -414,7 +419,8 @@ } - @SuppressWarnings("unchecked") + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) public Iterator<ICounter> getCounters(final Pattern filter) { IStriterator src = ((IStriterator) postOrderIterator()) @@ -450,8 +456,9 @@ * When <code>null</code> all directly attached children * (counters and counter sets) are visited. */ - public Iterator directChildIterator(boolean sorted, - Class<? extends ICounterNode> type) { + @SuppressWarnings("rawtypes") + public Iterator directChildIterator(final boolean sorted, + final Class<? extends ICounterNode> type) { /* * Note: In order to avoid concurrent modification problems under @@ -514,7 +521,7 @@ * child with a post-order traversal of its children and finally visits this * node itself. */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "rawtypes", "unchecked" }) public Iterator postOrderIterator() { /* @@ -531,6 +538,7 @@ * child with a pre-order traversal of its children and finally visits this * node itself. */ + @SuppressWarnings({ "rawtypes", "unchecked" }) public Iterator preOrderIterator() { /* @@ -562,7 +570,9 @@ /* * Expand each child in turn. */ - protected Iterator expand(Object childObj) { + @Override + @SuppressWarnings("rawtypes") + protected Iterator expand(final Object childObj) { /* * A child of this node. @@ -603,7 +613,9 @@ /* * Expand each child in turn. */ - protected Iterator expand(Object childObj) { + @Override + @SuppressWarnings("rawtypes") + protected Iterator expand(final Object childObj) { /* * A child of this node. @@ -624,7 +636,8 @@ } - public ICounterNode getChild(String name) { + @Override + public ICounterNode getChild(final String name) { if (name == null) throw new IllegalArgumentException(); @@ -642,6 +655,7 @@ * * @return The {@link CounterSet} described by the path. */ + @Override synchronized public CounterSet makePath(String path) { if (path == null) { @@ -740,6 +754,7 @@ * The object that is used to take the measurements from which * the counter's value will be determined. */ + @SuppressWarnings("rawtypes") synchronized public ICounter addCounter(final String path, final IInstrument instrument) { @@ -767,7 +782,7 @@ } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) private ICounter addCounter2(final String name, final IInstrument instrument) { if (name == null) @@ -785,7 +800,7 @@ if(counter instanceof ICounter ) { // counter exists for that path. - log.error("Exists: path=" + getPath() + ", name=" + name); + log.error(new StackInfoReport("Exists: path=" + getPath() + ", name=" + name)); // return existing counter for path @todo vs replace. return (ICounter)counter; @@ -831,12 +846,14 @@ * * @throws IOException */ + @Override public void asXML(Writer w, Pattern filter) throws IOException { XMLUtility.INSTANCE.writeXML(this, w, filter); } + @Override public void readXML(final InputStream is, final IInstrumentFactory instrumentFactory, final Pattern filter) throws IOException, ParserConfigurationException, SAXException { Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/PIDStatCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/PIDStatCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/PIDStatCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -28,13 +28,12 @@ package com.bigdata.counters.linux; -import java.io.File; import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import com.bigdata.counters.AbstractProcessCollector; import com.bigdata.counters.AbstractProcessReader; @@ -61,7 +60,6 @@ * repeat forever if interval was specified. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ public class PIDStatCollector extends AbstractProcessCollector implements ICounterHierarchy, IProcessCounters { @@ -92,7 +90,6 @@ * hierarchy. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ abstract class AbstractInst<T> implements IInstrument<T> { @@ -104,17 +101,19 @@ } - protected AbstractInst(String path) { + protected AbstractInst(final String path) { + + if (path == null) + throw new IllegalArgumentException(); - assert path != null; - this.path = path; } + @Override final public long lastModified() { - return lastModified; + return lastModified.get(); } @@ -122,7 +121,8 @@ * @throws UnsupportedOperationException * always. */ - final public void setValue(T value, long timestamp) { + @Override + final public void setValue(final T value, final long timestamp) { throw new UnsupportedOperationException(); @@ -135,13 +135,12 @@ * hierarchy. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ class IL extends AbstractInst<Long> { protected final long scale; - public IL(String path, long scale) { + public IL(final String path, final long scale) { super( path ); @@ -149,6 +148,7 @@ } + @Override public Long getValue() { final Long value = (Long) vals.get(path); @@ -170,13 +170,12 @@ * hierarchy. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ class ID extends AbstractInst<Double> { protected final double scale; - public ID(String path, double scale) { + public ID(final String path, final double scale) { super(path); @@ -184,6 +183,7 @@ } + @Override public Double getValue() { final Double value = (Double) vals.get(path); @@ -205,7 +205,7 @@ * as the last modified time for counters based on that process and * defaulted to the time that we begin to collect performance data. */ - private long lastModified = System.currentTimeMillis(); + private final AtomicLong lastModified = new AtomicLong(System.currentTimeMillis()); /** * Map containing the current values for the configured counters. The keys @@ -217,7 +217,7 @@ * declared within {@link #getCounters()} and not whatever path the counters * are eventually placed under within a larger hierarchy. */ - private Map<String,Object> vals = new HashMap<String, Object>(); + private final Map<String,Object> vals = new ConcurrentHashMap<String, Object>(); /** * @param pid @@ -229,7 +229,8 @@ * * @todo kernelVersion could be static. */ - public PIDStatCollector(int pid, int interval, KernelVersion kernelVersion) { + public PIDStatCollector(final int pid, final int interval, + final KernelVersion kernelVersion) { super(interval); @@ -269,79 +270,69 @@ command.add("-r"); // memory report // command.add("-w"); // context switching report (not implemented in our code). - - command.add(""+getInterval()); - + + command.add("" + getInterval()); + return command; } - /** - * Declare the counters that we will collect using <code>pidstat</code>. - * These counters are NOT placed within the counter hierarchy but are - * declared using the bare path for the counter. E.g., as - * {@link IProcessCounters#Memory_virtualSize}. - */ - /*synchronized*/ public CounterSet getCounters() { + @Override + public CounterSet getCounters() { -// if(root == null) { - - final CounterSet root = new CounterSet(); - - inst = new LinkedList<AbstractInst<?>>(); - - /* - * Note: Counters are all declared as Double to facilitate - * aggregation and scaling. - * - * Note: pidstat reports percentages as [0:100] so we normalize them - * to [0:1] using a scaling factor. - */ + final List<AbstractInst<?>> inst = new LinkedList<AbstractInst<?>>(); - inst.add(new ID(IProcessCounters.CPU_PercentUserTime,.01d)); - inst.add(new ID(IProcessCounters.CPU_PercentSystemTime,.01d)); - inst.add(new ID(IProcessCounters.CPU_PercentProcessorTime,.01d)); - - inst.add(new ID(IProcessCounters.Memory_minorFaultsPerSec,1d)); - inst.add(new ID(IProcessCounters.Memory_majorFaultsPerSec,1d)); - inst.add(new IL(IProcessCounters.Memory_virtualSize,Bytes.kilobyte)); - inst.add(new IL(IProcessCounters.Memory_residentSetSize,Bytes.kilobyte)); - inst.add(new ID(IProcessCounters.Memory_percentMemorySize,.01d)); + /* + * Note: Counters are all declared as Double to facilitate aggregation + * and scaling. + * + * Note: pidstat reports percentages as [0:100] so we normalize them to + * [0:1] using a scaling factor. + */ - /* - * Note: pidstat reports in kb/sec so we normalize to bytes/second - * using a scaling factor. - */ - inst.add(new ID(IProcessCounters.PhysicalDisk_BytesReadPerSec, Bytes.kilobyte32)); - inst.add(new ID(IProcessCounters.PhysicalDisk_BytesWrittenPerSec, Bytes.kilobyte32)); + inst.add(new ID(IProcessCounters.CPU_PercentUserTime, .01d)); + inst.add(new ID(IProcessCounters.CPU_PercentSystemTime, .01d)); + inst.add(new ID(IProcessCounters.CPU_PercentProcessorTime, .01d)); -// } + inst.add(new ID(IProcessCounters.Memory_minorFaultsPerSec, 1d)); + inst.add(new ID(IProcessCounters.Memory_majorFaultsPerSec, 1d)); + inst.add(new IL(IProcessCounters.Memory_virtualSize, Bytes.kilobyte)); + inst.add(new IL(IProcessCounters.Memory_residentSetSize, Bytes.kilobyte)); + inst.add(new ID(IProcessCounters.Memory_percentMemorySize, .01d)); + + /* + * Note: pidstat reports in kb/sec so we normalize to bytes/second using + * a scaling factor. + */ + inst.add(new ID(IProcessCounters.PhysicalDisk_BytesReadPerSec, + Bytes.kilobyte32)); + inst.add(new ID(IProcessCounters.PhysicalDisk_BytesWrittenPerSec, + Bytes.kilobyte32)); + + final CounterSet root = new CounterSet(); - for(Iterator<AbstractInst<?>> itr = inst.iterator(); itr.hasNext(); ) { - - final AbstractInst<?> i = itr.next(); - + for (AbstractInst<?> i : inst) { + root.addCounter(i.getPath(), i); - + } - + return root; - + } - private List<AbstractInst<?>> inst = null; -// private CounterSet root = null; - + /** - * Extended to force <code>pidstat</code> to use a consistent - * timestamp format regardless of locale by setting - * <code>S_TIME_FORMAT="ISO"</code> in the environment. + * Extended to force <code>pidstat</code> to use a consistent timestamp + * format regardless of locale by setting <code>S_TIME_FORMAT="ISO"</code> + * in the environment. */ - protected void setEnvironment(Map<String, String> env) { + @Override + protected void setEnvironment(final Map<String, String> env) { super.setEnvironment(env); - + env.put("S_TIME_FORMAT", "ISO"); - + } @Override @@ -374,10 +365,10 @@ * </pre> * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ protected class PIDStatReader extends ProcessReaderHelper { + @Override protected ActiveProcess getActiveProcess() { if (activeProcess == null) @@ -410,6 +401,7 @@ * is possible that this will not work when the host is * using an English locale. */ + @Override protected void readProcess() throws IOException, InterruptedException { if(log.isInfoEnabled()) @@ -478,7 +470,7 @@ * time of the start of the current day, which is what we would have * to do. */ - lastModified = System.currentTimeMillis(); + lastModified.set(System.currentTimeMillis()); if(header.contains("%CPU")) { Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/SarCpuUtilizationCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/SarCpuUtilizationCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/SarCpuUtilizationCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -28,12 +28,11 @@ package com.bigdata.counters.linux; -import java.io.File; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import com.bigdata.counters.AbstractProcessCollector; import com.bigdata.counters.AbstractProcessReader; @@ -51,31 +50,16 @@ * <code>sar -u</code>. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ public class SarCpuUtilizationCollector extends AbstractProcessCollector implements ICounterHierarchy, IRequiredHostCounters, IHostCounters { -// static protected final Logger log = Logger -// .getLogger(SarCpuUtilizationCollector.class); -// -// /** -// * True iff the {@link #log} level is DEBUG or less. -// */ -// final protected static boolean DEBUG = log.isDebugEnabled(); -// -// /** -// * True iff the {@link #log} level is log.isInfoEnabled() or less. -// */ -// final protected static boolean log.isInfoEnabled() = log.isInfoEnabled(); - /** * Inner class integrating the current values with the {@link ICounterSet} * hierarchy. * * @author <a href="mailto:tho...@us...">Bryan * Thompson</a> - * @version $Id$ */ abstract class I<T> implements IInstrument<T> { @@ -87,17 +71,19 @@ } - public I(String path) { + public I(final String path) { - assert path != null; + if (path == null) + throw new IllegalArgumentException(); this.path = path; } + @Override public long lastModified() { - return lastModified; + return lastModified.get(); } @@ -105,7 +91,8 @@ * @throws UnsupportedOperationException * always. */ - public void setValue(T value, long timestamp) { + @Override + public void setValue(final T value, final long timestamp) { throw new UnsupportedOperationException(); @@ -117,13 +104,12 @@ * Double precision counter with scaling factor. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ class DI extends I<Double> { protected final double scale; - DI(String path, double scale) { + DI(final String path, final double scale) { super( path ); @@ -131,7 +117,7 @@ } - + @Override public Double getValue() { final Double value = (Double) vals.get(path); @@ -153,12 +139,12 @@ * keys are paths into the {@link CounterSet}. The values are the data * most recently read from <code>sar</code>. */ - private Map<String,Object> vals = new HashMap<String, Object>(); + private final Map<String,Object> vals = new ConcurrentHashMap<String, Object>(); /** * The timestamp associated with the most recently collected values. */ - private long lastModified = System.currentTimeMillis(); + private final AtomicLong lastModified = new AtomicLong(System.currentTimeMillis()); /** * @@ -173,6 +159,7 @@ } + @Override public List<String> getCommand() { final List<String> command = new LinkedList<String>(); @@ -192,53 +179,44 @@ } - /** - * Declares the counters that we will collect using <code>sar</code>. - */ - /*synchronized*/ public CounterSet getCounters() { + @Override + public CounterSet getCounters() { -// if(root == null) { - - final CounterSet root = new CounterSet(); - - inst = new LinkedList<I>(); - - /* - * Note: Counters are all declared as Double to facilitate - * aggregation. - * - * Note: sar reports percentages in [0:100] so we convert them to - * [0:1] using a scaling factor. - */ + final CounterSet root = new CounterSet(); - inst.add(new DI(IRequiredHostCounters.CPU_PercentProcessorTime,.01d)); - - inst.add(new DI(IHostCounters.CPU_PercentUserTime,.01d)); - inst.add(new DI(IHostCounters.CPU_PercentSystemTime,.01d)); - inst.add(new DI(IHostCounters.CPU_PercentIOWait,.01d)); - - for(Iterator<I> itr = inst.iterator(); itr.hasNext(); ) { - - final I i = itr.next(); - - root.addCounter(i.getPath(), i); - - } - -// } + @SuppressWarnings("rawtypes") + final List<I> inst = new LinkedList<I>(); + + /* + * Note: Counters are all declared as Double to facilitate aggregation. + * + * Note: sar reports percentages in [0:100] so we convert them to [0:1] + * using a scaling factor. + */ + + inst.add(new DI(IRequiredHostCounters.CPU_PercentProcessorTime, .01d)); + + inst.add(new DI(IHostCounters.CPU_PercentUserTime, .01d)); + inst.add(new DI(IHostCounters.CPU_PercentSystemTime, .01d)); + inst.add(new DI(IHostCounters.CPU_PercentIOWait, .01d)); + + for (@SuppressWarnings("rawtypes") I i : inst) { + + root.addCounter(i.getPath(), i); + + } return root; } - private List<I> inst = null; -// private CounterSet root = null; /** * Extended to force <code>sar</code> to use a consistent timestamp * format regardless of locale by setting * <code>S_TIME_FORMAT="ISO"</code> in the environment. */ - protected void setEnvironment(Map<String, String> env) { + @Override + protected void setEnvironment(final Map<String, String> env) { super.setEnvironment(env); @@ -246,6 +224,7 @@ } + @Override public AbstractProcessReader getProcessReader() { return new SarReader(); @@ -269,10 +248,10 @@ * * @author <a href="mailto:tho...@us...">Bryan * Thompson</a> - * @version $Id$ */ private class SarReader extends ProcessReaderHelper { + @Override protected ActiveProcess getActiveProcess() { if (activeProcess == null) @@ -376,7 +355,7 @@ * adjusting for the UTC time of the start of the current day, * which is what we would have to do. */ - lastModified = System.currentTimeMillis(); + lastModified.set(System.currentTimeMillis()); // final String user = data.substring(20-1, 30-1); //// final String nice = data.substring(30-1, 40-1); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/VMStatCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/VMStatCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/linux/VMStatCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -28,11 +28,11 @@ package com.bigdata.counters.linux; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import java.util.regex.Pattern; import com.bigdata.counters.AbstractProcessCollector; @@ -50,7 +50,6 @@ * Collects some counters using <code>vmstat</code>. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ */ public class VMStatCollector extends AbstractProcessCollector implements ICounterHierarchy, IRequiredHostCounters, IHostCounters{ @@ -61,7 +60,6 @@ * * @author <a href="mailto:tho...@us...">Bryan * Thompson</a> - * @version $Id$ */ abstract class I<T> implements IInstrument<T> { @@ -73,17 +71,19 @@ } - public I(String path) { + public I(final String path) { - assert path != null; + if (path == null) + throw new IllegalArgumentException(); this.path = path; } + @Override public long lastModified() { - return lastModified; + return lastModified.get(); } @@ -91,7 +91,8 @@ * @throws UnsupportedOperationException * always. */ - public void setValue(T value, long timestamp) { + @Override + public void setValue(final T value, final long timestamp) { throw new UnsupportedOperationException(); @@ -108,15 +109,15 @@ protected final double scale; - DI(String path, double scale) { + DI(final String path, final double scale) { + + super(path); - super( path ); - this.scale = scale; } - + @Override public Double getValue() { final Double value = (Double) vals.get(path); @@ -138,24 +139,26 @@ * are paths into the {@link CounterSet}. The values are the data most * recently read from <code>vmstat</code>. */ - final private Map<String, Object> vals = new HashMap<String, Object>(); + final private Map<String, Object> vals = new ConcurrentHashMap<String, Object>(); /** * The timestamp associated with the most recently collected values. */ - private long lastModified = System.currentTimeMillis(); + private final AtomicLong lastModified = new AtomicLong( + System.currentTimeMillis()); /** * <code>true</code> iff you want collect the user time, system time, * and IO WAIT time using vmstat (as opposed to sar). */ - protected final boolean cpuStats; + private final boolean cpuStats; /** * The {@link Pattern} used to split apart the rows read from * <code>vmstat</code>. */ - final protected static Pattern pattern = Pattern.compile("\\s+"); + // Note: Exposed to the test suite. + final static Pattern pattern = Pattern.compile("\\s+"); /** * @@ -173,6 +176,7 @@ } + @Override public List<String> getCommand() { final List<String> command = new LinkedList<String>(); @@ -192,12 +196,12 @@ /** * Declares the counters that we will collect */ + @Override public CounterSet getCounters() { - final CounterSet root = new CounterSet(); + @SuppressWarnings("rawtypes") + final List<I> inst = new LinkedList<I>(); - inst = new LinkedList<I>(); - /* * Note: Counters are all declared as Double to facilitate aggregation. */ @@ -257,20 +261,19 @@ } - for (Iterator<I> itr = inst.iterator(); itr.hasNext();) { + final CounterSet root = new CounterSet(); - final I i = itr.next(); + for (@SuppressWarnings("rawtypes") I i : inst) { - root.addCounter(i.getPath(), i); + root.addCounter(i.getPath(), i); - } + } return root; } - private List<I> inst = null; - + @Override public AbstractProcessReader getProcessReader() { return new VMStatReader(); @@ -296,6 +299,7 @@ */ private class VMStatReader extends ProcessReaderHelper { + @Override protected ActiveProcess getActiveProcess() { if (activeProcess == null) @@ -317,7 +321,7 @@ if(log.isInfoEnabled()) log.info("begin"); - for(int i=0; i<10 && !getActiveProcess().isAlive(); i++) { + for (int i = 0; i < 10 && !getActiveProcess().isAlive(); i++) { if(log.isInfoEnabled()) log.info("waiting for the readerFuture to be set."); @@ -362,7 +366,7 @@ try { // timestamp - lastModified = System.currentTimeMillis(); + lastModified.set(System.currentTimeMillis()); final String[] fields = pattern.split(data.trim(), 0/* limit */); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/IOStatCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/IOStatCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/IOStatCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -28,11 +28,11 @@ package com.bigdata.counters.osx; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import java.util.regex.Pattern; import com.bigdata.counters.AbstractProcessCollector; @@ -48,14 +48,13 @@ import com.bigdata.rawstore.Bytes; /** - * Collects some counters using <code>iostat</code>. Unfortunately, + * Collects some counters using <code>iostat</code> under OSX. Unfortunately, * <code>iostat</code> does not break down the reads and writes and does not * report IO Wait. This information is obviously available from OSX as it is * provided by the ActivityMonitor, but we can not get it from * <code>iostat</code>. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id: VMStatCollector.java 4289 2011-03-10 21:22:30Z thompsonbry $ */ public class IOStatCollector extends AbstractProcessCollector implements ICounterHierarchy, IRequiredHostCounters, IHostCounters{ @@ -77,7 +76,7 @@ } - public I(String path) { + public I(final String path) { assert path != null; @@ -85,9 +84,10 @@ } + @Override public long lastModified() { - return lastModified; + return lastModified.get(); } @@ -95,7 +95,8 @@ * @throws UnsupportedOperationException * always. */ - public void setValue(T value, long timestamp) { + @Override + public void setValue(final T value, final long timestamp) { throw new UnsupportedOperationException(); @@ -114,7 +115,7 @@ DI(final String path) { - this(path,1d); + this(path, 1d); } @@ -126,7 +127,7 @@ } - + @Override public Double getValue() { final Double value = (Double) vals.get(path); @@ -146,14 +147,14 @@ /** * Map containing the current values for the configured counters. The keys * are paths into the {@link CounterSet}. The values are the data most - * recently read from <code>vmstat</code>. + * recently read from <code>iostat</code>. */ - final private Map<String, Object> vals = new HashMap<String, Object>(); + final private Map<String, Object> vals = new ConcurrentHashMap<String, Object>(); /** * The timestamp associated with the most recently collected values. */ - private long lastModified = System.currentTimeMillis(); + private final AtomicLong lastModified = new AtomicLong(System.currentTimeMillis()); /** * The {@link Pattern} used to split apart the rows read from @@ -178,7 +179,8 @@ this.cpuStats = cpuStats; } - + + @Override public List<String> getCommand() { final List<String> command = new LinkedList<String>(); @@ -203,14 +205,13 @@ } - /** - * Declares the counters that we will collect - */ + @Override public CounterSet getCounters() { final CounterSet root = new CounterSet(); - inst = new LinkedList<I>(); + @SuppressWarnings("rawtypes") + final List<I> inst = new LinkedList<I>(); /* * Note: Counters are all declared as Double to facilitate aggregation. @@ -249,24 +250,22 @@ inst.add(new DI(IHostCounters.CPU_PercentUserTime, .01d)); // Note: column sy inst.add(new DI(IHostCounters.CPU_PercentSystemTime, .01d)); -// // Note: IO Wait is NOT reported by vmstat. +// // Note: IO Wait is NOT reported by iostat. // inst.add(new DI(IHostCounters.CPU_PercentIOWait, .01d)); } - for (Iterator<I> itr = inst.iterator(); itr.hasNext();) { + for (@SuppressWarnings("rawtypes") I i : inst) { - final I i = itr.next(); + root.addCounter(i.getPath(), i); - root.addCounter(i.getPath(), i); + } - } - return root; } - private List<I> inst = null; + @Override public AbstractProcessReader getProcessReader() { return new IOStatReader(); @@ -300,6 +299,7 @@ */ private class IOStatReader extends ProcessReaderHelper { + @Override protected ActiveProcess getActiveProcess() { if (activeProcess == null) @@ -427,7 +427,7 @@ try { // timestamp - lastModified = System.currentTimeMillis(); + lastModified.set(System.currentTimeMillis()); final String[] fields = pattern .split(data.trim(), 0/* limit */); Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/VMStatCollector.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/VMStatCollector.java 2014-05-20 20:03:55 UTC (rev 8388) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/java/com/bigdata/counters/osx/VMStatCollector.java 2014-05-21 09:12:36 UTC (rev 8389) @@ -28,11 +28,11 @@ package com.bigdata.counters.osx; -import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import java.util.regex.Pattern; import com.bigdata.counters.AbstractProcessCollector; @@ -72,17 +72,19 @@ } - public I(String path) { - - assert path != null; - + public I(final String path) { + + if (path == null) + throw new IllegalArgumentException(); + this.path = path; } + @Override public long lastModified() { - return lastModified; + return lastModified.get(); } @@ -90,6 +92,7 @@ * @throws UnsupportedOperationException * always. */ + @Override public void setValue(T value, long timestamp) { throw new UnsupportedOperationException(); @@ -108,20 +111,20 @@ protected final double scale; DI(final String path) { - - this(path,1d); + this(path, 1d); + } DI(final String path, final double scale) { - - super( path ); - + + super(path); + this.scale = scale; - + } - - + + @Override public Double getValue() { final Double value = (Double) vals.get(path); @@ -143,12 +146,13 @@ * are paths into the {@link CounterSet}. The values are the data most * recently read from <code>vmstat</code>. */ - final private Map<String, Object> vals = new HashMap<String, Object>(); - + private final Map<String, Object> vals = new ConcurrentHashMap<String, Object>(); + /** * The timestamp associated with the most recently collected values. */ - private long lastModified = System.currentTimeMillis(); + private final AtomicLong lastModified = new AtomicLong( + System.currentTimeMillis()); /** * The {@link Pattern} used to split apart the rows read from @@ -166,7 +170,8 @@ super(interval); } - + + @Override public List<String> getCommand() { final List<String> command = new LinkedList<String>(); @@ -180,14 +185,13 @@ } - /** - * Declares the counters that we will collect - */ + @Override public CounterSet getCounters() { final CounterSet root = new CounterSet(); - inst = new LinkedList<I>(); + @SuppressWarnings("rawtypes") + final List<I> inst = new LinkedList<I>(); /* * Note: Counters are all declared as Double to facilitate aggregation. @@ -209,19 +213,17 @@ */ inst.add(new DI(IHostCounters.Memory_Bytes_Free)); - for (Iterator<I> itr = inst.iterator(); itr.hasNext();) { + for (@SuppressWarnin... [truncated message content] |
From: <dme...@us...> - 2014-05-21 10:27:45
|
Revision: 8398 http://sourceforge.net/p/bigdata/code/8398 Author: dmekonnen Date: 2014-05-21 10:27:42 +0000 (Wed, 21 May 2014) Log Message: ----------- deletions. Removed Paths: ------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/bigdata-ganglia-1.0.1.jar branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/bigdata-ganglia-1.0.2.jar branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/lib/blueprints-core-2.4.0.jar branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataBlueprintsGraph.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEventTransactionalGraph.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/QueryManager.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IDoNotJoinService.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/IHALoadBalancerPolicy.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/HostTable.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/IHostScoringRule.java branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/NOPHostScoringRule.java Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/bigdata-ganglia-1.0.1.jar =================================================================== (Binary files differ) Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/lib/bigdata-ganglia-1.0.2.jar =================================================================== (Binary files differ) Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/lib/blueprints-core-2.4.0.jar =================================================================== (Binary files differ) Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataBlueprintsGraph.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataBlueprintsGraph.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataBlueprintsGraph.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,141 +0,0 @@ -package com.bigdata.blueprints; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import sun.reflect.generics.reflectiveObjects.NotImplementedException; - -import com.tinkerpop.blueprints.Edge; -import com.tinkerpop.blueprints.Features; -import com.tinkerpop.blueprints.GraphQuery; -import com.tinkerpop.blueprints.TransactionalGraph; -import com.tinkerpop.blueprints.Vertex; - - -public abstract class BigdataBlueprintsGraph implements BigdataEventTransactionalGraph { - // elements that we will be deleting from the store - private ArrayList<BigdataElement> removedElements = new ArrayList<BigdataElement>(); - // vertices that we will be adding to the store - private HashMap<String,BigdataVertex> addedVertices = new HashMap<String,BigdataVertex>(); - // elements that we will be adding to the store - private HashMap<String,BigdataEdge> addedEdges = new HashMap<String,BigdataEdge>(); - private QueryManager qm = null; - - public BigdataBlueprintsGraph () { } - - public BigdataBlueprintsGraph (QueryManager qm) { this.qm = qm; } - - public void setQueryManager(QueryManager qm) { this.qm = qm; } - public QueryManager getQueryManager() { return qm; } - - public void commit() { - // form and submit query - // - // - // - throwUnimplemented( "commit" ); - } - - public void rollback() { - throwUnimplemented( "rollback" ); - } - - public void stopTransaction(TransactionalGraph.Conclusion conclusion) { - throwUnimplemented( "stopTransaction" ); - } - - public void shutdown() { - throwUnimplemented( "shutdown" ); - } - - public Vertex getVertex(Object id) { - // we can only remove an item from the "add" queue - return addedVertices.get( (String) id ); - } - - public BigdataBlueprintsGraph getBasseGraph() { return this; } - - public Edge addEdge(Object id, BigdataVertex outVertex, BigdataVertex inVertex, String label) { - BigdataEdge edge = new BigdataEdge( (String)id, outVertex, inVertex, label ); - addedEdges.put((String)id, edge); - return edge; - } - - public Features getFeatures() { - throwUnimplemented( "getFeatures" ); - return (Features)null; - } - - public Vertex addVertex(Object id) { - BigdataVertex v = new BigdataVertex( (String)id ); - addedVertices.put( (String)id, v ); - return v; - } - - public void removeVertex(BigdataVertex vertex) { - addedVertices.remove( vertex.getId() ); // if present - removedElements.add( vertex ); - } - - public Iterable<Vertex> getVertices(String key, Object value) { - throwUnimplemented( "getVertices(String key, Object value)" ); - return (Iterable<Vertex>)null; - } - - public Iterable<Vertex> getVertices() { - // we only return what is in the "add" queue - final List<Vertex> vertexList = new ArrayList<Vertex>(); - vertexList.addAll( addedVertices.values() ); - return vertexList; - } - - public Edge getEdge(Object id) { - // we can only remove an item from the "add" queue - return addedEdges.get( (String) id ); - } - - public void removeEdge(BigdataEdge edge) { - addedEdges.remove( edge.getId() ); // if present - removedElements.add( edge ); - } - - public Iterable<Edge> getEdges(String key, Object value) { - throwUnimplemented( "getEdges(String key, Object value)" ); - return (Iterable<Edge>)null; - } - - public Iterable<Edge> getEdges() { - // we only return what is in the add queue - final List<Edge> edgeList = new ArrayList<Edge>(); - edgeList.addAll( addedEdges.values() ); - return edgeList; - } - - public GraphQuery query() { - throwUnimplemented( "queries" ); - return (GraphQuery)null; - } - - // @SuppressWarnings("deprecation") - private void throwUnimplemented(String method) { - // unchecked( new Exception( "The '" + method + "' has not been implemented." ) ); - throw new NotImplementedException(); - } - - - /* Maybe use later - * - public static RuntimeException unchecked(Throwable e) { - BigdataBlueprintsGraph.<RuntimeException>throwAny(e); - return null; - } - - @SuppressWarnings("unchecked") - private static <E extends Throwable> void throwAny(Throwable e) throws E { - throw (E)e; - } - */ - -} - Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEventTransactionalGraph.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEventTransactionalGraph.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/BigdataEventTransactionalGraph.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,8 +0,0 @@ -package com.bigdata.blueprints; - -import com.tinkerpop.blueprints.Graph; -import com.tinkerpop.blueprints.ThreadedTransactionalGraph; - -public interface BigdataEventTransactionalGraph extends Graph, ThreadedTransactionalGraph { - -} Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/QueryManager.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/QueryManager.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-blueprints/src/java/com/bigdata/blueprints/QueryManager.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,54 +0,0 @@ -package com.bigdata.blueprints; - -import java.util.List; - - -public interface QueryManager { - - /* - * Set the SPARQL endpoint to exchange with. - */ - public void setEndpoint( String endpointURL ); - - /* - * Set the Vertices and Edges to form deletion queries from - */ - public void setDeleteElements( List<BigdataElement> elements ); - - /* - * Set the Vertices and Edges to form insertion queries from - */ - public void setInsertElements( List<BigdataElement> elements ); - - /* - * Resets private query variables to null. - */ - public void reset(); - - /* - * Returns the aggregate INSERT{ } clause for asserted triples. - */ - public String getInsertClause(); - - /* - * Returns the aggregate DELETE{ } clause for asserted triples. - */ - public String getDeleteClause(); - - /* - * Returns an array of DELETE{ <URI> ?p ?o } WHERE{ <URI> ?p ?o } queries to delete every - * triple of an Element. - */ - public String[] getDeleteQueries(); - - /* - * Build the internal representation of the queries. - */ - public void buildQUeries(); - - /* - * Submits the update query to the server, no result set returned. - */ - public void commitUpdate(); - -} Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IDoNotJoinService.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IDoNotJoinService.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IDoNotJoinService.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,35 +0,0 @@ -/** - -Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -package com.bigdata.rdf.sparql.ast.service; - -/** - * Service calls can implement this interface and they will not be routed - * through a hash join in the query plan. They will be responsible for their - * own join internally. - * - * @author mikepersonick - */ -public interface IDoNotJoinService { - -} Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/IHALoadBalancerPolicy.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/IHALoadBalancerPolicy.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/IHALoadBalancerPolicy.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,104 +0,0 @@ -/** -Copyright (C) SYSTAP, LLC 2006-2007. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -package com.bigdata.rdf.sail.webapp; - -import java.io.IOException; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.bigdata.journal.IIndexManager; - -/** - * Load balancer policy interface. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * - * @see HALoadBalancerServlet - * @see <a href="http://trac.bigdata.com/ticket/624">HA Load Balancer</a> - */ -public interface IHALoadBalancerPolicy { - - /** - * Initialize the load balancer policy. - * - * @param servletConfig - * @param indexManager - */ - void init(ServletConfig servletConfig, IIndexManager indexManager) - throws ServletException; - - /** - * Destroy the load balancer policy (stop any asynchronous processing, - * release any resources). - */ - void destroy(); - - /** - * Invoked for each request. If the response is not committed, then it will - * be handled by the {@link HALoadBalancerServlet}. - * - * @param isLeaderRequest - * <code>true</code> iff this request must be directed to the - * leaeder and <code>false</code> iff this request may be load - * balanced over the joined services. UPDATEs MUST be handled by - * the leader. Read requests can be handled by any service that - * is joined with the met quorum. - * @param request - * The request. - * @param response - * The response. - * - * @return <code>true</code> iff the request was handled. - */ - boolean service(final boolean isLeaderRequest, - final HttpServletRequest request, final HttpServletResponse response) - throws ServletException, IOException; - - /** - * Return the URL to which a non-idempotent request will be proxied. - * - * @param req - * The request. - * - * @return The proxyTo URL -or- <code>null</code> if we could not find a - * service to which we could proxy this request. - */ - String getLeaderURL(HttpServletRequest req); - - /** - * Return the URL to which a <strong>read-only</strong> request will be - * proxied. The returned URL must include the protocol, hostname and port - * (if a non-default port will be used) as well as the target request path. - * - * @param req - * The request. - * - * @return The proxyTo URL -or- <code>null</code> if we could not find a - * service to which we could proxy this request. - */ - String getReaderURL(HttpServletRequest req); - -} Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/HostTable.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/HostTable.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/HostTable.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,65 +0,0 @@ -/** -Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -package com.bigdata.rdf.sail.webapp.lbs.policy.ganglia; - -import java.util.Arrays; - -import com.bigdata.rdf.sail.webapp.lbs.HostScore; - -/** - * Class bundles together the set of {@link HostScore}s for services that are - * joined with the met quorum and the {@link HostScore} for this service (iff it - * is joined with the met quorum). - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - */ -public class HostTable { - - /** - * The most recent score for this host -or- <code>null</code> iff there - * is not score for this host. - */ - final public HostScore thisHost; - - /** - * The table of pre-scored hosts -or- <code>null</code> iff there are no - * host scores. Only hosts that have services that are joined with the met - * quorum will appear in this table. - */ - final public HostScore[] hostScores; - - public HostTable(final HostScore thisHost, final HostScore[] hostScores) { - this.thisHost = thisHost; - this.hostScores = hostScores; - } - - @Override - public String toString() { - - return "HostTable{this=" + thisHost + ",hostScores=" - + (hostScores == null ? "N/A" : Arrays.toString(hostScores)) - + "}"; - - } - -} \ No newline at end of file Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/IHostScoringRule.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/IHostScoringRule.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/IHostScoringRule.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,44 +0,0 @@ -/** -Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -package com.bigdata.rdf.sail.webapp.lbs.policy.ganglia; - -import com.bigdata.ganglia.IHostReport; - -/** - * Interface for scoring the load on a host. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - */ -public interface IHostScoringRule { - - /** - * Return a score for the given {@link IHostReport}. - * - * @param hostReport - * The {@link IHostReport}. - * - * @return The score. - */ - public double getScore(final IHostReport hostReport); - -} \ No newline at end of file Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/NOPHostScoringRule.java =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/NOPHostScoringRule.java 2014-05-21 10:23:40 UTC (rev 8397) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/lbs/policy/ganglia/NOPHostScoringRule.java 2014-05-21 10:27:42 UTC (rev 8398) @@ -1,41 +0,0 @@ -/** -Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -package com.bigdata.rdf.sail.webapp.lbs.policy.ganglia; - -import com.bigdata.ganglia.IHostReport; - -/** - * Returns ONE for each host (all hosts appear to have an equal workload). - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - */ -public class NOPHostScoringRule implements IHostScoringRule { - - @Override - public double getScore(final IHostReport hostReport) { - - return 1d; - - } - -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dme...@us...> - 2014-05-22 15:58:34
|
Revision: 8410 http://sourceforge.net/p/bigdata/code/8410 Author: dmekonnen Date: 2014-05-22 15:58:30 +0000 (Thu, 22 May 2014) Log Message: ----------- Updates to support the published 1.3.1 packages. Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/brew/bigdata.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/README.md branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/attributes/default.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/metadata.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/high_availability.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/mapgraph.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/nss.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/tomcat.rb branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/metadata.rb branches/DEPLOYMENT_BRANCH_1_3_1/build.xml Added Paths: ----------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn Removed Paths: ------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/templates/default/jetty.xml.erb Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/brew/bigdata.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/brew/bigdata.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/brew/bigdata.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -2,22 +2,23 @@ class Bigdata < Formula homepage "http://bigdata.com/" - url "http://bigdata.com/deploy/bigdata-1.3.0.tgz" - sha1 "c22fa05df965019b3132161507ce0e77a4a1f6e2" +# url "http://bigdata.com/deploy/bigdata-1.3.0.tgz" +# sha1 "c22fa05df965019b3132161507ce0e77a4a1f6e2" + url "http://bigdata.com/deploy/bigdata-1.3.1.tgz" + sha1 "bcfacd08b1e1c7429d3ca31b8632a20cdff1fb79" def install prefix.install "doc", "var", "bin" - libexec.install "lib" + libexec.install Dir["lib/*.jar"] + File.rename "#{bin}/bigdataNSS", "#{bin}/bigdata" + # Set the installation path as the root for the bin scripts: inreplace "#{bin}/bigdata" do |s| s.sub! "<%= BD_HOME %>", prefix s.sub! "<%= INSTALL_TYPE %>", "BREW" end - # Set the Jetty root as the resourceBase in the jetty.xml file: - inreplace "#{prefix}/var/jetty/etc/jetty.xml", "<%= JETTY_DIR %>", "#{prefix}/var/jetty" - # Set the installation path as the root for bigdata.jnl file location (<bigdata_home>/data): inreplace "#{prefix}/var/jetty/WEB-INF/RWStore.properties", "<%= BD_HOME %>", prefix Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/README.md =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/README.md 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/README.md 2014-05-22 15:58:30 UTC (rev 8410) @@ -1,10 +1,10 @@ Bigdata Cookbook ================ -The Bigdata cookbook provides the [bigdata v1.3.0](http://www.bigdata.com/bigdata/blog/) opensource triplestore/graph database. The cookbook provides recipes to install the Bigdata server as a web application under Tomcat, with its own embedded Jetty server (NSS - the NanoSparqlServer). The recipes will install pre-configured packages by node and optionally may build and install the server directly from source archive. +The Bigdata cookbook provides the [bigdata v1.3.1](http://www.bigdata.com/) opensource triplestore/graph database. The cookbook provides recipes to install the Bigdata server as a web application under Tomcat, with its own embedded Jetty server (NSS - the NanoSparqlServer). The recipes will install pre-configured packages by node and optionally may build and install the server directly from source archive. For more info on Bigdata please visit: -* Bigdata Homepage: [http://www.bigdata.com/bigdata/blog/](http://www.bigdata.com/bigdata/blog/) +* Bigdata Homepage: [http://www.bigdata.com/](http://www.bigdata.com/) * Bigdata SourceForge Page: [http://sourceforge.net/projects/bigdata/](http://sourceforge.net/projects/bigdata/) Requirements @@ -21,7 +21,7 @@ `node['bigdata'][:home]` - The root directory for bigdata contents (Default: `/var/lib/bigdata`) -`node['bigdata'][:url]` - Where to download the bigdata package file from. (Defaults: Tomcat: http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/1.3.0/bigdata.war / NSS: http://bigdata.com/deploy/bigdata-1.3.0.tgz) +`node['bigdata'][:url]` - Where to download the bigdata package file from. (Defaults: Tomcat: http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/1.3.1/bigdata.war / NSS: http://bigdata.com/deploy/bigdata-1.3.1.tgz) `node['bigdata'][:data_dir]` - Where the bigdata.jnl resides. Discussed in <a href="http://sourceforge.net/apps/mediawiki/bigdata/index.php?title=NanoSparqlServer#Common_Startup_Problems">Common Startup Problmems</a> Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/attributes/default.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/attributes/default.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/attributes/default.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -8,6 +8,7 @@ # default['bigdata'][:user] = "bigdata" default['bigdata'][:group] = "bigdata" +default['bigdata'][:base_version] = "1.3.1" # # When "build_from_svn" is "true", code retrieved from subversion will be downloaded to the "source_dir" directory: @@ -18,7 +19,7 @@ case node['bigdata'][:install_flavor] when "nss" # The URL to the bigdata-nss bundle. The following is the same bundle used by the Bigdata Brew installer: - default['bigdata'][:url] = "http://bigdata.com/deploy/bigdata-1.3.0.tgz" + default['bigdata'][:url] = "http://bigdata.com/deploy/bigdata-#{node['bigdata'][:base_version]}.tgz" # Where the jetty resourceBase is defined: default['bigdata'][:jetty_dir] = node['bigdata'][:home] + "/var/jetty" @@ -41,7 +42,7 @@ default['tomcat'][:java_options] = "-Djava.awt.headless=true -server -Xmx4G -XX:+UseG1GC" # A SourceForge URL to use for downloading the bigdata.war file: - default['bigdata'][:url] = "http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/1.3.0/bigdata.war" + default['bigdata'][:url] = "http://hivelocity.dl.sourceforge.net/project/bigdata/bigdata/#{node['bigdata'][:base_version]}/bigdata.war" # Where the bigdata contents reside under Tomcat: default['bigdata'][:web_home] = default['tomcat'][:webapp_dir] + "/bigdata" @@ -60,15 +61,13 @@ default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" end when "ha" - # - # Presently Bigdata HA can only be deployed from an SVN build so we set the flag to true: - # - default['bigdata'][:build_from_svn] = true + # The URL to the bigdataHA release bundle. + default['bigdata'][:url] = "http://softlayer-dal.dl.sourceforge.net/project/bigdata/bigdata/#{node['bigdata'][:base_version]}/REL.bigdata-#{node['bigdata'][:base_version]}.tgz" # The subversion branch to use when building from source: if node['bigdata'][:build_from_svn] - # default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" - default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/DEPLOYMENT_BRANCH_1_3_1" + # default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/BIGDATA_RELEASE_1_3_0" + default['bigdata'][:svn_branch] = "https://svn.code.sf.net/p/bigdata/code/branches/DEPLOYMENT_BRANCH_1_3_1" end # Where the bigdata-ha.jnl file will live: Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/metadata.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/metadata.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/metadata.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -4,7 +4,7 @@ license 'GNU GPLv2' description 'Installs/Configures Systap Bigdata High Availability' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.1.3' +version '0.1.4' depends 'apt' depends 'java', '>= 1.22.0' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/high_availability.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/high_availability.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/high_availability.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -11,9 +11,7 @@ if node['bigdata'][:install_flavor] == "ha" include_recipe "java" - include_recipe "ant" include_recipe "sysstat" - include_recipe "subversion::client" include_recipe "hadoop::zookeeper_server" # @@ -28,12 +26,12 @@ # Create the bigdata systm user: # user node['bigdata'][:user] do - gid node['bigdata'][:group] - supports :manage_home => true - shell "/bin/false" - home node['bigdata'][:home] - system true - action :create + gid node['bigdata'][:group] + supports :manage_home => true + shell "/bin/false" + home node['bigdata'][:home] + system true + action :create end # @@ -46,34 +44,92 @@ command "chown -R #{node['bigdata'][:user]}:#{node['bigdata'][:group]} ." end - # - # Retrieve the Bigdata source from the specified subversion branch: - # - execute "checkout bigdata from svn repo" do - user 'ubuntu' - group 'ubuntu' - cwd "/home/ubuntu" - command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" - end + if node['bigdata'][:build_from_svn] + include_recipe "ant" + include_recipe "subversion::client" + # + # Retrieve the Bigdata source from the specified subversion branch: + # + execute "checkout bigdata from svn repo" do + user 'ubuntu' + group 'ubuntu' + cwd "/home/ubuntu" + command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" + end - # - # Build the bigdata release package: - # - execute "ant deploy-artifact" do - user 'ubuntu' - group 'ubuntu' - cwd node['bigdata'][:source_dir] - command "ant deploy-artifact" - end + # + # Build the bigdata release package: + # + execute "ant deploy-artifact" do + user 'ubuntu' + group 'ubuntu' + cwd node['bigdata'][:source_dir] + command "ant deploy-artifact" + end - # - # Extract the just built release package, thus installing it in the Bigdata home directory: - # - execute "deflate REL tar" do - user node['bigdata'][:user] - group node['bigdata'][:group] - cwd "#{node['bigdata'][:home]}/.." - command "tar xvf #{node['bigdata'][:source_dir]}/REL.bigdata-1.*.tgz" + # + # Extract the just built release package, thus installing it in the Bigdata home directory: + # + execute "deflate REL tar" do + user node['bigdata'][:user] + group node['bigdata'][:group] + cwd "#{node['bigdata'][:home]}/.." + command "tar xvf #{node['bigdata'][:source_dir]}/REL.bigdata-1.*.tgz" + end + + else + # + # Retrieve the package prepared for Brew: + # + remote_file "/tmp/bigdata.tgz" do + owner node['bigdata'][:user] + group node['bigdata'][:group] + source node['bigdata'][:url] + end + + # + # Extract the just retrieved release package, thus installing it in the Bigdata home directory: + # + + execute "Extract and relocate the bigdata archive" do + user node['bigdata'][:user] + group node['bigdata'][:group] + cwd "#{node['bigdata'][:home]}/.." + command "tar xvf /tmp/bigdata.tgz" + end + + # + # The following are assumed fixed in releases after 1.3.1 and in the current subversion branch: + # + if node['bigdata'][:base_version].gsub(/\./, '').to_i == 131 + execute "Divert standard and error output into /dev/null" do + user 'root' + group 'root' + cwd "#{node['bigdata'][:home]}/etc/init.d" + command "sed -i 's|startHAServices\"|startHAServices > /dev/null 2>\&1 \&\"|' bigdataHA" + end + + execute "Change SystemProperty to Property in the 'host' attribute of jetty.xml" do + user 'root' + group 'root' + cwd node['bigdata'][:jetty_dir] + command "sed -i 's|<Set name=\"host\"><SystemProperty|<Set name=\"host\"><Property|' jetty.xml" + end + + execute "Change SystemProperty to Property in the 'port' attribute of jetty.xml" do + user 'root' + group 'root' + cwd node['bigdata'][:jetty_dir] + command "sed -i 's|<Set name=\"port\"><SystemProperty|<Set name=\"port\"><Property|' jetty.xml" + end + + execute "Change SystemProperty to Property in the 'idleTimeout' attribute of jetty.xml" do + user 'root' + group 'root' + cwd node['bigdata'][:jetty_dir] + command "sed -i 's|<Set name=\"idleTimeout\"><SystemProperty|<Set name=\"idleTimeout\"><Property|' jetty.xml" + end + end end # @@ -107,16 +163,6 @@ end # - # Install the jetty.xml file: - # - template "#{node['bigdata'][:jetty_dir]}/jetty.xml" do - source "jetty.xml.erb" - owner node['bigdata'][:user] - group node['bigdata'][:group] - mode 00644 - end - - # # Set the absolute path to the RWStore.properties file # execute "set absolute path to RWStore.properties" do Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/mapgraph.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/mapgraph.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/mapgraph.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -15,10 +15,10 @@ # Make sure the Bigdata home directory is owned by the bigdata user and group: # execute "pull mapgraph from svn repo" do - user 'ec2-user' - group 'ec2-user' - cwd "/home/ec2-user" - command "svn checkout #{node['mapgraph'][:svn_branch]} #{node['mapgraph'][:source_dir]}" + user 'ec2-user' + group 'ec2-user' + cwd "/home/ec2-user" + command "svn checkout #{node['mapgraph'][:svn_branch]} #{node['mapgraph'][:source_dir]}" end @@ -26,8 +26,8 @@ # Build MapGgraph: # execute "make mapgraph" do - cwd node['mapgraph'][:source_dir] - command "make" + cwd node['mapgraph'][:source_dir] + command "make" end @@ -36,8 +36,8 @@ # Run a basic test of MapGraph: # execute "test mapgraph" do - cwd node['mapgraph'][:source_dir] - command "./Algorithms/SSSP/SSSP -g smallRegressionGraphs/small.mtx" + cwd node['mapgraph'][:source_dir] + command "./Algorithms/SSSP/SSSP -g smallRegressionGraphs/small.mtx" end Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/nss.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/nss.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/nss.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -16,8 +16,8 @@ # Create the bigdata systm group: # group node['bigdata'][:group] do - action :create - append true + action :create + append true end # @@ -34,34 +34,36 @@ if node['bigdata'][:build_from_svn] - include_recipe "ant" - include_recipe "subversion::client" + include_recipe "ant" + include_recipe "subversion::client" # # Retrieve the Bigdata source from the specified subversion branch: # execute "checkout bigdata from svn repo" do - user 'ubuntu' - group 'ubuntu' - cwd "/home/ubuntu" - command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" + user 'ubuntu' + group 'ubuntu' + cwd "/home/ubuntu" + command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" end # # Build the bigdata release package: # execute "build the nss tar ball" do - user 'ubuntu' - group 'ubuntu' - cwd node['bigdata'][:source_dir] - command "ant package-nss-brew" + user 'ubuntu' + group 'ubuntu' + cwd node['bigdata'][:source_dir] + command "ant package-nss-brew" end # # Extract the just built release package, thus installing it in the Bigdata home directory: # execute "Extract and relocate the bigdata archive" do - cwd "/var/lib" + user node['bigdata'][:user] + group node['bigdata'][:group] + cwd "#{node['bigdata'][:home]}/.." command "tar xvf #{node['bigdata'][:source_dir]}/REL-NSS.bigdata-1.*.tgz" end else @@ -78,30 +80,14 @@ # Extract the just retrieved release package, thus installing it in the Bigdata home directory: # execute "Extract and relocate the bigdata archive" do - cwd "/var/lib" + user node['bigdata'][:user] + group node['bigdata'][:group] + cwd "#{node['bigdata'][:home]}/.." command "tar xvf /tmp/bigdata.tgz" end - - # - # Rename "bigbdata" to "bigdataNSS" for now. This block can be removed in the 1.3.1 update for the Brew package - # - execute "Extract and relocate the bigdata archive" do - cwd "#{node['bigdata'][:home]}/bin" - command "mv bigdata bigdataNSS" - end end # - # Make sure the Bigdata home directory is owned by the bigdata user and group: - # - execute "change the ownership of the bigdata home directory to bigdata, which strangely is not" do - user "root" - group "root" - cwd node['bigdata'][:home] - command "chown -R #{node['bigdata'][:user]}:#{node['bigdata'][:group]} ." - end - - # # Create a symbolic link of the bin/bigdataNSS script to /etc/init.d/bigdataNSS: # link "/etc/init.d/bigdataNSS" do @@ -112,43 +98,35 @@ # Set the install type in the bin/bigdataNSS script: # execute "set the INSTALL_TYPE in bin/bigdata" do - cwd "#{node['bigdata'][:home]}/bin" - command "sed -i 's|<%= INSTALL_TYPE %>|#{node['bigdata'][:install_flavor]}|' bigdataNSS" + cwd "#{node['bigdata'][:home]}/bin" + command "sed -i 's|<%= INSTALL_TYPE %>|#{node['bigdata'][:install_flavor]}|' bigdataNSS" end # # Set the Bigdata home directory in the bin/bigdataNSS file: # execute "set the BD_HOME in bin/bigdata" do - cwd "#{node['bigdata'][:home]}/bin" - command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' bigdataNSS" + cwd "#{node['bigdata'][:home]}/bin" + command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' bigdataNSS" end # # Set the absolute path to the bigdata.jnl file in RWStore.properties # execute "set the BD_HOME in RWStore.properties" do - cwd "#{node['bigdata'][:jetty_dir]}/WEB-INF" - command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' RWStore.properties" + cwd "#{node['bigdata'][:jetty_dir]}/WEB-INF" + command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' RWStore.properties" end # # Set the Bigdata home directory in the log4j.properties file to set the path for the log files: # execute "set the BD_HOME in log4j.properties" do - cwd "#{node['bigdata'][:jetty_dir]}/WEB-INF/classes" - command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' log4j.properties" + cwd "#{node['bigdata'][:jetty_dir]}/WEB-INF/classes" + command "sed -i 's|<%= BD_HOME %>|#{node['bigdata'][:home]}|' log4j.properties" end # - # Install the jetty.xml file: - # - execute "set the JETTY_DIR in jetty.xml" do - cwd "#{node['bigdata'][:jetty_dir]}/etc/" - command "sed -i 's|<%= JETTY_DIR %>|#{node['bigdata'][:jetty_dir]}|' jetty.xml" - end - - # # Setup the bigdataNSS script as a service: # service "bigdataNSS" do Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/tomcat.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/tomcat.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/recipes/tomcat.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -22,23 +22,23 @@ # Error: Could not create the Java Virtual Machine. # execute "comment out 2nd JAVA_OPTS line in /etc/default/tomcat7" do - cwd "/etc/default" - command "sed -i 's|JAVA_OPTS=\"${JAVA_OPTS} -XX:+UseConcMarkSweepGC\"|#JAVA_OPTS=\"${JAVA_OPTS} -XX:+UseConcMarkSweepGC\"|' tomcat7" + cwd "/etc/default" + command "sed -i 's|JAVA_OPTS=\"${JAVA_OPTS} -XX:+UseConcMarkSweepGC\"|#JAVA_OPTS=\"${JAVA_OPTS} -XX:+UseConcMarkSweepGC\"|' tomcat7" end if node['bigdata'][:build_from_svn] - include_recipe "ant" - include_recipe "subversion::client" + include_recipe "ant" + include_recipe "subversion::client" # # Retrieve the Bigdata source from the specified subversion branch: # execute "checkout bigdata from svn repo" do - user 'ubuntu' - group 'ubuntu' - cwd "/home/ubuntu" - command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" + user 'ubuntu' + group 'ubuntu' + cwd "/home/ubuntu" + command "svn checkout #{node['bigdata'][:svn_branch]} #{node['bigdata'][:source_dir]}" end # @@ -124,24 +124,23 @@ # process do not unnecessarily alarm anyone. # execute "remove log files before retart" do - cwd "#{node['tomcat'][:log_dir]}" - command "rm *" + cwd "#{node['tomcat'][:log_dir]}" + command "rm *" end - # # The RWStore.properties path is the only property that needs to be adjusted in the web.xml file. # Using a sed command to adjust the property avoids the need to maintain a web.xml template which # in turn updates frequently relative to the other property files. Thus this recipe becomes # suitable against a larger range of bigdata releases. # - if node['bigdata'][:build_from_svn] + if node['bigdata'][:base_version].gsub(/\./, '').to_i >= 131 # # Set the RWStore.properties path in the web.xml file: # execute "set absolute path for RWStore.properties" do - cwd "#{node['bigdata'][:web_home]}/WEB-INF" - command "sed -i 's|<param-value>../webapps/bigdata/WEB-INF/RWStore.properties|<param-value>#{node['bigdata'][:home]}/RWStore.properties|' web.xml" + cwd "#{node['bigdata'][:web_home]}/WEB-INF" + command "sed -i 's|<param-value>../webapps/bigdata/WEB-INF/RWStore.properties|<param-value>#{node['bigdata'][:home]}/RWStore.properties|' web.xml" end # @@ -152,18 +151,18 @@ end else # - # 1.3.0 uses a different path for RWStore.properties. We can remove this if block in 1.3.1 + # 1.3.0 and earlier uses a different path for RWStore.properties. We can remove this if block in 1.3.1 # execute "set absolute path for RWStore.properties" do - cwd "#{node['bigdata'][:web_home]}/WEB-INF" - command "sed -i 's|<param-value>../webapps/bigdata/RWStore.properties|<param-value>#{node['bigdata'][:home]}/RWStore.properties|' web.xml" + cwd "#{node['bigdata'][:web_home]}/WEB-INF" + command "sed -i 's|<param-value>../webapps/bigdata/RWStore.properties|<param-value>#{node['bigdata'][:home]}/RWStore.properties|' web.xml" end # # Remove original RWStore.properties file to avoid user confusion # file "#{node['bigdata'][:web_home]}/RWStore.properties" do - action :delete + action :delete end end end Deleted: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/templates/default/jetty.xml.erb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/templates/default/jetty.xml.erb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/chef/templates/default/jetty.xml.erb 2014-05-22 15:58:30 UTC (rev 8410) @@ -1,195 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> -<!-- See http://www.eclipse.org/jetty/documentation/current/ --> -<!-- See http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax --> -<Configure id="Server" class="org.eclipse.jetty.server.Server"> - - <!-- =========================================================== --> - <!-- Configure the Server Thread Pool. --> - <!-- The server holds a common thread pool which is used by --> - <!-- default as the executor used by all connectors and servlet --> - <!-- dispatches. --> - <!-- --> - <!-- Configuring a fixed thread pool is vital to controlling the --> - <!-- maximal memory footprint of the server and is a key tuning --> - <!-- parameter for tuning. In an application that rarely blocks --> - <!-- then maximal threads may be close to the number of 5*CPUs. --> - <!-- In an application that frequently blocks, then maximal --> - <!-- threads should be set as high as possible given the memory --> - <!-- available. --> - <!-- --> - <!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool --> - <!-- for all configuration that may be set here. --> - <!-- =========================================================== --> - <!-- uncomment to change type of threadpool --> - <Arg name="threadpool"><New id="threadpool" class="org.eclipse.jetty.util.thread.QueuedThreadPool"/></Arg> - <!-- --> - <Get name="ThreadPool"> - <Set name="minThreads" type="int"><SystemProperty name="jetty.threads.min" default="10"/></Set> - <Set name="maxThreads" type="int"><SystemProperty name="jetty.threads.max" default="64"/></Set> - <Set name="idleTimeout" type="int"><SystemProperty name="jetty.threads.timeout" default="60000"/></Set> - <Set name="detailedDump">false</Set> - </Get> - - <!-- =========================================================== --> - <!-- Get the platform mbean server --> - <!-- =========================================================== --> - <Call id="MBeanServer" class="java.lang.management.ManagementFactory" - name="getPlatformMBeanServer" /> - - <!-- =========================================================== --> - <!-- Initialize the Jetty MBean container --> - <!-- =========================================================== --> - <!-- Note: This breaks CI if it is enabled - <Call name="addBean"> - <Arg> - <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer"> - <Arg> - <Ref refid="MBeanServer" /> - </Arg> - </New> - </Arg> - </Call>--> - - <!-- Add the static log to the MBean server. - <Call name="addBean"> - <Arg> - <New class="org.eclipse.jetty.util.log.Log" /> - </Arg> - </Call>--> - - <!-- For remote MBean access (optional) - <New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer"> - <Arg> - <New class="javax.management.remote.JMXServiceURL"> - <Arg type="java.lang.String">rmi</Arg> - <Arg type="java.lang.String" /> - <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1090"/></Arg> - <Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg> - </New> - </Arg> - <Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg> - <Call name="start" /> - </New>--> - - <!-- =========================================================== --> - <!-- Http Configuration. --> - <!-- This is a common configuration instance used by all --> - <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)--> - <!-- It configures the non wire protocol aspects of the HTTP --> - <!-- semantic. --> - <!-- --> - <!-- Consult the javadoc of o.e.j.server.HttpConfiguration --> - <!-- for all configuration that may be set here. --> - <!-- =========================================================== --> - <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> - <Set name="secureScheme">https</Set> - <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set> - <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set> - <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set> - <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set> - <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set> - <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set> - <Set name="headerCacheSize">512</Set> - <!-- Uncomment to enable handling of X-Forwarded- style headers - <Call name="addCustomizer"> - <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> - </Call> - --> - </New> - - <!-- Configure the HTTP endpoint. --> - <Call name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg name="server"><Ref refid="Server" /></Arg> - <Arg name="factories"> - <Array type="org.eclipse.jetty.server.ConnectionFactory"> - <Item> - <New class="org.eclipse.jetty.server.HttpConnectionFactory"> - <Arg name="config"><Ref refid="httpConfig" /></Arg> - </New> - </Item> - </Array> - </Arg> - <Set name="host"><Property name="jetty.host" /></Set> - <Set name="port"><Property name="jetty.port" default="8080" /></Set> - <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> - </New> - </Arg> - </Call> - - <!-- =========================================================== --> - <!-- Set handler Collection Structure --> - <!-- =========================================================== --> - <!-- Recommended approach: does not work for HA CI test suite. - <Set name="handler"> - <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> - <Set name="handlers"> - <Array type="org.eclipse.jetty.server.Handler"> - <Item> - <New id="WebAppContext" class="org.eclipse.jetty.webapp.WebAppContext"> - <Set name="war"> - <SystemProperty name="jetty.resourceBase" default="bigdata-war/src" /> - </Set> - <Set name="contextPath">/bigdata</Set> - <Set name="descriptor">WEB-INF/web.xml</Set> - <Set name="parentLoaderPriority">true</Set> - <Set name="extractWAR">false</Set> - </New> - </Item> - </Array> - </Set> - </New> - </Set> --> - <Set name="handler"> - <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> - <Set name="handlers"> - <Array type="org.eclipse.jetty.server.Handler"> - <Item> - <!-- This is the bigdata web application. --> - <New id="WebAppContext" class="org.eclipse.jetty.webapp.WebAppContext"> - <Set name="resourceBase"> - <!-- The location of the top-level of the bigdata webapp. --> - <Property name="jetty.resourceBase" default="<%= node['bigdata'][:jetty_dir] %>" /> - </Set> - <Set name="contextPath">/bigdata</Set> - <Set name="descriptor">WEB-INF/web.xml</Set> - <Set name="descriptor"><%= node['bigdata'][:jetty_dir] %>/WEB-INF/web.xml</Set> - <Set name="parentLoaderPriority">true</Set> - <Set name="extractWAR">false</Set> - </New> - </Item> - <Item> - <!-- This appears to be necessary in addition to the above. --> - <!-- Without this, it will not resolve http://localhost:8080/ --> - <!-- and can fail to deliver some of the static content. --> - <New id="ResourceHandler" class="org.eclipse.jetty.server.handler.ResourceHandler"> - <Set name="resourceBase"> - <!-- The location of the top-level of the bigdata webapp. --> - <Property name="jetty.resourceBase" default="<%= node['bigdata'][:jetty_dir] %>" /> - </Set> - <Set name="welcomeFiles"> - <Array type="java.lang.String"> - <Item>html/index.html</Item> - </Array> - </Set> - </New> - </Item> - <!-- <Item> - <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"></New> - </Item> --> - </Array> - </Set> - </New> - </Set> - - <!-- =========================================================== --> - <!-- extra server options --> - <!-- =========================================================== --> - <Set name="stopAtShutdown">true</Set> - <Set name="stopTimeout">5000</Set> - <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set> - <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set> - -</Configure> Added: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn (rev 0) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn 2014-05-22 15:58:30 UTC (rev 8410) @@ -0,0 +1,212 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : +# +# Vagraant.aws.ha3 - Install the Bigdata High Availability Server with 3 Nodes with an AWS Provider +# +# This vagrant file is meant to be launched by the bin/createCluster.sh script. +# +# The launch synopsis for this Vagrantfile: +# +# % bin/createCluster.sh +# +ENV['VAGRANT_DEFAULT_PROVIDER'] = 'aws' + +Vagrant.require_plugin "vagrant-berkshelf" + +Vagrant.configure("2") do |config| + # All Vagrant configuration is done here. The most common configuration + # options are documented and commented below. For a complete reference, + # please see the online documentation at vagrantup.com. + +config.vm.define :bigdataA do |bigdataA| + bigdataA.vm.box = "dummy" + bigdataA.vm.hostname = ENV['BIGDATA_HA_HOST_A'] + + bigdataA.berkshelf.enabled = true + + bigdataA.vm.provider :aws do |aws, override| + aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] + aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] + aws.keypair_name = ENV['AWS_KEYPAIR_NAME'] + + aws.ami = ENV['AWS_AMI'] + + aws.block_device_mapping = [ + { + :DeviceName => "/dev/sdb", + :VirtualName => "ephemeral0" + }, + { + :DeviceName => "/dev/sdc", + :VirtualName => "ephemeral1" + } + ] + + aws.region = ENV['AWS_REGION'] + aws.instance_type = ENV['AWS_INSTANCE_TYPE'] + aws.security_groups = [ ENV['AWS_SECURITY_GROUPS'], ENV['AWS_SECURITY_GROUP_PRIVATE'] ] + + aws.tags = { + 'Name' => ENV['BIGDATA_HA_HOST_A'] + } + + override.ssh.username = ENV['AWS_AMI_USERNAME'] + override.ssh.private_key_path = ENV['AWS_SSH_PRIVATE_KEY'] + end + + bigdataA.vm.provision :chef_solo do |chef| + chef.json = { + :bigdata => { + :install_flavor => "ha", + :build_from_svn => true + }, + :java => { + :install_flavor => "oracle", + :jdk_version => "7", + :oracle => { 'accept_oracle_download_terms' => true } + }, + :zookeeper => { + :zoocfg => { :clientPort=> '2081' } + } + } + + bigdataA.vm.provision :shell, inline: "sudo apt-get update ; sudo curl -L https://www.opscode.com/chef/install.sh | sudo bash" + + chef.run_list = [ + "recipe[bigdata::ssd]", + "recipe[bigdata::high_availability]" + ] + + end + +end # bigdataA + + +config.vm.define :bigdataB do |bigdataB| + bigdataB.vm.box = "dummy" + bigdataB.vm.hostname = ENV['BIGDATA_HA_HOST_B'] + + bigdataB.berkshelf.enabled = true + + bigdataB.vm.provider :aws do |aws, override| + aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] + aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] + aws.keypair_name = ENV['AWS_KEYPAIR_NAME'] + + aws.ami = ENV['AWS_AMI'] + + aws.block_device_mapping = [ + { + :DeviceName => "/dev/sdb", + :VirtualName => "ephemeral0" + }, + { + :DeviceName => "/dev/sdc", + :VirtualName => "ephemeral1" + } + ] + + aws.region = ENV['AWS_REGION'] + aws.instance_type = ENV['AWS_INSTANCE_TYPE'] + aws.security_groups = [ ENV['AWS_SECURITY_GROUPS'], ENV['AWS_SECURITY_GROUP_PRIVATE'] ] + + aws.tags = { + 'Name' => ENV['BIGDATA_HA_HOST_B'] + } + + override.ssh.username = ENV['AWS_AMI_USERNAME'] + override.ssh.private_key_path = ENV['AWS_SSH_PRIVATE_KEY'] + end + + bigdataB.vm.provision :chef_solo do |chef| + chef.json = { + :bigdata => { + :install_flavor => "ha", + :build_from_svn => true + }, + :java => { + :install_flavor => "oracle", + :jdk_version => "7", + :oracle => { 'accept_oracle_download_terms' => true } + }, + :zookeeper => { + :zoocfg => { :clientPort=> '2081' } + } + } + + bigdataB.vm.provision :shell, inline: "sudo apt-get update ; sudo curl -L https://www.opscode.com/chef/install.sh | sudo bash" + + chef.run_list = [ + "recipe[bigdata::ssd]", + "recipe[bigdata::high_availability]" + ] + + end + +end # bigdataB + + +config.vm.define :bigdataC do |bigdataC| + bigdataC.vm.box = "dummy" + bigdataC.vm.hostname = ENV['BIGDATA_HA_HOST_C'] + + bigdataC.berkshelf.enabled = true + + bigdataC.vm.provider :aws do |aws, override| + aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] + aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] + aws.keypair_name = ENV['AWS_KEYPAIR_NAME'] + + aws.ami = ENV['AWS_AMI'] + + aws.block_device_mapping = [ + { + :DeviceName => "/dev/sdb", + :VirtualName => "ephemeral0" + }, + { + :DeviceName => "/dev/sdc", + :VirtualName => "ephemeral1" + } + ] + + aws.region = ENV['AWS_REGION'] + aws.instance_type = ENV['AWS_INSTANCE_TYPE'] + aws.security_groups = [ ENV['AWS_SECURITY_GROUPS'], ENV['AWS_SECURITY_GROUP_PRIVATE'] ] + + aws.tags = { + 'Name' => ENV['BIGDATA_HA_HOST_C'] + } + + override.ssh.username = ENV['AWS_AMI_USERNAME'] + override.ssh.private_key_path = ENV['AWS_SSH_PRIVATE_KEY'] + end + + bigdataC.vm.provision :chef_solo do |chef| + chef.json = { + :bigdata => { + :install_flavor => "ha", + :build_from_svn => true + }, + :java => { + :install_flavor => "oracle", + :jdk_version => "7", + :oracle => { 'accept_oracle_download_terms' => true } + }, + :zookeeper => { + :zoocfg => { :clientPort=> '2081' } + } + } + + bigdataC.vm.provision :shell, inline: "sudo apt-get update ; sudo curl -L https://www.opscode.com/chef/install.sh | sudo bash" + + chef.run_list = [ + "recipe[bigdata::ssd]", + "recipe[bigdata::high_availability]" + ] + + end + +end # bigdataC + +end Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh 2014-05-22 15:58:30 UTC (rev 8410) @@ -8,7 +8,7 @@ rm .aws_security_group vagrant up # -# Occassionally AWS has timeout issues. If this occurs, launch the cluster instances individually: +# Occassionally, usually during svn based builds, AWS has timeout issues. If this occurs, launch the cluster instances individually: # # vagrant up bigdataA # echo "\nbigdataA is up\n" Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py 2014-05-22 15:58:30 UTC (rev 8410) @@ -94,6 +94,6 @@ # status, stdin, stderr = ssh_client.run( "sudo service bigdataHA restart" ) # host.reboot() - print "The hosts are now rebooting, this may take several minutes. \nOnce back up, you may confirm status by visiting:\n" + print "The bigdata HA service is now restarting, this may take several minutes. \nOnce back up, you may confirm status by visiting:\n" for host in bigdataHosts: print "\thttp://" + host.__dict__['ip_address'] + ":8080/bigdata/status\n" Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat 2014-05-22 15:58:30 UTC (rev 8410) @@ -42,7 +42,8 @@ chef.json = { :bigdata => { :install_flavor => "tomcat", - :build_from_svn => false + :build_from_svn => false, + # :base_version => "1.3.0" }, :java => { "install_flavor" => "oracle", Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/metadata.rb =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/metadata.rb 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata/src/resources/deployment/vagrant/samples/AWS/metadata.rb 2014-05-22 15:58:30 UTC (rev 8410) @@ -4,7 +4,7 @@ license 'GNU GPLv2' description 'Installs/Configures Systap Bigdata High Availability' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.1.3' +version '0.1.4' depends 'apt' depends 'java', '>= 1.22.0' Modified: branches/DEPLOYMENT_BRANCH_1_3_1/build.xml =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/build.xml 2014-05-21 18:53:16 UTC (rev 8409) +++ branches/DEPLOYMENT_BRANCH_1_3_1/build.xml 2014-05-22 15:58:30 UTC (rev 8410) @@ -1366,6 +1366,7 @@ <tarfileset dir="${bigdata.dir}/dist"> <include name="bigdata/doc/**" /> + <exclude name="bigdata/doc/api/**" /> <exclude name="bigdata/doc/HAJournalServer.html" /> <include name="bigdata/lib/**" /> <exclude name="bigdata/lib/bigdata-ganglia.jar" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2014-05-22 19:23:17
|
Revision: 8413 http://sourceforge.net/p/bigdata/code/8413 Author: thompsonbry Date: 2014-05-22 19:23:15 +0000 (Thu, 22 May 2014) Log Message: ----------- - jetty.xml: I have replaced all instances of SystemProperty with Property. - log4jHA.properties: The main branch has correct log4j configuration examples for jetty. - Reformatted HARestore, but did not address the issue with how the classpath is assembled. See #951 (Merge deployments branch to main branch). Modified Paths: -------------- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/log4jHA.properties branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/HARestore Modified: branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml 2014-05-22 17:05:00 UTC (rev 8412) +++ branches/DEPLOYMENT_BRANCH_1_3_1/bigdata-war/src/jetty.xml 2014-05-22 19:23:15 UTC (rev 8413) @@ -62,8 +62,8 @@ <New class="javax.management.remote.JMXServiceURL"> <Arg type="java.lang.String">rmi</Arg> <Arg type="java.lang.String" /> - <Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1090"/></Arg> - <Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg> + <Arg type="java.lang.Integer"><Property name="jetty.jmxrmiport" default="1090"/></Arg> + <Arg type="java.lang.String">/jndi/rmi://<Property name="jetty.jmxrmihost" default="localhost"/>:<Property name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg> </New> </Arg> <Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg> @@ -142,12 +142,12 @@ <Arg> <!-- This is the bigdata web application. --> <New id="WebAppContext" class="org.eclipse.jetty.webapp.WebAppContext"> - <Set name="war"><SystemProperty name="jetty.resourceBase" default="bigdata-war/src"/></Set> + <Set name="war"><Property name="jetty.resourceBase" default="bigdata-war/src"/></Set> <Set name="contextPath">/bigdata</Set> <Set name="descriptor">WEB-INF/web.xml</Set> <Set name="parentLoaderPriority">true</Set> <Set name="extractWAR">false</Set> - <Set name="overrideDescriptor"><SystemProperty name="jetty.overrideWebXml" default="bigdata-war/src/WEB-INF/override-web.xml"/></Set> + <Set name="overrideDescriptor"><Property name="jetty.overrideWebXml" default="bigdata-war/src/WEB-INF/override-web.xml"/></Set> </New> </Arg> </Call> Modified: branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/log4jHA.properties =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/log4jHA.properties 2014-05-22 17:05:00 UTC (rev 8412) +++ branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/HAJournal/log4jHA.properties 2014-05-22 19:23:15 UTC (rev 8413) @@ -18,8 +18,10 @@ log4j.logger.com.bigdata.rdf.sail.webapp.NanoSparqlServer=INFO -# This will only work if you have the slf4j bridge setup. -#log4j.org.eclipse.jetty.util.log.Log=INFO +# jetty debug logging. +#log4j.logger.org.eclipse.jetty=INFO +#log4j.logger.org.eclipse.jetty.client=DEBUG +#log4j.logger.org.eclipse.jetty.proxy=DEBUG # This can provide valuable information about open connections. log4j.logger.com.bigdata.txLog=INFO Modified: branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/HARestore =================================================================== --- branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/HARestore 2014-05-22 17:05:00 UTC (rev 8412) +++ branches/DEPLOYMENT_BRANCH_1_3_1/src/resources/bin/HARestore 2014-05-22 19:23:15 UTC (rev 8413) @@ -16,6 +16,10 @@ SERVICE_DIR="$FED_DIR/$FEDNAME/$LOGICAL_SERVICE_ID/HAJournalServer" LIB_DIR="$FED_DIR/lib" -java -cp $LIB_DIR/bigdata.jar:$LIB_DIR/commons-logging.jar:$LIB_DIR/log4j.jar:$LIB_DIR/highscalelib.jar:$LIB_DIR/fastutil.jar:$LIB_DIR/dsiutils.jar:$LIB_DIR/lgplutils.jar:$LIB_DIR/icu4j.jar -Dlog4j.configuration=file:var/config/logging/log4j.properties com.bigdata.journal.jini.ha.HARestore -o $DATA_DIR/bigdata-ha.jnl $SERVICE_DIR/snapshot $SERVICE_DIR/HALog +java -cp $LIB_DIR/bigdata.jar:$LIB_DIR/commons-logging.jar:$LIB_DIR/log4j.jar:$LIB_DIR/highscalelib.jar:$LIB_DIR/fastutil.jar:$LIB_DIR/dsiutils.jar:$LIB_DIR/lgplutils.jar:$LIB_DIR/icu4j.jar\ + -Dlog4j.configuration=file:var/config/logging/log4j.properties \ + com.bigdata.journal.jini.ha.HARestore \ + -o $DATA_DIR/bigdata-ha.jnl\ + $SERVICE_DIR/snapshot\ + $SERVICE_DIR/HALog - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |