[teiid-commits] teiid SVN: r907 - in trunk: engine/src/main/java/com/metamatrix/server/serverapi and 4 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Mon May 11 16:34:38 EDT 2009
Author: shawkins
Date: 2009-05-11 16:34:38 -0400 (Mon, 11 May 2009)
New Revision: 907
Modified:
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
trunk/engine/src/main/java/com/metamatrix/server/serverapi/RequestInfo.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
trunk/server/src/main/java/com/metamatrix/admin/server/ServerRuntimeStateAdminImpl.java
trunk/server/src/main/java/com/metamatrix/server/query/service/QueryService.java
trunk/server/src/main/java/com/metamatrix/server/query/service/QueryServiceInterface.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java
trunk/server/src/test/java/com/metamatrix/admin/server/IdentifierConstants.java
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java
Log:
TEIID-491 added execution id as the fourth parameter to an atomic cancel identifier.
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -403,7 +403,7 @@
MMRequest request = null;
if (src.getConnectorBindingUUID() != null) {
- request = new MMRequest(new String[] {connId, String.valueOf(src.getRequestID().getExecutionID()), String.valueOf(src.getNodeID())});
+ request = new MMRequest(new String[] {connId, String.valueOf(src.getRequestID().getExecutionID()), String.valueOf(src.getNodeID()), String.valueOf(src.getExecutionID())});
}
else {
request = new MMRequest(new String[] {connId, String.valueOf(src.getRequestID().getExecutionID())});
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -45,6 +45,7 @@
import com.metamatrix.common.comm.api.ServerConnection;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.service.TransactionService;
import com.metamatrix.jdbc.EmbeddedConnectionFactoryImpl;
@@ -272,7 +273,7 @@
public void cancelSourceRequest(String identifier)
throws AdminException {
- if (identifier == null || !identifier.matches("\\d+\\" + Request.DELIMITER + "\\d+\\" + Request.DELIMITER + "\\d+")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ if (identifier == null || !identifier.matches("\\d+\\" + Request.DELIMITER + "\\d+\\" + Request.DELIMITER + "\\d+" + Request.DELIMITER + "\\d+")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
throw new AdminProcessingException(DQPEmbeddedPlugin.Util.getString("Admin.Invalid_identifier")); //$NON-NLS-1$
}
@@ -281,10 +282,11 @@
String connId = identifierParts[0];
long requestId = Long.parseLong(identifierParts[1]);
int nodeId = Integer.parseInt(identifierParts[2]);
- RequestID id = new RequestID(connId, requestId);
+ int executionId = Integer.parseInt(identifierParts[3]);
+ AtomicRequestID id = new AtomicRequestID(new RequestID(connId, requestId), nodeId, executionId);
try {
- this.manager.getDQP().cancelAtomicRequest(id, nodeId);
+ this.manager.getDQP().cancelAtomicRequest(id);
} catch (MetaMatrixComponentException e) {
throw new AdminComponentException(e);
}
Modified: trunk/engine/src/main/java/com/metamatrix/server/serverapi/RequestInfo.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/server/serverapi/RequestInfo.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/engine/src/main/java/com/metamatrix/server/serverapi/RequestInfo.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -44,6 +44,7 @@
private int nodeID = Integer.MIN_VALUE;
private String connectorBindingUUID;
private String transactionId;
+ private int executionID;
public RequestInfo(RequestID requestId, String originalCommand, Date submittedTime, Date processingTime) {
this.requestID = requestId;
@@ -113,6 +114,14 @@
public void setNodeID(int nodeID) {
this.nodeID = nodeID;
}
+
+ public int getExecutionID() {
+ return executionID;
+ }
+
+ public void setExecutionID(int executionID) {
+ this.executionID = executionID;
+ }
/**
* Get the actual command to perform.
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -68,6 +68,7 @@
import com.metamatrix.dqp.client.MetadataResult;
import com.metamatrix.dqp.client.ResultsFuture;
import com.metamatrix.dqp.internal.datamgr.ConnectorID;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.AtomicRequestMessage;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.message.RequestMessage;
@@ -220,6 +221,7 @@
info.setSessionToken(holder.dqpWorkContext.getSessionToken());
info.setConnectorBindingUUID(arm.getConnectorBindingID());
info.setNodeID(arm.getAtomicRequestID().getNodeID());
+ info.setExecutionID(arm.getAtomicRequestID().getExecutionId());
results.add(info);
}
results.add(req);
@@ -349,12 +351,13 @@
* partial results then remove the original request.
* @throws MetaMatrixComponentException
*/
- public void cancelAtomicRequest(RequestID requestID, int nodeID) throws MetaMatrixComponentException {
- RequestWorkItem workItem = safeGetWorkItem(requestID);
+ public void cancelAtomicRequest(AtomicRequestID requestID) throws MetaMatrixComponentException {
+ RequestWorkItem workItem = safeGetWorkItem(requestID.getRequestID());
if (workItem == null) {
+ LogManager.logDetail(LogConstants.CTX_DQP, "Could not cancel", requestID, "parent request does not exist"); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
- workItem.requestAtomicRequestCancel(nodeID);
+ workItem.requestAtomicRequestCancel(requestID);
}
RequestWorkItem getRequestWorkItem(RequestID reqID) throws MetaMatrixProcessingException {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -64,7 +64,6 @@
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.exception.SourceWarning;
import com.metamatrix.dqp.message.AtomicRequestID;
-import com.metamatrix.dqp.message.AtomicRequestMessage;
import com.metamatrix.dqp.message.ParameterInfo;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.message.RequestMessage;
@@ -604,24 +603,20 @@
return true;
}
- public boolean requestAtomicRequestCancel(int accessNodeID) throws MetaMatrixComponentException {
+ public boolean requestAtomicRequestCancel(AtomicRequestID ari) throws MetaMatrixComponentException {
// in the case that this does not support partial results; cancel
// the original processor request.
if(!requestMsg.supportsPartialResults()) {
return requestCancel();
}
- // Walk through all connector infos and attempt to cancel each one
- for (DataTierTupleSource connectorRequest : this.connectorInfo.values()) {
- AtomicRequestMessage aqr = connectorRequest.getAtomicRequestMessage();
- if (aqr.getAtomicRequestID().getNodeID() == accessNodeID) {
- connectorRequest.cancelRequest();
- return true;
- }
+
+ DataTierTupleSource connectorRequest = this.connectorInfo.get(ari);
+ if (connectorRequest != null) {
+ connectorRequest.cancelRequest();
+ return true;
}
- if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) {
- LogManager.logDetail(LogConstants.CTX_DQP, "Connector request not queued yet. RequestID=" + requestID+ " Node id="+ accessNodeID); //$NON-NLS-1$ //$NON-NLS-2$
- }
+ LogManager.logDetail(LogConstants.CTX_DQP, "Connector request not found. AtomicRequestID=", ari); //$NON-NLS-1$
return false;
}
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -928,8 +928,9 @@
MMRequest request;
if (info.isAtomicQuery()) {
- identifierParts = new String[3];
+ identifierParts = new String[4];
identifierParts[2] = String.valueOf(info.getNodeID());
+ identifierParts[3] = String.valueOf(info.getExecutionID());
} else {
identifierParts = new String[2];
}
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/ServerRuntimeStateAdminImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/admin/server/ServerRuntimeStateAdminImpl.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/main/java/com/metamatrix/admin/server/ServerRuntimeStateAdminImpl.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -55,6 +55,7 @@
import com.metamatrix.common.config.api.exceptions.ConfigurationException;
import com.metamatrix.common.config.model.BasicDeployedComponent;
import com.metamatrix.core.vdb.VDBStatus;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.metadata.runtime.RuntimeMetadataCatalog;
import com.metamatrix.metadata.runtime.RuntimeVDBDeleteUtility;
@@ -131,12 +132,13 @@
String sessionID = null;
long requestIDLong = -1;
int nodeID = -1;
-
+ int executionId = -1;
try {
String[] identifierParts = MMRequest.buildIdentifierArray(identifier);
sessionID = identifierParts[0];
requestIDLong = Long.parseLong(identifierParts[1]);
nodeID = Integer.parseInt(identifierParts[2]);
+ executionId = Integer.parseInt(identifierParts[3]);
} catch (NumberFormatException e) {
throwProcessingException("ServerRuntimeStateAdminImpl.Invalid_Source_Request_Identifier", new Object[] {identifier, Request.DELIMITER}); //$NON-NLS-1$
} catch (ArrayIndexOutOfBoundsException e) {
@@ -145,8 +147,7 @@
try {
- RequestID requestID = new RequestID(sessionID, requestIDLong);
- getQueryServiceProxy().cancelQuery(requestID, nodeID);
+ getQueryServiceProxy().cancelQuery(new AtomicRequestID(new RequestID(sessionID, requestIDLong), nodeID, executionId));
} catch(InvalidRequestIDException e) {
throw new AdminProcessingException(e);
} catch (MetaMatrixComponentException e) {
Modified: trunk/server/src/main/java/com/metamatrix/server/query/service/QueryService.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/server/query/service/QueryService.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/main/java/com/metamatrix/server/query/service/QueryService.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -53,6 +53,7 @@
import com.metamatrix.core.MetaMatrixRuntimeException;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.client.ClientSideDQP;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.service.TransactionService;
import com.metamatrix.platform.security.api.SessionToken;
@@ -190,9 +191,9 @@
/*
* @see com.metamatrix.server.query.service.QueryServiceInterface#cancelQuery(com.metamatrix.dqp.message.RequestID, int)
*/
- public void cancelQuery(RequestID requestID, int nodeID)
+ public void cancelQuery(AtomicRequestID ari)
throws InvalidRequestIDException, MetaMatrixComponentException {
- this.dqp.cancelAtomicRequest(requestID, nodeID);
+ this.dqp.cancelAtomicRequest(ari);
}
/**
Modified: trunk/server/src/main/java/com/metamatrix/server/query/service/QueryServiceInterface.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/server/query/service/QueryServiceInterface.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/main/java/com/metamatrix/server/query/service/QueryServiceInterface.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -31,6 +31,7 @@
import com.metamatrix.api.exception.ComponentNotFoundException;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.server.InvalidRequestIDException;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.platform.service.api.CacheAdmin;
@@ -60,7 +61,7 @@
public void cancelQuery(RequestID requestID, boolean shouldRollback)
throws InvalidRequestIDException, MetaMatrixComponentException;
- public void cancelQuery(RequestID requestID, int nodeID)
+ public void cancelQuery(AtomicRequestID ari)
throws InvalidRequestIDException, MetaMatrixComponentException;
Collection<Transaction> getTransactions();
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -37,12 +37,14 @@
import com.metamatrix.admin.api.exception.AdminException;
import com.metamatrix.admin.api.objects.Request;
import com.metamatrix.admin.api.objects.Transaction;
+import com.metamatrix.admin.objects.MMAdminObject;
import com.metamatrix.api.exception.ComponentNotFoundException;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.server.InvalidRequestIDException;
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
+import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.SessionToken;
@@ -131,16 +133,14 @@
public void cancelQuery(RequestID requestID,
boolean shouldRollback) throws InvalidRequestIDException,
MetaMatrixComponentException {
- cancelledQueries.add(buildIdentifierFromRequestId(requestID, null));
+ cancelledQueries.add(requestID.getConnectionID() + MMAdminObject.DELIMITER_CHAR + requestID.getExecutionID());
}
-
- /**
- * @see com.metamatrix.server.query.service.BaseQueryServiceInterface#cancelQuery(com.metamatrix.dqp.message.RequestID, int)
- */
- public void cancelQuery(RequestID requestID,
- int nodeID) throws InvalidRequestIDException,
- MetaMatrixComponentException{
- cancelledQueries.add(buildIdentifierFromRequestId(requestID, "" +nodeID)); //$NON-NLS-1$
+
+ @Override
+ public void cancelQuery(AtomicRequestID ari)
+ throws InvalidRequestIDException, MetaMatrixComponentException {
+ cancelledQueries.add(ari.getRequestID().getConnectionID() + MMAdminObject.DELIMITER_CHAR + ari.getRequestID().getExecutionID()
+ +MMAdminObject.DELIMITER_CHAR + ari.getNodeID() + MMAdminObject.DELIMITER_CHAR + ari.getExecutionId());
}
/**
@@ -258,29 +258,6 @@
public void clearCache(String name,
Properties props) throws MetaMatrixComponentException{
}
-
- /**
- * Build the Identifer, as an array of its parts
- * @param requestId
- *
- * @return the Identifer, as an array of its parts
- * @since 4.3
- */
- private static String buildIdentifierFromRequestId(RequestID requestId, String nodeId) {
- String connectionId = requestId.getConnectionID();
- String executionId = Long.toString(requestId.getExecutionID());
-
- StringBuffer buff = new StringBuffer();
- buff.append(connectionId);
- buff.append(Request.DELIMITER_CHAR);
- buff.append(executionId);
- if ( nodeId != null ) {
- buff.append(Request.DELIMITER_CHAR);
- buff.append(nodeId);
- }
-
- return buff.toString();
- }
public void init(ServiceID id, DeployedComponentID deployedComponentID,
Properties props, ClientServiceRegistry listenerRegistry){
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/IdentifierConstants.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/IdentifierConstants.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/IdentifierConstants.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -61,7 +61,7 @@
/**
* @since 4.3
*/
- final String REQUEST_1_1_1 = "1" + Request.DELIMITER + "1" + Request.DELIMITER + "1"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ final String REQUEST_1_1_1_0 = "1" + Request.DELIMITER + "1" + Request.DELIMITER + "1" + Request.DELIMITER + "0"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
/**
* @since 4.3
*/
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -483,7 +483,7 @@
assertEquals(2, results.size());
Request request = (Request) results.iterator().next();
- assertEquals(REQUEST_1_1_1, request.getIdentifier());
+ assertEquals(REQUEST_1_1_1_0, request.getIdentifier());
assertEquals("1", request.getSessionID()); //$NON-NLS-1$
assertEquals("1", request.getRequestID()); //$NON-NLS-1$
assertEquals("1", request.getNodeID()); //$NON-NLS-1$
@@ -497,7 +497,7 @@
results = admin.getSourceRequests(_1_1_WILDCARD);
assertEquals(1, results.size());
- results = admin.getSourceRequests(REQUEST_1_1_1);
+ results = admin.getSourceRequests(REQUEST_1_1_1_0);
assertEquals(1, results.size());
}
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java 2009-05-11 19:40:52 UTC (rev 906)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java 2009-05-11 20:34:38 UTC (rev 907)
@@ -105,9 +105,9 @@
//positive case
assertTrue(FakeQueryService.cancelledQueries.isEmpty());
- admin.cancelSourceRequest(REQUEST_1_1_1);
+ admin.cancelSourceRequest(REQUEST_1_1_1_0);
- assertTrue(FakeQueryService.cancelledQueries.contains(REQUEST_1_1_1));
+ assertTrue(FakeQueryService.cancelledQueries.contains(REQUEST_1_1_1_0));
More information about the teiid-commits
mailing list