[teiid-commits] teiid SVN: r3179 - in branches/7.4.x: engine/src/main/java/org/teiid/query/processor/relational and 2 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed May 18 13:23:59 EDT 2011


Author: shawkins
Date: 2011-05-18 13:23:58 -0400 (Wed, 18 May 2011)
New Revision: 3179

Modified:
   branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/events/jboss/JGroupsEventDistributor.java
   branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational/SortNode.java
   branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java
   branches/7.4.x/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
Log:
TEIID-1592 corrections to ensure the eventdistributor is initialized correctly

Modified: branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/events/jboss/JGroupsEventDistributor.java
===================================================================
--- branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/events/jboss/JGroupsEventDistributor.java	2011-05-18 04:02:41 UTC (rev 3178)
+++ branches/7.4.x/cache-jbosscache/src/main/java/org/teiid/events/jboss/JGroupsEventDistributor.java	2011-05-18 17:23:58 UTC (rev 3179)
@@ -45,6 +45,17 @@
 
 public class JGroupsEventDistributor extends ReceiverAdapter implements Serializable {
 	
+	private final class ProxyHandler implements InvocationHandler, Serializable {
+		private static final long serialVersionUID = 3879554695890338832L;
+
+		@Override
+		public Object invoke(Object proxy, Method method, Object[] args)
+				throws Throwable {
+			rpcDispatcher.callRemoteMethods(members, new MethodCall(method, args), GroupRequest.GET_NONE, 0);
+			return null;
+		}
+	}
+
 	private static final long serialVersionUID = -1140683411842561358L;
 	
 	private transient JChannelFactory channelFactory;
@@ -107,15 +118,7 @@
 		channel = this.channelFactory.createMultiplexerChannel(this.multiplexerStack, null);
 		channel.connect(this.clusterName);
 		
-		proxyEventDistributor = (EventDistributor) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[] {EventDistributor.class}, new InvocationHandler() {
-			
-			@Override
-			public Object invoke(Object proxy, Method method, Object[] args)
-					throws Throwable {
-				rpcDispatcher.callRemoteMethods(members, new MethodCall(method, args), GroupRequest.GET_NONE, 0);
-				return null;
-			}
-		});
+		proxyEventDistributor = (EventDistributor) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[] {EventDistributor.class}, new ProxyHandler());
 		//wrap the local in a proxy to prevent unintended methods from being called
 		rpcDispatcher = new RpcDispatcher(channel, this, this, Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[] {EventDistributor.class}, new InvocationHandler() {
 			

Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational/SortNode.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational/SortNode.java	2011-05-18 04:02:41 UTC (rev 3178)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/processor/relational/SortNode.java	2011-05-18 17:23:58 UTC (rev 3179)
@@ -24,6 +24,7 @@
 
 import static org.teiid.query.analysis.AnalysisRecord.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.teiid.client.plan.PlanNode;
@@ -112,7 +113,10 @@
 		try {
 			while ((tuple = this.outputTs.nextTuple()) != null) {
 				//resize to remove unrelated columns
-				addBatchRow(tuple.subList(0, this.getElements().size()));
+				if (this.getElements().size() < tuple.size()) {
+					tuple = new ArrayList<Object>(tuple.subList(0, this.getElements().size()));
+				}
+				addBatchRow(tuple);
 				if (this.isBatchFull()) {
 					return pullBatch();
 				}

Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java	2011-05-18 04:02:41 UTC (rev 3178)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java	2011-05-18 17:23:58 UTC (rev 3179)
@@ -363,6 +363,7 @@
 			}
 			List<?> result = updateMatViewRow(globalStore, matTableName, tuple, delete);
 			if (result != null && eventDistributor != null) {
+				result = new ArrayList<Object>(result); //ensure the list is serializable
 				this.eventDistributor.updateMatViewRow(context.getVdbName(), context.getVdbVersion(), metadata.getName(metadata.getModelID(groupID)), metadata.getName(groupID), tuple, delete);
 			}
 			return CollectionTupleSource.createUpdateCountTupleSource(result != null ? 1 : 0);

Modified: branches/7.4.x/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
===================================================================
--- branches/7.4.x/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java	2011-05-18 04:02:41 UTC (rev 3178)
+++ branches/7.4.x/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java	2011-05-18 17:23:58 UTC (rev 3179)
@@ -181,8 +181,8 @@
 				LogManager.logDetail(LogConstants.CTX_RUNTIME, ne, IntegrationPlugin.Util.getString("jndi_failed", new Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
 			}
 		}
+		this.dqpCore.setEventDistributor(this.eventDistributor);
 		this.dqpCore.start(this);
-		this.dqpCore.getDataTierManager().setEventDistributor(this.eventDistributor);		
     	// create the necessary services
     	createClientServices();
     	



More information about the teiid-commits mailing list