abdullah alamoudi has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/365
Change subject: This change fixes the sporadic connection refused errors after managix starts up an Asterix instance. This can mostly be seen during asterix-installer tests. The fix basically lets managix wait and listens through zookeeper for a signal from the cluster c ...................................................................... This change fixes the sporadic connection refused errors after managix starts up an Asterix instance. This can mostly be seen during asterix-installer tests. The fix basically lets managix wait and listens through zookeeper for a signal from the cluster controller. Once the cluster controller sends the signal, Managix can proceed. The following commits from your working branch will be included: commit 44776a48c42a363425c122cd88b4d6f9878e8e09 Author: Abdullah Alamoudi <[email protected]> Date: Thu Aug 27 12:30:51 2015 +0300 Added comments commit 3e1ac10364eb7af7c6a9845d571fc75f6f876705 Author: Abdullah Alamoudi <[email protected]> Date: Thu Aug 27 12:19:55 2015 +0300 Moved the location of the startup complete reported commit 297f045fcbc0d9755ee5300daa7a4de163de7643 Author: Abdullah Alamoudi <[email protected]> Date: Thu Aug 27 11:07:22 2015 +0300 Remove backup files commit a9f1d0c2ef133c5e4d56980934c39308d490f151 Author: Abdullah Alamoudi <[email protected]> Date: Thu Aug 27 11:06:27 2015 +0300 fix the cluster startup connection refused bug Change-Id: I0975308e1dc2650d8c2e50d58ff2c696b22eaaa4 --- M hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplicationEntryPoint.java M hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java M hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java M hyracks/hyracks-examples/text-example/textserver/pom.xml 4 files changed, 195 insertions(+), 179 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/hyracks refs/changes/65/365/1 diff --git a/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplicationEntryPoint.java b/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplicationEntryPoint.java index 9cb15a2..93e1934 100644 --- a/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplicationEntryPoint.java +++ b/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplicationEntryPoint.java @@ -18,4 +18,6 @@ public void start(ICCApplicationContext ccAppCtx, String[] args) throws Exception; public void stop() throws Exception; + + void startupCompleted(String managixIp) throws Exception; } \ No newline at end of file diff --git a/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java b/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java index eee283a..25d7e5d 100644 --- a/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java +++ b/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java @@ -150,6 +150,8 @@ private ShutdownRun shutdownCallback; + private ICCApplicationEntryPoint aep; + public ClusterControllerService(final CCConfig ccConfig) throws Exception { this.ccConfig = ccConfig; File jobLogFolder = new File(ccConfig.ccRoot, "logs/jobs"); @@ -238,6 +240,10 @@ datasetDirectoryService.init(executor); workQueue.start(); LOGGER.log(Level.INFO, "Started ClusterControllerService"); + if (aep != null) { + // Sometimes, there is no application entry point. Check hyracks-client project + aep.startupCompleted(ccConfig.managixIP); + } } private void startApplication() throws Exception { @@ -246,7 +252,7 @@ String className = ccConfig.appCCMainClass; if (className != null) { Class<?> c = Class.forName(className); - ICCApplicationEntryPoint aep = (ICCApplicationEntryPoint) c.newInstance(); + aep = (ICCApplicationEntryPoint) c.newInstance(); String[] args = ccConfig.appArgs == null ? null : ccConfig.appArgs.toArray(new String[ccConfig.appArgs .size()]); aep.start(appCtx, args); diff --git a/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java b/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java index 6a96139..6456241 100644 --- a/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java +++ b/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java @@ -67,6 +67,9 @@ @Option(name = "-app-cc-main-class", required = false, usage = "Application CC Main Class") public String appCCMainClass = null; + @Option(name = "-managix-ip", required = false, usage = "Sets the ip address of the installer") + public String managixIP = null; + @Argument @Option(name = "--", handler = StopOptionHandler.class) public List<String> appArgs; @@ -106,6 +109,10 @@ cList.add("-app-cc-main-class"); cList.add(appCCMainClass); } + if (managixIP != null) { + cList.add("-managix-ip"); + cList.add(managixIP); + } if (appArgs != null && !appArgs.isEmpty()) { cList.add("--"); for (String appArg : appArgs) { diff --git a/hyracks/hyracks-examples/text-example/textserver/pom.xml b/hyracks/hyracks-examples/text-example/textserver/pom.xml index 300f980..8a37628 100644 --- a/hyracks/hyracks-examples/text-example/textserver/pom.xml +++ b/hyracks/hyracks-examples/text-example/textserver/pom.xml @@ -1,181 +1,182 @@ -<!-- - ! Copyright 2009-2013 by The Regents of the University of California - ! Licensed under the Apache License, Version 2.0 (the "License"); - ! you may not use this file except in compliance with the License. - ! you may obtain a copy of the License from - ! - ! http://www.apache.org/licenses/LICENSE-2.0 - ! - ! Unless required by applicable law or agreed to in writing, software - ! distributed under the License is distributed on an "AS IS" BASIS, - ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ! See the License for the specific language governing permissions and - ! limitations under the License. - !--> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.apache.hyracks.examples.text</groupId> - <artifactId>textserver</artifactId> - <name>textserver</name> +<!-- ! Copyright 2009-2013 by The Regents of the University of California + ! Licensed under the Apache License, Version 2.0 (the "License"); ! you may + not use this file except in compliance with the License. ! you may obtain + a copy of the License from ! ! http://www.apache.org/licenses/LICENSE-2.0 + ! ! Unless required by applicable law or agreed to in writing, software ! + distributed under the License is distributed on an "AS IS" BASIS, ! WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ! See the + License for the specific language governing permissions and ! limitations + under the License. ! --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.hyracks.examples.text</groupId> + <artifactId>textserver</artifactId> + <name>textserver</name> - <parent> - <groupId>org.apache.hyracks</groupId> - <artifactId>text-example</artifactId> - <version>0.2.16-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.apache.hyracks</groupId> + <artifactId>text-example</artifactId> + <version>0.2.16-SNAPSHOT</version> + </parent> - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>appassembler-maven-plugin</artifactId> - <version>1.3</version> - <executions> - <execution> - <configuration> - <programs> - <program> - <mainClass>org.apache.hyracks.control.cc.CCDriver</mainClass> - <name>hyrackscc</name> - </program> - <program> - <mainClass>org.apache.hyracks.control.nc.NCDriver</mainClass> - <name>hyracksnc</name> - </program> - </programs> - <repositoryLayout>flat</repositoryLayout> - <repositoryName>lib</repositoryName> - </configuration> - <phase>package</phase> - <goals> - <goal>assemble</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <version>2.2-beta-5</version> - <executions> - <execution> - <configuration> - <descriptors> - <descriptor>src/main/assembly/binary-assembly.xml</descriptor> - </descriptors> - </configuration> - <phase>package</phase> - <goals> - <goal>attached</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.hyracks</groupId> - <artifactId>hyracks-virtualcluster-maven-plugin</artifactId> - <version>0.2.16-SNAPSHOT</version> - <configuration> - <hyracksServerHome>${basedir}/target/textserver-${project.version}-binary-assembly</hyracksServerHome> - <jvmOptions>${jvm.extraargs}</jvmOptions> - </configuration> - <executions> - <execution> - <id>hyracks-cc-start</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start-cc</goal> - </goals> - </execution> - <execution> - <id>hyracks-nc1-start</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start-nc</goal> - </goals> - <configuration> - <nodeId>NC1</nodeId> - <dataIpAddress>127.0.0.1</dataIpAddress> - <ccHost>localhost</ccHost> - </configuration> - </execution> - <execution> - <id>hyracks-nc2-start</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start-nc</goal> - </goals> - <configuration> - <nodeId>NC2</nodeId> - <dataIpAddress>127.0.0.1</dataIpAddress> - <ccHost>localhost</ccHost> - </configuration> - </execution> - <execution> - <id>stop-services</id> - <phase>post-integration-test</phase> - <goals> - <goal>stop-services</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> - <configuration> - <source>1.6</source> - <target>1.6</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <version>2.8.1</version> - <executions> - <execution> - <id>it</id> - <phase>integration-test</phase> - <goals> - <goal>integration-test</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - <dependencies> - <dependency> - <!-- Dependency management inherited from top-level hyracks --> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </dependency> - <dependency> - <groupId>org.apache.hyracks</groupId> - <artifactId>texthelper</artifactId> - <version>0.2.16-SNAPSHOT</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.hyracks</groupId> - <artifactId>hyracks-control-cc</artifactId> - <version>0.2.16-SNAPSHOT</version> - <type>jar</type> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.hyracks</groupId> - <artifactId>hyracks-control-nc</artifactId> - <version>0.2.16-SNAPSHOT</version> - <type>jar</type> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.hyracks</groupId> - <artifactId>textclient</artifactId> - <version>0.2.16-SNAPSHOT</version> - <type>jar</type> - <scope>test</scope> - </dependency> - </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>appassembler-maven-plugin</artifactId> + <version>1.3</version> + <executions> + <execution> + <configuration> + <programs> + <program> + <mainClass>org.apache.hyracks.control.cc.CCDriver</mainClass> + <name>hyrackscc</name> + </program> + <program> + <mainClass>org.apache.hyracks.control.nc.NCDriver</mainClass> + <name>hyracksnc</name> + </program> + </programs> + <repositoryLayout>flat</repositoryLayout> + <repositoryName>lib</repositoryName> + </configuration> + <phase>package</phase> + <goals> + <goal>assemble</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.2-beta-5</version> + <executions> + <execution> + <configuration> + <descriptors> + <descriptor>src/main/assembly/binary-assembly.xml</descriptor> + </descriptors> + </configuration> + <phase>package</phase> + <goals> + <goal>attached</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.hyracks</groupId> + <artifactId>hyracks-virtualcluster-maven-plugin</artifactId> + <version>0.2.16-SNAPSHOT</version> + <configuration> + <hyracksServerHome>${basedir}/target/textserver-${project.version}-binary-assembly</hyracksServerHome> + <jvmOptions>${jvm.extraargs}</jvmOptions> + </configuration> + <executions> + <execution> + <id>hyracks-cc-start</id> + <phase>pre-integration-test</phase> + <goals> + <goal>start-cc</goal> + </goals> + </execution> + <execution> + <id>hyracks-nc1-start</id> + <phase>pre-integration-test</phase> + <goals> + <goal>start-nc</goal> + </goals> + <configuration> + <nodeId>NC1</nodeId> + <dataIpAddress>127.0.0.1</dataIpAddress> + <ccHost>localhost</ccHost> + </configuration> + </execution> + <execution> + <id>hyracks-nc2-start</id> + <phase>pre-integration-test</phase> + <goals> + <goal>start-nc</goal> + </goals> + <configuration> + <nodeId>NC2</nodeId> + <dataIpAddress>127.0.0.1</dataIpAddress> + <ccHost>localhost</ccHost> + </configuration> + </execution> + <execution> + <id>stop-services</id> + <phase>post-integration-test</phase> + <goals> + <goal>stop-services</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>2.0.2</version> + <configuration> + <source>1.6</source> + <target>1.6</target> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>2.8.1</version> + <executions> + <execution> + <id>it</id> + <phase>integration-test</phase> + <goals> + <goal>integration-test</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + <dependencies> + <dependency> + <!-- Dependency management inherited from top-level hyracks --> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit4</artifactId> + <version>2.8.1</version> + </dependency> + <dependency> + <groupId>org.apache.hyracks</groupId> + <artifactId>texthelper</artifactId> + <version>0.2.16-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.hyracks</groupId> + <artifactId>hyracks-control-cc</artifactId> + <version>0.2.16-SNAPSHOT</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.hyracks</groupId> + <artifactId>hyracks-control-nc</artifactId> + <version>0.2.16-SNAPSHOT</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.hyracks</groupId> + <artifactId>textclient</artifactId> + <version>0.2.16-SNAPSHOT</version> + <type>jar</type> + <scope>test</scope> + </dependency> + </dependencies> </project> -- To view, visit https://asterix-gerrit.ics.uci.edu/365 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0975308e1dc2650d8c2e50d58ff2c696b22eaaa4 Gerrit-PatchSet: 1 Gerrit-Project: hyracks Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi <[email protected]>
