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()