You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2013/09/14 02:06:16 UTC
svn commit: r1523154 - in /incubator/vxquery/trunk/vxquery:
vxquery-cli/src/main/java/org/apache/vxquery/cli/
vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/
vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/
vxquery-xtest/src/...
Author: prestonc
Date: Sat Sep 14 00:06:16 2013
New Revision: 1523154
URL: http://svn.apache.org/r1523154
Log:
Added the -frame-size to the cli options and updated the test suite to use the default ~64K frame size. Now a user can set the frame size at the time of running the query.
Modified:
incubator/vxquery/trunk/vxquery/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java
incubator/vxquery/trunk/vxquery/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java
Modified: incubator/vxquery/trunk/vxquery/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java?rev=1523154&r1=1523153&r2=1523154&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java Sat Sep 14 00:06:16 2013
@@ -55,7 +55,6 @@ import edu.uci.ics.hyracks.api.comm.IFra
import edu.uci.ics.hyracks.api.dataset.IHyracksDataset;
import edu.uci.ics.hyracks.api.dataset.IHyracksDatasetReader;
import edu.uci.ics.hyracks.api.dataset.ResultSetId;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
import edu.uci.ics.hyracks.api.job.JobFlag;
import edu.uci.ics.hyracks.api.job.JobId;
import edu.uci.ics.hyracks.api.job.JobSpecification;
@@ -65,7 +64,6 @@ import edu.uci.ics.hyracks.control.commo
import edu.uci.ics.hyracks.control.common.controllers.NCConfig;
import edu.uci.ics.hyracks.control.nc.NodeControllerService;
import edu.uci.ics.hyracks.dataflow.common.comm.io.ResultFrameTupleAccessor;
-import edu.uci.ics.hyracks.dataflow.common.comm.util.ByteBufferInputStream;
public class VXQuery {
private final CmdLineOptions opts;
@@ -171,15 +169,7 @@ public class VXQuery {
}
};
- // Get cluster node configuration.
- Map<String, NodeControllerInfo> nodeControllerInfos = hcc.getNodeControllerInfos();
- String[] nodeList = new String[nodeControllerInfos.size()];
- int index = 0;
- for (String node : nodeControllerInfos.keySet()) {
- nodeList[index++] = node;
- }
-
- XMLQueryCompiler compiler = new XMLQueryCompiler(listener, nodeList);
+ XMLQueryCompiler compiler = new XMLQueryCompiler(listener, getNodeList(), opts.frameSize);
resultSetId = createResultSetId();
CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
resultSetId);
@@ -201,6 +191,19 @@ public class VXQuery {
}
}
+ /**
+ * Get cluster node configuration.
+ */
+ private String[] getNodeList() throws Exception {
+ Map<String, NodeControllerInfo> nodeControllerInfos = hcc.getNodeControllerInfos();
+ String[] nodeList = new String[nodeControllerInfos.size()];
+ int index = 0;
+ for (String node : nodeControllerInfos.keySet()) {
+ nodeList[index++] = node;
+ }
+ return nodeList;
+ }
+
private void runJob(JobSpecification spec, PrintWriter writer) throws Exception {
if (hds == null) {
hds = new HyracksDataset(hcc, spec.getFrameSize(), 1);
@@ -282,6 +285,9 @@ public class VXQuery {
@Option(name = "-local-node-controllers", usage = "Number of local node controllers (default 1)")
public int localNodeControllers = 1;
+ @Option(name = "-frame-size", usage = "Frame size in bytes. (default 65536)")
+ public int frameSize = 65536;
+
@Option(name = "-O", usage = "Optimization Level. Default: Full Optimization")
private int optimizationLevel = Integer.MAX_VALUE;
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java?rev=1523154&r1=1523153&r2=1523154&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java Sat Sep 14 00:06:16 2013
@@ -82,10 +82,11 @@ public class XMLQueryCompiler {
private ICompiler compiler;
- private int frameSize = 65536;
+ private int frameSize;
- public XMLQueryCompiler(XQueryCompilationListener listener, String[] nodeList) {
+ public XMLQueryCompiler(XQueryCompilationListener listener, String[] nodeList, int frameSize) {
this.listener = listener == null ? NoopXQueryCompilationListener.INSTANCE : listener;
+ this.frameSize = frameSize;
HeuristicCompilerFactoryBuilder builder = new HeuristicCompilerFactoryBuilder(
new IOptimizationContextFactory() {
@Override
@@ -99,7 +100,7 @@ public class XMLQueryCompiler {
physicalOptimizationConfig);
}
});
- builder.getPhysicalOptimizationConfig().setFrameSize(frameSize);
+ builder.getPhysicalOptimizationConfig().setFrameSize(this.frameSize);
builder.setLogicalRewrites(buildDefaultLogicalRewrites());
builder.setPhysicalRewrites(buildDefaultPhysicalRewrites());
builder.setSerializerDeserializerProvider(new ISerializerDeserializerProvider() {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java?rev=1523154&r1=1523153&r2=1523154&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java Sat Sep 14 00:06:16 2013
@@ -30,7 +30,6 @@ import org.apache.vxquery.context.Static
import org.junit.Test;
import edu.uci.ics.hyracks.api.dataset.ResultSetId;
-import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
public class SimpleXQueryTest {
@Test
@@ -134,7 +133,7 @@ public class SimpleXQueryTest {
}
private static void runTestInternal(String testName, String query) throws Exception {
- XMLQueryCompiler compiler = new XMLQueryCompiler(null, new String[] { "nc1" });
+ XMLQueryCompiler compiler = new XMLQueryCompiler(null, new String[] { "nc1" }, 65536);
CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
new ResultSetId(System.nanoTime()));
compiler.compile(testName, new StringReader(query), ccb, Integer.MAX_VALUE);
Modified: incubator/vxquery/trunk/vxquery/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java?rev=1523154&r1=1523153&r2=1523154&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java Sat Sep 14 00:06:16 2013
@@ -112,7 +112,7 @@ public class TestRunnerFactory {
long start = System.currentTimeMillis();
try {
try {
- XMLQueryCompiler compiler = new XMLQueryCompiler(null, new String[] { "nc1" });
+ XMLQueryCompiler compiler = new XMLQueryCompiler(null, new String[] { "nc1" }, 65536);
Reader in = new InputStreamReader(new FileInputStream(testCase.getXQueryFile()), "UTF-8");
CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(
RootStaticContextImpl.INSTANCE), new ResultSetId(testCase.getXQueryDisplayName()