[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