You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by az...@apache.org on 2007/05/30 16:42:19 UTC
svn commit: r542830 - in /webservices/axis2/trunk/java/modules/clustering:
src/org/apache/axis2/clustering/context/
src/org/apache/axis2/clustering/context/commands/
src/org/apache/axis2/clustering/handlers/
src/org/apache/axis2/clustering/tribes/ test...
Author: azeez
Date: Wed May 30 07:42:18 2007
New Revision: 542830
URL: http://svn.apache.org/viewvc?view=rev&rev=542830
Log:
Fixing some issues with ACK handling.
I'm not sending createContext messages anymore. Contexts are created on demand. This will greatly reduce the NW traffic.
Modified:
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/DefaultContextManager.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AckManager.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java
webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ManageContextTestCase.java
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java Wed May 30 07:42:18 2007
@@ -79,9 +79,7 @@
ServiceGroupContext sgCtx = (ServiceGroupContext) context;
cmd = new UpdateServiceGroupContextCommand();
cmd.setUniqueId(UUIDGenerator.getUUID());
- UpdateServiceGroupContextCommand updateSgCmd =
- (UpdateServiceGroupContextCommand) cmd;
-
+ UpdateServiceGroupContextCommand updateSgCmd = (UpdateServiceGroupContextCommand) cmd;
updateSgCmd.setServiceGroupName(sgCtx.getDescription().getServiceGroupName());
updateSgCmd.setServiceGroupContextId(sgCtx.getId());
fillProperties((UpdateContextCommand) cmd,
@@ -92,9 +90,10 @@
ServiceContext serviceCtx = (ServiceContext) context;
cmd = new UpdateServiceContextCommand();
cmd.setUniqueId(UUIDGenerator.getUUID());
- UpdateServiceContextCommand updateServiceCmd =
- (UpdateServiceContextCommand) cmd;
- updateServiceCmd.setServiceGroupName(serviceCtx.getGroupName());
+ UpdateServiceContextCommand updateServiceCmd = (UpdateServiceContextCommand) cmd;
+ String sgName =
+ serviceCtx.getServiceGroupContext().getDescription().getServiceGroupName();
+ updateServiceCmd.setServiceGroupName(sgName);
updateServiceCmd.setServiceGroupContextId(serviceCtx.getServiceGroupContext().getId());
updateServiceCmd.setServiceName(serviceCtx.getAxisService().getName());
fillProperties((UpdateContextCommand) cmd,
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/DefaultContextManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/DefaultContextManager.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/DefaultContextManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/DefaultContextManager.java Wed May 30 07:42:18 2007
@@ -51,15 +51,15 @@
}
public String addContext(final AbstractContext context) throws ClusteringFault {
- ContextClusteringCommand cmd = ContextClusteringCommandFactory.getCreateCommand(context);
- processor.process(cmd);
- return cmd.getUniqueId();
+// ContextClusteringCommand cmd = ContextClusteringCommandFactory.getCreateCommand(context);
+// processor.process(cmd);
+ return null;
}
public String removeContext(AbstractContext context) throws ClusteringFault {
- ContextClusteringCommand cmd = ContextClusteringCommandFactory.getRemoveCommand(context);
- processor.process(cmd);
- return cmd.getUniqueId();
+// ContextClusteringCommand cmd = ContextClusteringCommandFactory.getRemoveCommand(context);
+// processor.process(cmd);
+ return null;
}
public String updateContext(AbstractContext context) throws ClusteringFault {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/CreateServiceGroupContextCommand.java Wed May 30 07:42:18 2007
@@ -26,12 +26,12 @@
public class CreateServiceGroupContextCommand extends ServiceGroupContextCommand {
public void execute(ConfigurationContext configContext) throws ClusteringFault {
- AxisServiceGroup axisServiceGroup =
+ /*AxisServiceGroup axisServiceGroup =
configContext.getAxisConfiguration()
.getServiceGroup(serviceGroupName);
ServiceGroupContext ctx = new ServiceGroupContext(configContext, axisServiceGroup);
ctx.setId(serviceGroupContextId);
- configContext.registerServiceGroupContextintoSoapSessionTable(ctx);
+ configContext.registerServiceGroupContextintoSoapSessionTable(ctx);*/
}
public int getCommandType() {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceContextCommand.java Wed May 30 07:42:18 2007
@@ -15,14 +15,15 @@
*/
package org.apache.axis2.clustering.context.commands;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.clustering.ClusteringFault;
import org.apache.axis2.clustering.context.PropertyUpdater;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.PropertyDifference;
-import org.apache.axis2.context.ServiceGroupContext;
import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
import org.apache.axis2.description.AxisService;
-import org.apache.axis2.AxisFault;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -50,6 +51,34 @@
propertyUpdater.updateProperties(serviceContext);
} catch (AxisFault e) {
throw new ClusteringFault(e);
+ }
+ } else {
+ sgCtx = configurationContext.getServiceGroupContext(serviceGroupContextId);
+ AxisService axisService;
+ try {
+ axisService = configurationContext.getAxisConfiguration().getService(serviceName);
+ } catch (AxisFault axisFault) {
+ throw new ClusteringFault(axisFault);
+ }
+ String scope = axisService.getScope();
+ if (sgCtx == null) {
+ sgCtx = new ServiceGroupContext(configurationContext,
+ configurationContext.getAxisConfiguration().
+ getServiceGroup(serviceGroupName));
+ sgCtx.setId(serviceGroupContextId);
+ if (scope.equals(Constants.SCOPE_APPLICATION)) {
+ configurationContext.
+ addServiceGroupContextintoApplicatoionScopeTable(sgCtx);
+ } else if (scope.equals(Constants.SCOPE_SOAP_SESSION)) {
+ configurationContext.
+ registerServiceGroupContextintoSoapSessionTable(sgCtx);
+ }
+ }
+ try {
+ ServiceContext serviceContext = sgCtx.getServiceContext(axisService, false);
+ propertyUpdater.updateProperties(serviceContext);
+ } catch (AxisFault axisFault) {
+ throw new ClusteringFault(axisFault);
}
}
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/commands/UpdateServiceGroupContextCommand.java Wed May 30 07:42:18 2007
@@ -20,6 +20,7 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.PropertyDifference;
import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.description.AxisServiceGroup;
import java.util.HashMap;
@@ -31,13 +32,21 @@
private PropertyUpdater propertyUpdater = new PropertyUpdater();
- public void execute(ConfigurationContext configurationContext) throws ClusteringFault {
+ public void execute(ConfigurationContext configContext) throws ClusteringFault {
ServiceGroupContext sgCtx =
- configurationContext.getServiceGroupContext(serviceGroupContextId);
- System.err.println("###### Gonna update SG prop in " + serviceGroupContextId + "===" + sgCtx);
- if (sgCtx != null) {
- propertyUpdater.updateProperties(sgCtx);
+ configContext.getServiceGroupContext(serviceGroupContextId);
+
+ // If the ServiceGroupContext is not found, create it
+ if (sgCtx == null) {
+ AxisServiceGroup axisServiceGroup =
+ configContext.getAxisConfiguration()
+ .getServiceGroup(serviceGroupName);
+ sgCtx = new ServiceGroupContext(configContext, axisServiceGroup);
+ sgCtx.setId(serviceGroupContextId);
+ configContext.registerServiceGroupContextintoSoapSessionTable(sgCtx); // TODO: Check this
}
+ System.err.println("###### Gonna update SG prop in " + serviceGroupContextId + "===" + sgCtx);
+ propertyUpdater.updateProperties(sgCtx);
}
public int getCommandType() {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/handlers/ReplicationHandler.java Wed May 30 07:42:18 2007
@@ -101,11 +101,11 @@
// the message with UUID 'msgUUID'
while (!contextManager.isMessageAcknowledged(msgUUID)) {
if(System.currentTimeMillis() - start > 20000){
- throw new ClusteringFault("ACKs not received from all members within 1 min. " +
+ throw new ClusteringFault("ACKs not received from all members within 20 sec. " +
"Aborting wait.");
}
try {
- Thread.sleep(2);
+ Thread.sleep(20);
} catch (InterruptedException e) {
log.error(e);
break;
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AckManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AckManager.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AckManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/AckManager.java Wed May 30 07:42:18 2007
@@ -37,6 +37,7 @@
public static void addAcknowledgement(String messageUniqueId,
String memberId) {
+ System.err.println("######### Added ACK for msg " + messageUniqueId + " from member " + memberId);
MessageACK ack = (MessageACK) messageAckTable.get(messageUniqueId);
if (ack != null) {
List memberList = ack.getMemberList();
@@ -46,6 +47,7 @@
public static boolean isMessageAcknowledged(String messageUniqueId,
ChannelSender sender) throws ClusteringFault {
+ System.err.println("########## Call to isMessageAcknowledged for msg UUID " + messageUniqueId);
boolean isAcknowledged = false;
MessageACK ack = (MessageACK) messageAckTable.get(messageUniqueId);
List memberList = ack.getMemberList();
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesUtil.java Wed May 30 07:42:18 2007
@@ -30,7 +30,7 @@
if (members != null) {
int length = members.length;
if (length > 0) {
- log.info("Members of current Tribes...");
+ log.info("Members of current cluster");
for (int i = 0; i < length; i++) {
byte[] hostBts = members[i].getHost();
String host = null;
@@ -39,14 +39,10 @@
host = host == null ? ("" + hostBts[j]) : (host + "." + hostBts[j]);
}
}
-
- String port = "" + members[i].getPort();
- log.info("Member " + (i + 1) + " NAME:" + members[i].getName() + " HOST:"
- + host + " PORT:" + port);
-
+ log.info("Member " + (i + 1) + " " + members[i].getName());
}
} else {
- log.info("No members in current Tribe");
+ log.info("No members in current cluster");
}
}
}
Modified: webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ManageContextTestCase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ManageContextTestCase.java?view=diff&rev=542830&r1=542829&r2=542830
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ManageContextTestCase.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ManageContextTestCase.java Wed May 30 07:42:18 2007
@@ -38,7 +38,7 @@
return;
}
- //Adding contexts to the Node1
+ /*//Adding contexts to the Node1
ServiceGroupContext serviceGroupContext1 =
configurationContext1.createServiceGroupContext(serviceGroup1);
String sgcID = UUIDGenerator.getUUID();
@@ -65,7 +65,7 @@
ServiceContext serviceContext2 = (ServiceContext) iter.next();
assertNotNull(serviceContext2);
- assertEquals(serviceContext2.getName(), serviceName);
+ assertEquals(serviceContext2.getName(), serviceName);*/
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org