http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestBroadcastExchange.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestBroadcastExchange.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestBroadcastExchange.java index 69ba832..826ebf5 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestBroadcastExchange.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestBroadcastExchange.java @@ -17,22 +17,21 @@ */ package org.apache.drill.exec.physical.impl; -import com.google.common.base.Charsets; -import com.google.common.io.Files; +import static org.junit.Assert.assertEquals; + +import java.util.List; + import org.apache.drill.common.util.FileUtils; import org.apache.drill.exec.client.DrillClient; -import org.apache.drill.exec.physical.PhysicalPlan; import org.apache.drill.exec.pop.PopUnitTestBase; -import org.apache.drill.exec.proto.UserProtos; +import org.apache.drill.exec.proto.UserBitShared.QueryType; import org.apache.drill.exec.rpc.user.QueryResultBatch; import org.apache.drill.exec.server.Drillbit; import org.apache.drill.exec.server.RemoteServiceSet; -import org.junit.Ignore; import org.junit.Test; -import java.util.List; - -import static org.junit.Assert.assertEquals; +import com.google.common.base.Charsets; +import com.google.common.io.Files; public class TestBroadcastExchange extends PopUnitTestBase { @Test @@ -51,7 +50,7 @@ public class TestBroadcastExchange extends PopUnitTestBase { FileUtils.getResourceAsFile("/sender/broadcast_exchange.json"), Charsets.UTF_8) .replace("#{LEFT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.left.json").toURI().toString()) .replace("#{RIGHT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.right.json").toURI().toString()); - List<QueryResultBatch> results = client.runQuery(UserProtos.QueryType.PHYSICAL, physicalPlan); + List<QueryResultBatch> results = client.runQuery(QueryType.PHYSICAL, physicalPlan); int count = 0; for(QueryResultBatch b : results) { if (b.getHeader().getRowCount() != 0) count += b.getHeader().getRowCount(); @@ -75,7 +74,7 @@ public class TestBroadcastExchange extends PopUnitTestBase { String physicalPlan = Files.toString( FileUtils.getResourceAsFile("/sender/broadcast_exchange_long_run.json"), Charsets.UTF_8); - List<QueryResultBatch> results = client.runQuery(UserProtos.QueryType.PHYSICAL, physicalPlan); + List<QueryResultBatch> results = client.runQuery(QueryType.PHYSICAL, physicalPlan); int count = 0; for(QueryResultBatch b : results) { if (b.getHeader().getRowCount() != 0) count += b.getHeader().getRowCount();
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestExecutionAbstractions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestExecutionAbstractions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestExecutionAbstractions.java deleted file mode 100644 index 24cae70..0000000 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestExecutionAbstractions.java +++ /dev/null @@ -1,225 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.drill.exec.physical.impl; - -import java.lang.reflect.Field; -import java.nio.ByteBuffer; -import java.util.Random; - -import sun.misc.Unsafe; -import com.google.caliper.Benchmark; -import com.google.caliper.Param; - -@SuppressWarnings("restriction") -public class TestExecutionAbstractions extends Benchmark { - static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestExecutionAbstractions.class); - - /** - * General goal is compare the performance of abstract versus concrete - * implementations of selection vector dereferencing. - */ - - private static enum Implementation { - CONCRETE, ABSTRACT - }; - - private static enum SelectionVectorMode { - NONE, SV2, SV4 - }; - - @Param - private Implementation impl; - @Param - private SelectionVectorMode mode; - - private int scale = 1024*1024*8; - - private final Unsafe unsafe = retrieveUnsafe(); - private final ByteBuffer a; - private final ByteBuffer b; - private final ByteBuffer b2; - private final ByteBuffer c; - private final ByteBuffer sv2; - private final ByteBuffer sv4; - private final int max; - - - public TestExecutionAbstractions() throws Exception { - sv2 = ByteBuffer.allocateDirect(scale * 2); - sv4 = ByteBuffer.allocateDirect(scale * 4); - a = ByteBuffer.allocateDirect(scale * 8); - b = ByteBuffer.allocateDirect(scale * 8); - b2 = ByteBuffer.allocateDirect(scale * 8); - c = ByteBuffer.allocateDirect(scale * 8); - int svPos = 0; - int i = 0; - try { - - Random r = new Random(); - for (; i < scale; i++) { - a.putLong(i * 8, r.nextLong()); - b.putLong(i * 8, r.nextLong()); - - if (r.nextBoolean()) { - sv2.putChar(svPos * 2, (char) i); - sv4.putInt(svPos * 4, i); - svPos++; - } - } - System.out.println("Created test data."); - max = mode == SelectionVectorMode.NONE ? 1024 : svPos; - - } catch (Exception ex) { - System.out.println("i: " + i + ", svPos" + svPos); - throw ex; - } - } - - private Unsafe retrieveUnsafe(){ - sun.misc.Unsafe localUnsafe = null; - - try { - Field field = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); - field.setAccessible(true); - localUnsafe = (sun.misc.Unsafe) field.get(null); - } catch (Exception e) { - throw new AssertionError(e); - } - - return localUnsafe; - } - - public void timeAdd(int reps) { - for (int r = 0; r < reps; r++) { - switch (impl) { - - case CONCRETE: - switch (mode) { - - case NONE: - for (int i = 0; i < max; i++) { - - c.putLong(i * 8, a.getLong(i * 8) + b.getLong(i * 8)); - } - - break; - case SV2: - for (int i = 0; i < max; i++) { - int index = sv2.getChar(i*2) * 8; - c.putLong(i * 8, a.getLong(index) + b.getLong(index)); - } - break; - case SV4: - for (int i = 0; i < max; i++) { - int index = sv4.getInt(i*4) * 8; - c.putLong(i * 8, a.getLong(index) + b.getLong(index)); - } - break; - } - break; - case ABSTRACT: - LongGetter aGetter = null; - LongGetter bGetter = null; - - switch (mode) { - - case NONE: - aGetter = new StraightGetter(a); - bGetter = new StraightGetter(b); - break; - case SV2: - aGetter = new Sv2Getter(sv2, a); - bGetter = new Sv2Getter(sv2, b); - break; - case SV4: - aGetter = new Sv4Getter(sv4, a); - bGetter = new Sv4Getter(sv4, b); - break; - - } - - for (int i = 0; i < max; i++) { - c.putLong(i * 8, aGetter.getLong(i) + bGetter.getLong(i)); - } - break; - } - } - - } - - private static interface LongGetter { - long getLong(int index); - } - - private static class StraightGetter implements LongGetter { - - final ByteBuffer b; - - public StraightGetter(ByteBuffer b) { - super(); - this.b = b; - } - - @Override - public long getLong(int index) { - return b.getLong(index * 8); - } - } - - private static class Sv2Getter implements LongGetter { - final ByteBuffer b; - final ByteBuffer sv; - - public Sv2Getter(ByteBuffer sv, ByteBuffer b) { - super(); - this.b = b; - this.sv = sv; - } - - @Override - public long getLong(int index) { - int pos = sv.getChar(index * 2); - return b.getLong(pos * 8); - } - } - - private static class Sv4Getter implements LongGetter { - final ByteBuffer b; - final ByteBuffer sv; - - public Sv4Getter(ByteBuffer sv, ByteBuffer b) { - super(); - this.b = b; - this.sv = sv; - } - - @Override - public long getLong(int index) { - int pos = sv.getInt(index * 4); - return b.getLong(pos * 8); - } - } - - private long allocate(long bytes){ - return unsafe.allocateMemory(bytes); - - } - - - -} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/server/DrillClientFactory.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/server/DrillClientFactory.java b/exec/java-exec/src/test/java/org/apache/drill/exec/server/DrillClientFactory.java new file mode 100644 index 0000000..216cb3b --- /dev/null +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/server/DrillClientFactory.java @@ -0,0 +1,21 @@ +package org.apache.drill.exec.server; + +import org.apache.drill.exec.client.DrillClient; +import org.glassfish.hk2.api.Factory; + +public class DrillClientFactory implements Factory<DrillClient>{ + static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DrillClientFactory.class); + + + + @Override + public void dispose(DrillClient arg0) { + } + + @Override + public DrillClient provide() { + return new DrillClient(); + } + + +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/server/HelloResource.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/server/HelloResource.java b/exec/java-exec/src/test/java/org/apache/drill/exec/server/HelloResource.java new file mode 100644 index 0000000..cdb04ec --- /dev/null +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/server/HelloResource.java @@ -0,0 +1,22 @@ +package org.apache.drill.exec.server; + +import javax.inject.Inject; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; + +import org.apache.drill.exec.client.DrillClient; + +@Path("hello") +public class HelloResource { + static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(HelloResource.class); + + @Inject DrillClient client; + + @GET + @Produces("text/plain") + public String getHello() { + return "hello world" + client; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/server/TestJersey.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/server/TestJersey.java b/exec/java-exec/src/test/java/org/apache/drill/exec/server/TestJersey.java new file mode 100644 index 0000000..6e873ed --- /dev/null +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/server/TestJersey.java @@ -0,0 +1,48 @@ +package org.apache.drill.exec.server; + +import org.apache.drill.exec.client.DrillClient; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.glassfish.hk2.utilities.binding.AbstractBinder; +import org.glassfish.jersey.jackson.JacksonFeature; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.server.ServerProperties; +import org.glassfish.jersey.servlet.ServletContainer; +import org.junit.Test; + +public class TestJersey { + static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestJersey.class); + + @Test + public void x() throws Exception { + Server server = new Server(8112); + ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); + context.setContextPath("/"); + server.setHandler(context); + ServletHolder h = new ServletHolder(new ServletContainer(new MyApplication())); + h.setInitParameter(ServerProperties.PROVIDER_PACKAGES, "org.apache.drill.exec.server"); + h.setInitOrder(1); + context.addServlet(h, "/*"); + server.start(); + server.join(); + + } + + public class MyApplication extends ResourceConfig { + + public MyApplication() { + registerClasses(HelloResource.class); + register(JacksonFeature.class); + property(ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE, true); + register(new AbstractBinder() { + @Override + protected void configure() { + this.bind(new DrillClient()).to(DrillClient.class); + } + }); + } +} + + +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/java/org/apache/drill/exec/server/rest/RootResource.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/server/rest/RootResource.java b/exec/java-exec/src/test/java/org/apache/drill/exec/server/rest/RootResource.java new file mode 100644 index 0000000..42fc39e --- /dev/null +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/server/rest/RootResource.java @@ -0,0 +1,9 @@ +package org.apache.drill.exec.server.rest; + +import javax.ws.rs.Path; + +@Path("/") +public class RootResource { + public int hi = 5; + public String blue = "yo"; +} http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/java-exec/src/test/resources/logback.xml ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/test/resources/logback.xml b/exec/java-exec/src/test/resources/logback.xml index b8e0ca2..b13bc58 100644 --- a/exec/java-exec/src/test/resources/logback.xml +++ b/exec/java-exec/src/test/resources/logback.xml @@ -42,7 +42,7 @@ <!-- </logger> --> <root> - <level value="error" /> + <level value="debug" /> <appender-ref ref="STDOUT" /> </root> http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java ---------------------------------------------------------------------- diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java index be56b96..594e3ff 100644 --- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java +++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java @@ -31,7 +31,7 @@ import net.hydromatic.avatica.AvaticaStatement; import org.apache.drill.exec.client.DrillClient; import org.apache.drill.exec.proto.UserBitShared.QueryId; -import org.apache.drill.exec.proto.UserProtos.QueryType; +import org.apache.drill.exec.proto.UserBitShared.QueryType; import org.apache.drill.exec.record.RecordBatchLoader; import org.apache.drill.exec.rpc.RpcException; import org.apache.drill.exec.rpc.user.ConnectionThrottle; @@ -48,8 +48,8 @@ public class DrillResultSet extends AvaticaResultSet { private volatile QueryId queryId; private final DrillClient client; final RecordBatchLoader currentBatch; - final DrillCursor cursor; - + final DrillCursor cursor; + public DrillResultSet(AvaticaStatement statement, AvaticaPrepareResult prepareResult, ResultSetMetaData resultSetMetaData, TimeZone timeZone) { super(statement, prepareResult, resultSetMetaData, timeZone); @@ -60,7 +60,7 @@ public class DrillResultSet extends AvaticaResultSet { this.client = client; cursor = new DrillCursor(this); } - + @Override protected void cancel() { cleanup(); @@ -73,7 +73,7 @@ public class DrillResultSet extends AvaticaResultSet { } listener.close(); } - + @Override protected DrillResultSet execute() throws SQLException{ // Call driver's callback. It is permitted to throw a RuntimeException. DrillConnectionImpl connection = (DrillConnectionImpl) statement.getConnection(); @@ -89,10 +89,10 @@ public class DrillResultSet extends AvaticaResultSet { cursor.next(); } catch (InterruptedException e) { } - + return this; } - + class Listener implements UserResultsListener { private static final int MAX = 100; private volatile RpcException ex; @@ -102,9 +102,9 @@ public class DrillResultSet extends AvaticaResultSet { private volatile boolean closed = false; private CountDownLatch latch = new CountDownLatch(1); private AtomicBoolean receivedMessage = new AtomicBoolean(false); - - - + + + final LinkedBlockingDeque<QueryResultBatch> queue = Queues.newLinkedBlockingDeque(); private boolean releaseIfFirst(){ @@ -112,10 +112,10 @@ public class DrillResultSet extends AvaticaResultSet { latch.countDown(); return true; } - + return false; } - + @Override public void submissionFailed(RpcException ex) { releaseIfFirst(); @@ -151,7 +151,7 @@ public class DrillResultSet extends AvaticaResultSet { if (result.getHeader().getErrorCount() > 0) { submissionFailed(new RpcException(String.format("%s", result.getHeader().getErrorList()))); } - + releaseIfFirst(); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java ---------------------------------------------------------------------- diff --git a/protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java b/protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java index 9480ba4..a2e97d1 100644 --- a/protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java +++ b/protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java @@ -47,21 +47,13 @@ public final class TypeProtos { */ MAP(1, 1), /** - * <code>REPEATMAP = 2;</code> - * - * <pre> - * a repeated map column (means that multiple children sit below this) - * </pre> - */ - REPEATMAP(2, 2), - /** * <code>TINYINT = 3;</code> * * <pre> * single byte signed integer * </pre> */ - TINYINT(3, 3), + TINYINT(2, 3), /** * <code>SMALLINT = 4;</code> * @@ -69,7 +61,7 @@ public final class TypeProtos { * two byte signed integer * </pre> */ - SMALLINT(4, 4), + SMALLINT(3, 4), /** * <code>INT = 5;</code> * @@ -77,7 +69,7 @@ public final class TypeProtos { * four byte signed integer * </pre> */ - INT(5, 5), + INT(4, 5), /** * <code>BIGINT = 6;</code> * @@ -85,7 +77,7 @@ public final class TypeProtos { * eight byte signed integer * </pre> */ - BIGINT(6, 6), + BIGINT(5, 6), /** * <code>DECIMAL9 = 7;</code> * @@ -93,7 +85,7 @@ public final class TypeProtos { * a decimal supporting precision between 1 and 9 * </pre> */ - DECIMAL9(7, 7), + DECIMAL9(6, 7), /** * <code>DECIMAL18 = 8;</code> * @@ -101,7 +93,7 @@ public final class TypeProtos { * a decimal supporting precision between 10 and 18 * </pre> */ - DECIMAL18(8, 8), + DECIMAL18(7, 8), /** * <code>DECIMAL28SPARSE = 9;</code> * @@ -109,7 +101,7 @@ public final class TypeProtos { * a decimal supporting precision between 19 and 28 * </pre> */ - DECIMAL28SPARSE(9, 9), + DECIMAL28SPARSE(8, 9), /** * <code>DECIMAL38SPARSE = 10;</code> * @@ -117,7 +109,7 @@ public final class TypeProtos { * a decimal supporting precision between 29 and 38 * </pre> */ - DECIMAL38SPARSE(10, 10), + DECIMAL38SPARSE(9, 10), /** * <code>MONEY = 11;</code> * @@ -125,7 +117,7 @@ public final class TypeProtos { * signed decimal with two digit precision * </pre> */ - MONEY(11, 11), + MONEY(10, 11), /** * <code>DATE = 12;</code> * @@ -133,7 +125,7 @@ public final class TypeProtos { * days since 4713bc * </pre> */ - DATE(12, 12), + DATE(11, 12), /** * <code>TIME = 13;</code> * @@ -141,7 +133,7 @@ public final class TypeProtos { * time in micros before or after 2000/1/1 * </pre> */ - TIME(13, 13), + TIME(12, 13), /** * <code>TIMETZ = 14;</code> * @@ -149,7 +141,7 @@ public final class TypeProtos { * time in micros before or after 2000/1/1 with timezone * </pre> */ - TIMETZ(14, 14), + TIMETZ(13, 14), /** * <code>TIMESTAMPTZ = 15;</code> * @@ -157,7 +149,7 @@ public final class TypeProtos { * unix epoch time in millis * </pre> */ - TIMESTAMPTZ(15, 15), + TIMESTAMPTZ(14, 15), /** * <code>TIMESTAMP = 16;</code> * @@ -165,7 +157,7 @@ public final class TypeProtos { * TBD * </pre> */ - TIMESTAMP(16, 16), + TIMESTAMP(15, 16), /** * <code>INTERVAL = 17;</code> * @@ -173,7 +165,7 @@ public final class TypeProtos { * TBD * </pre> */ - INTERVAL(17, 17), + INTERVAL(16, 17), /** * <code>FLOAT4 = 18;</code> * @@ -181,7 +173,7 @@ public final class TypeProtos { * 4 byte ieee 754 * </pre> */ - FLOAT4(18, 18), + FLOAT4(17, 18), /** * <code>FLOAT8 = 19;</code> * @@ -189,7 +181,7 @@ public final class TypeProtos { * 8 byte ieee 754 * </pre> */ - FLOAT8(19, 19), + FLOAT8(18, 19), /** * <code>BIT = 20;</code> * @@ -197,7 +189,7 @@ public final class TypeProtos { * single bit value (boolean) * </pre> */ - BIT(20, 20), + BIT(19, 20), /** * <code>FIXEDCHAR = 21;</code> * @@ -205,11 +197,11 @@ public final class TypeProtos { * utf8 fixed length string, padded with spaces * </pre> */ - FIXEDCHAR(21, 21), + FIXEDCHAR(20, 21), /** * <code>FIXED16CHAR = 22;</code> */ - FIXED16CHAR(22, 22), + FIXED16CHAR(21, 22), /** * <code>FIXEDBINARY = 23;</code> * @@ -217,7 +209,7 @@ public final class TypeProtos { * fixed length binary, padded with 0 bytes * </pre> */ - FIXEDBINARY(23, 23), + FIXEDBINARY(22, 23), /** * <code>VARCHAR = 24;</code> * @@ -225,7 +217,7 @@ public final class TypeProtos { * utf8 variable length string * </pre> */ - VARCHAR(24, 24), + VARCHAR(23, 24), /** * <code>VAR16CHAR = 25;</code> * @@ -233,7 +225,7 @@ public final class TypeProtos { * utf16 variable length string * </pre> */ - VAR16CHAR(25, 25), + VAR16CHAR(24, 25), /** * <code>VARBINARY = 26;</code> * @@ -241,7 +233,7 @@ public final class TypeProtos { * variable length binary * </pre> */ - VARBINARY(26, 26), + VARBINARY(25, 26), /** * <code>UINT1 = 29;</code> * @@ -249,7 +241,7 @@ public final class TypeProtos { * unsigned 1 byte integer * </pre> */ - UINT1(27, 29), + UINT1(26, 29), /** * <code>UINT2 = 30;</code> * @@ -257,7 +249,7 @@ public final class TypeProtos { * unsigned 2 byte integer * </pre> */ - UINT2(28, 30), + UINT2(27, 30), /** * <code>UINT4 = 31;</code> * @@ -265,7 +257,7 @@ public final class TypeProtos { * unsigned 4 byte integer * </pre> */ - UINT4(29, 31), + UINT4(28, 31), /** * <code>UINT8 = 32;</code> * @@ -273,7 +265,7 @@ public final class TypeProtos { * unsigned 8 byte integer * </pre> */ - UINT8(30, 32), + UINT8(29, 32), /** * <code>DECIMAL28DENSE = 33;</code> * @@ -281,7 +273,7 @@ public final class TypeProtos { * dense decimal representation, supporting precision between 19 and 28 * </pre> */ - DECIMAL28DENSE(31, 33), + DECIMAL28DENSE(30, 33), /** * <code>DECIMAL38DENSE = 34;</code> * @@ -289,7 +281,7 @@ public final class TypeProtos { * dense decimal representation, supporting precision between 28 and 38 * </pre> */ - DECIMAL38DENSE(32, 34), + DECIMAL38DENSE(31, 34), /** * <code>NULL = 37;</code> * @@ -300,7 +292,7 @@ public final class TypeProtos { * MSGPACK4 = 36; // msgpack encoded complex type. (up to 2^32 in length) * </pre> */ - NULL(33, 37), + NULL(32, 37), /** * <code>INTERVALYEAR = 38;</code> * @@ -308,7 +300,7 @@ public final class TypeProtos { * Interval type specifying YEAR to MONTH * </pre> */ - INTERVALYEAR(34, 38), + INTERVALYEAR(33, 38), /** * <code>INTERVALDAY = 39;</code> * @@ -316,11 +308,11 @@ public final class TypeProtos { * Interval type specifying DAY to SECONDS * </pre> */ - INTERVALDAY(35, 39), + INTERVALDAY(34, 39), /** * <code>LIST = 40;</code> */ - LIST(36, 40), + LIST(35, 40), ; /** @@ -340,14 +332,6 @@ public final class TypeProtos { */ public static final int MAP_VALUE = 1; /** - * <code>REPEATMAP = 2;</code> - * - * <pre> - * a repeated map column (means that multiple children sit below this) - * </pre> - */ - public static final int REPEATMAP_VALUE = 2; - /** * <code>TINYINT = 3;</code> * * <pre> @@ -622,7 +606,6 @@ public final class TypeProtos { switch (value) { case 0: return LATE; case 1: return MAP; - case 2: return REPEATMAP; case 3: return TINYINT; case 4: return SMALLINT; case 5: return INT; @@ -1788,22 +1771,22 @@ public final class TypeProtos { "inor_type\030\001 \001(\0162\021.common.MinorType\022\036\n\004mo" + "de\030\002 \001(\0162\020.common.DataMode\022\r\n\005width\030\003 \001(" + "\005\022\021\n\tprecision\030\004 \001(\005\022\r\n\005scale\030\005 \001(\005\022\020\n\010t" + - "imeZone\030\006 \001(\005*\205\004\n\tMinorType\022\010\n\004LATE\020\000\022\007\n" + - "\003MAP\020\001\022\r\n\tREPEATMAP\020\002\022\013\n\007TINYINT\020\003\022\014\n\010SM" + - "ALLINT\020\004\022\007\n\003INT\020\005\022\n\n\006BIGINT\020\006\022\014\n\010DECIMAL" + - "9\020\007\022\r\n\tDECIMAL18\020\010\022\023\n\017DECIMAL28SPARSE\020\t\022" + - "\023\n\017DECIMAL38SPARSE\020\n\022\t\n\005MONEY\020\013\022\010\n\004DATE\020" + - "\014\022\010\n\004TIME\020\r\022\n\n\006TIMETZ\020\016\022\017\n\013TIMESTAMPTZ\020\017", - "\022\r\n\tTIMESTAMP\020\020\022\014\n\010INTERVAL\020\021\022\n\n\006FLOAT4\020" + - "\022\022\n\n\006FLOAT8\020\023\022\007\n\003BIT\020\024\022\r\n\tFIXEDCHAR\020\025\022\017\n" + - "\013FIXED16CHAR\020\026\022\017\n\013FIXEDBINARY\020\027\022\013\n\007VARCH" + - "AR\020\030\022\r\n\tVAR16CHAR\020\031\022\r\n\tVARBINARY\020\032\022\t\n\005UI" + - "NT1\020\035\022\t\n\005UINT2\020\036\022\t\n\005UINT4\020\037\022\t\n\005UINT8\020 \022\022" + - "\n\016DECIMAL28DENSE\020!\022\022\n\016DECIMAL38DENSE\020\"\022\010" + - "\n\004NULL\020%\022\020\n\014INTERVALYEAR\020&\022\017\n\013INTERVALDA" + - "Y\020\'\022\010\n\004LIST\020(*4\n\010DataMode\022\014\n\010OPTIONAL\020\000\022" + - "\014\n\010REQUIRED\020\001\022\014\n\010REPEATED\020\002B-\n\035org.apach" + - "e.drill.common.typesB\nTypeProtosH\001" + "imeZone\030\006 \001(\005*\366\003\n\tMinorType\022\010\n\004LATE\020\000\022\007\n" + + "\003MAP\020\001\022\013\n\007TINYINT\020\003\022\014\n\010SMALLINT\020\004\022\007\n\003INT" + + "\020\005\022\n\n\006BIGINT\020\006\022\014\n\010DECIMAL9\020\007\022\r\n\tDECIMAL1" + + "8\020\010\022\023\n\017DECIMAL28SPARSE\020\t\022\023\n\017DECIMAL38SPA" + + "RSE\020\n\022\t\n\005MONEY\020\013\022\010\n\004DATE\020\014\022\010\n\004TIME\020\r\022\n\n\006" + + "TIMETZ\020\016\022\017\n\013TIMESTAMPTZ\020\017\022\r\n\tTIMESTAMP\020\020", + "\022\014\n\010INTERVAL\020\021\022\n\n\006FLOAT4\020\022\022\n\n\006FLOAT8\020\023\022\007" + + "\n\003BIT\020\024\022\r\n\tFIXEDCHAR\020\025\022\017\n\013FIXED16CHAR\020\026\022" + + "\017\n\013FIXEDBINARY\020\027\022\013\n\007VARCHAR\020\030\022\r\n\tVAR16CH" + + "AR\020\031\022\r\n\tVARBINARY\020\032\022\t\n\005UINT1\020\035\022\t\n\005UINT2\020" + + "\036\022\t\n\005UINT4\020\037\022\t\n\005UINT8\020 \022\022\n\016DECIMAL28DENS" + + "E\020!\022\022\n\016DECIMAL38DENSE\020\"\022\010\n\004NULL\020%\022\020\n\014INT" + + "ERVALYEAR\020&\022\017\n\013INTERVALDAY\020\'\022\010\n\004LIST\020(*4" + + "\n\010DataMode\022\014\n\010OPTIONAL\020\000\022\014\n\010REQUIRED\020\001\022\014" + + "\n\010REPEATED\020\002B-\n\035org.apache.drill.common." + + "typesB\nTypeProtosH\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java ---------------------------------------------------------------------- diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java b/protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java index a1cf6f8..9e041dc 100644 --- a/protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java +++ b/protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java @@ -1675,6 +1675,20 @@ public final class BitControl { * <code>optional int64 running_time = 9;</code> */ long getRunningTime(); + + // optional .exec.shared.MinorFragmentProfile profile = 10; + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + boolean hasProfile(); + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile(); + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder(); } /** * Protobuf type {@code exec.bit.control.FragmentStatus} @@ -1794,6 +1808,19 @@ public final class BitControl { runningTime_ = input.readInt64(); break; } + case 82: { + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder subBuilder = null; + if (((bitField0_ & 0x00000200) == 0x00000200)) { + subBuilder = profile_.toBuilder(); + } + profile_ = input.readMessage(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(profile_); + profile_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000200; + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -2108,6 +2135,28 @@ public final class BitControl { return runningTime_; } + // optional .exec.shared.MinorFragmentProfile profile = 10; + public static final int PROFILE_FIELD_NUMBER = 10; + private org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile profile_; + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public boolean hasProfile() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile() { + return profile_; + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder() { + return profile_; + } + private void initFields() { memoryUse_ = 0L; batchesCompleted_ = 0L; @@ -2118,6 +2167,7 @@ public final class BitControl { handle_ = org.apache.drill.exec.proto.ExecProtos.FragmentHandle.getDefaultInstance(); error_ = org.apache.drill.exec.proto.UserBitShared.DrillPBError.getDefaultInstance(); runningTime_ = 0L; + profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2158,6 +2208,9 @@ public final class BitControl { if (((bitField0_ & 0x00000100) == 0x00000100)) { output.writeInt64(9, runningTime_); } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + output.writeMessage(10, profile_); + } getUnknownFields().writeTo(output); } @@ -2203,6 +2256,10 @@ public final class BitControl { size += com.google.protobuf.CodedOutputStream .computeInt64Size(9, runningTime_); } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(10, profile_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -2313,6 +2370,7 @@ public final class BitControl { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getHandleFieldBuilder(); getErrorFieldBuilder(); + getProfileFieldBuilder(); } } private static Builder create() { @@ -2347,6 +2405,12 @@ public final class BitControl { bitField0_ = (bitField0_ & ~0x00000080); runningTime_ = 0L; bitField0_ = (bitField0_ & ~0x00000100); + if (profileBuilder_ == null) { + profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance(); + } else { + profileBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000200); return this; } @@ -2419,6 +2483,14 @@ public final class BitControl { to_bitField0_ |= 0x00000100; } result.runningTime_ = runningTime_; + if (((from_bitField0_ & 0x00000200) == 0x00000200)) { + to_bitField0_ |= 0x00000200; + } + if (profileBuilder_ == null) { + result.profile_ = profile_; + } else { + result.profile_ = profileBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -2462,6 +2534,9 @@ public final class BitControl { if (other.hasRunningTime()) { setRunningTime(other.getRunningTime()); } + if (other.hasProfile()) { + mergeProfile(other.getProfile()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -2957,6 +3032,123 @@ public final class BitControl { return this; } + // optional .exec.shared.MinorFragmentProfile profile = 10; + private org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> profileBuilder_; + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public boolean hasProfile() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getProfile() { + if (profileBuilder_ == null) { + return profile_; + } else { + return profileBuilder_.getMessage(); + } + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public Builder setProfile(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) { + if (profileBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + profile_ = value; + onChanged(); + } else { + profileBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public Builder setProfile( + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder builderForValue) { + if (profileBuilder_ == null) { + profile_ = builderForValue.build(); + onChanged(); + } else { + profileBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public Builder mergeProfile(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) { + if (profileBuilder_ == null) { + if (((bitField0_ & 0x00000200) == 0x00000200) && + profile_ != org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance()) { + profile_ = + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.newBuilder(profile_).mergeFrom(value).buildPartial(); + } else { + profile_ = value; + } + onChanged(); + } else { + profileBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public Builder clearProfile() { + if (profileBuilder_ == null) { + profile_ = org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.getDefaultInstance(); + onChanged(); + } else { + profileBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000200); + return this; + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder getProfileBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return getProfileFieldBuilder().getBuilder(); + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getProfileOrBuilder() { + if (profileBuilder_ != null) { + return profileBuilder_.getMessageOrBuilder(); + } else { + return profile_; + } + } + /** + * <code>optional .exec.shared.MinorFragmentProfile profile = 10;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> + getProfileFieldBuilder() { + if (profileBuilder_ == null) { + profileBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder>( + profile_, + getParentForChildren(), + isClean()); + profile_ = null; + } + return profileBuilder_; + } + // @@protoc_insertion_point(builder_scope:exec.bit.control.FragmentStatus) } @@ -5898,7 +6090,7 @@ public final class BitControl { "(\0162\027.exec.shared.RpcChannel:\013BIT_CONTROL" + "\022(\n\010endpoint\030\003 \001(\0132\026.exec.DrillbitEndpoi" + "nt\"F\n\tBitStatus\0229\n\017fragment_status\030\001 \003(\013" + - "2 .exec.bit.control.FragmentStatus\"\261\003\n\016F" + + "2 .exec.bit.control.FragmentStatus\"\345\003\n\016F" + "ragmentStatus\022\022\n\nmemory_use\030\001 \001(\003\022\031\n\021bat" + "ches_completed\030\002 \001(\003\022\031\n\021records_complete", "d\030\003 \001(\003\022\'\n\037estimated_completion_percenta" + @@ -5907,30 +6099,31 @@ public final class BitControl { "processed\030\006 \001(\003\022(\n\006handle\030\007 \001(\0132\030.exec.b" + "it.FragmentHandle\022(\n\005error\030\010 \001(\0132\031.exec." + "shared.DrillPBError\022\024\n\014running_time\030\t \001(" + - "\003\"k\n\rFragmentState\022\013\n\007SENDING\020\000\022\027\n\023AWAIT" + - "ING_ALLOCATION\020\001\022\013\n\007RUNNING\020\002\022\014\n\010FINISHE" + - "D\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED\020\005\"\276\003\n\014PlanF" + - "ragment\022(\n\006handle\030\001 \001(\0132\030.exec.bit.Fragm", - "entHandle\022\024\n\014network_cost\030\004 \001(\002\022\020\n\010cpu_c" + - "ost\030\005 \001(\002\022\021\n\tdisk_cost\030\006 \001(\002\022\023\n\013memory_c" + - "ost\030\007 \001(\002\022\025\n\rfragment_json\030\010 \001(\t\022*\n\nassi" + - "gnment\030\n \001(\0132\026.exec.DrillbitEndpoint\022\025\n\r" + - "leaf_fragment\030\t \001(\010\022\'\n\007foreman\030\013 \001(\0132\026.e" + - "xec.DrillbitEndpoint\022\035\n\013mem_initial\030\014 \001(" + - "\003:\01020000000\022\034\n\007mem_max\030\r \001(\003:\0132000000000" + - "0\022\030\n\020query_start_time\030\016 \001(\003\0221\n\013credentia" + - "ls\030\017 \001(\0132\034.exec.shared.UserCredentials\022\021" + - "\n\ttime_zone\030\020 \001(\005\022\024\n\014options_json\030\021 \001(\t\"", - "f\n\017WorkQueueStatus\022(\n\010endpoint\030\001 \001(\0132\026.e" + - "xec.DrillbitEndpoint\022\024\n\014queue_length\030\002 \001" + - "(\005\022\023\n\013report_time\030\003 \001(\003*\332\001\n\007RpcType\022\r\n\tH" + - "ANDSHAKE\020\000\022\007\n\003ACK\020\001\022\013\n\007GOODBYE\020\002\022\033\n\027REQ_" + - "INIATILIZE_FRAGMENT\020\003\022\027\n\023REQ_CANCEL_FRAG" + - "MENT\020\006\022\027\n\023REQ_FRAGMENT_STATUS\020\007\022\022\n\016REQ_B" + - "IT_STATUS\020\010\022\030\n\024RESP_FRAGMENT_HANDLE\020\t\022\030\n" + - "\024RESP_FRAGMENT_STATUS\020\n\022\023\n\017RESP_BIT_STAT" + - "US\020\013B+\n\033org.apache.drill.exec.protoB\nBit" + - "ControlH\001" + "\003\0222\n\007profile\030\n \001(\0132!.exec.shared.MinorFr" + + "agmentProfile\"k\n\rFragmentState\022\013\n\007SENDIN" + + "G\020\000\022\027\n\023AWAITING_ALLOCATION\020\001\022\013\n\007RUNNING\020" + + "\002\022\014\n\010FINISHED\020\003\022\r\n\tCANCELLED\020\004\022\n\n\006FAILED", + "\020\005\"\276\003\n\014PlanFragment\022(\n\006handle\030\001 \001(\0132\030.ex" + + "ec.bit.FragmentHandle\022\024\n\014network_cost\030\004 " + + "\001(\002\022\020\n\010cpu_cost\030\005 \001(\002\022\021\n\tdisk_cost\030\006 \001(\002" + + "\022\023\n\013memory_cost\030\007 \001(\002\022\025\n\rfragment_json\030\010" + + " \001(\t\022*\n\nassignment\030\n \001(\0132\026.exec.Drillbit" + + "Endpoint\022\025\n\rleaf_fragment\030\t \001(\010\022\'\n\007forem" + + "an\030\013 \001(\0132\026.exec.DrillbitEndpoint\022\035\n\013mem_" + + "initial\030\014 \001(\003:\01020000000\022\034\n\007mem_max\030\r \001(\003" + + ":\01320000000000\022\030\n\020query_start_time\030\016 \001(\003\022" + + "1\n\013credentials\030\017 \001(\0132\034.exec.shared.UserC", + "redentials\022\021\n\ttime_zone\030\020 \001(\005\022\024\n\014options" + + "_json\030\021 \001(\t\"f\n\017WorkQueueStatus\022(\n\010endpoi" + + "nt\030\001 \001(\0132\026.exec.DrillbitEndpoint\022\024\n\014queu" + + "e_length\030\002 \001(\005\022\023\n\013report_time\030\003 \001(\003*\332\001\n\007" + + "RpcType\022\r\n\tHANDSHAKE\020\000\022\007\n\003ACK\020\001\022\013\n\007GOODB" + + "YE\020\002\022\033\n\027REQ_INIATILIZE_FRAGMENT\020\003\022\027\n\023REQ" + + "_CANCEL_FRAGMENT\020\006\022\027\n\023REQ_FRAGMENT_STATU" + + "S\020\007\022\022\n\016REQ_BIT_STATUS\020\010\022\030\n\024RESP_FRAGMENT" + + "_HANDLE\020\t\022\030\n\024RESP_FRAGMENT_STATUS\020\n\022\023\n\017R" + + "ESP_BIT_STATUS\020\013B+\n\033org.apache.drill.exe", + "c.protoB\nBitControlH\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -5954,7 +6147,7 @@ public final class BitControl { internal_static_exec_bit_control_FragmentStatus_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_exec_bit_control_FragmentStatus_descriptor, - new java.lang.String[] { "MemoryUse", "BatchesCompleted", "RecordsCompleted", "EstimatedCompletionPercentage", "State", "DataProcessed", "Handle", "Error", "RunningTime", }); + new java.lang.String[] { "MemoryUse", "BatchesCompleted", "RecordsCompleted", "EstimatedCompletionPercentage", "State", "DataProcessed", "Handle", "Error", "RunningTime", "Profile", }); internal_static_exec_bit_control_PlanFragment_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_exec_bit_control_PlanFragment_fieldAccessorTable = new
