You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2014/06/11 05:51:53 UTC

[08/61] [abbrv] Enable View persistence, Storage Plugin and System option persistence.

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/872d0abf/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitControl.java
----------------------------------------------------------------------
diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitControl.java b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitControl.java
new file mode 100644
index 0000000..a2870cf
--- /dev/null
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitControl.java
@@ -0,0 +1,733 @@
+/**
+ * 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.
+ */
+// Generated by http://code.google.com/p/protostuff/ ... DO NOT EDIT!
+// Generated from protobuf
+
+package org.apache.drill.exec.proto;
+
+
+public final class SchemaBitControl
+{
+
+    public static final class BitControlHandshake
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.BitControlHandshake>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.BitControlHandshake message) throws java.io.IOException
+            {
+                if(message.hasRpcVersion())
+                    output.writeInt32(1, message.getRpcVersion(), false);
+                if(message.hasChannel())
+                    output.writeEnum(2, message.getChannel().getNumber(), false);
+                if(message.hasEndpoint())
+                    output.writeObject(3, message.getEndpoint(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.WRITE, false);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.BitControlHandshake message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.BitControlHandshake> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.BitControlHandshake message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitControl.BitControlHandshake newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setRpcVersion(input.readInt32());
+                            break;
+                        case 2:
+                            builder.setChannel(org.apache.drill.exec.proto.UserBitShared.RpcChannel.valueOf(input.readEnum()));
+                            break;
+                        case 3:
+                            builder.setEndpoint(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitControlHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitControlHandshake.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.BitControlHandshake.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "rpcVersion";
+                case 2: return "channel";
+                case 3: return "endpoint";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("rpcVersion", 1);
+            fieldMap.put("channel", 2);
+            fieldMap.put("endpoint", 3);
+        }
+    }
+
+    public static final class BitStatus
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitControl.BitStatus.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitControl.BitStatus.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitControl.BitStatus.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitControl.BitStatus.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.BitStatus>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.BitStatus message) throws java.io.IOException
+            {
+                for(org.apache.drill.exec.proto.BitControl.FragmentStatus fragmentStatus : message.getFragmentStatusList())
+                    output.writeObject(1, fragmentStatus, org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.WRITE, true);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.BitStatus message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.BitStatus> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.BitStatus message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitControl.BitStatus newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.BitStatus.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.BitStatus.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.addFragmentStatus(input.mergeObject(org.apache.drill.exec.proto.BitControl.FragmentStatus.newBuilder(), org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.BitStatus.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitControl.BitStatus.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.BitStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.BitStatus.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.BitStatus.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.BitStatus.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "fragmentStatus";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("fragmentStatus", 1);
+        }
+    }
+
+    public static final class FragmentStatus
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.FragmentStatus>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.FragmentStatus message) throws java.io.IOException
+            {
+                if(message.hasProfile())
+                    output.writeObject(1, message.getProfile(), org.apache.drill.exec.proto.SchemaUserBitShared.MinorFragmentProfile.WRITE, false);
+
+                if(message.hasHandle())
+                    output.writeObject(2, message.getHandle(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.WRITE, false);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.FragmentStatus message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.FragmentStatus> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.FragmentStatus message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitControl.FragmentStatus newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setProfile(input.mergeObject(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.newBuilder(), org.apache.drill.exec.proto.SchemaUserBitShared.MinorFragmentProfile.MERGE));
+
+                            break;
+                        case 2:
+                            builder.setHandle(input.mergeObject(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.FragmentStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.FragmentStatus.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.FragmentStatus.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "profile";
+                case 2: return "handle";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("profile", 1);
+            fieldMap.put("handle", 2);
+        }
+    }
+
+    public static final class PlanFragment
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.PlanFragment>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.PlanFragment message) throws java.io.IOException
+            {
+                if(message.hasHandle())
+                    output.writeObject(1, message.getHandle(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.WRITE, false);
+
+                if(message.hasNetworkCost())
+                    output.writeFloat(4, message.getNetworkCost(), false);
+                if(message.hasCpuCost())
+                    output.writeFloat(5, message.getCpuCost(), false);
+                if(message.hasDiskCost())
+                    output.writeFloat(6, message.getDiskCost(), false);
+                if(message.hasMemoryCost())
+                    output.writeFloat(7, message.getMemoryCost(), false);
+                if(message.hasFragmentJson())
+                    output.writeString(8, message.getFragmentJson(), false);
+                if(message.hasLeafFragment())
+                    output.writeBool(9, message.getLeafFragment(), false);
+                if(message.hasAssignment())
+                    output.writeObject(10, message.getAssignment(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.WRITE, false);
+
+                if(message.hasForeman())
+                    output.writeObject(11, message.getForeman(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.WRITE, false);
+
+                if(message.hasMemInitial())
+                    output.writeInt64(12, message.getMemInitial(), false);
+                if(message.hasMemMax())
+                    output.writeInt64(13, message.getMemMax(), false);
+                if(message.hasQueryStartTime())
+                    output.writeInt64(14, message.getQueryStartTime(), false);
+                if(message.hasCredentials())
+                    output.writeObject(15, message.getCredentials(), org.apache.drill.exec.proto.SchemaUserBitShared.UserCredentials.WRITE, false);
+
+                if(message.hasTimeZone())
+                    output.writeInt32(16, message.getTimeZone(), false);
+                if(message.hasOptionsJson())
+                    output.writeString(17, message.getOptionsJson(), false);
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.PlanFragment message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.PlanFragment> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.PlanFragment message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitControl.PlanFragment newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.PlanFragment.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setHandle(input.mergeObject(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.MERGE));
+
+                            break;
+                        case 4:
+                            builder.setNetworkCost(input.readFloat());
+                            break;
+                        case 5:
+                            builder.setCpuCost(input.readFloat());
+                            break;
+                        case 6:
+                            builder.setDiskCost(input.readFloat());
+                            break;
+                        case 7:
+                            builder.setMemoryCost(input.readFloat());
+                            break;
+                        case 8:
+                            builder.setFragmentJson(input.readString());
+                            break;
+                        case 9:
+                            builder.setLeafFragment(input.readBool());
+                            break;
+                        case 10:
+                            builder.setAssignment(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MERGE));
+
+                            break;
+                        case 11:
+                            builder.setForeman(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MERGE));
+
+                            break;
+                        case 12:
+                            builder.setMemInitial(input.readInt64());
+                            break;
+                        case 13:
+                            builder.setMemMax(input.readInt64());
+                            break;
+                        case 14:
+                            builder.setQueryStartTime(input.readInt64());
+                            break;
+                        case 15:
+                            builder.setCredentials(input.mergeObject(org.apache.drill.exec.proto.UserBitShared.UserCredentials.newBuilder(), org.apache.drill.exec.proto.SchemaUserBitShared.UserCredentials.MERGE));
+
+                            break;
+                        case 16:
+                            builder.setTimeZone(input.readInt32());
+                            break;
+                        case 17:
+                            builder.setOptionsJson(input.readString());
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitControl.PlanFragment.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.PlanFragment.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.PlanFragment.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.PlanFragment.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.PlanFragment.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "handle";
+                case 4: return "networkCost";
+                case 5: return "cpuCost";
+                case 6: return "diskCost";
+                case 7: return "memoryCost";
+                case 8: return "fragmentJson";
+                case 9: return "leafFragment";
+                case 10: return "assignment";
+                case 11: return "foreman";
+                case 12: return "memInitial";
+                case 13: return "memMax";
+                case 14: return "queryStartTime";
+                case 15: return "credentials";
+                case 16: return "timeZone";
+                case 17: return "optionsJson";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("handle", 1);
+            fieldMap.put("networkCost", 4);
+            fieldMap.put("cpuCost", 5);
+            fieldMap.put("diskCost", 6);
+            fieldMap.put("memoryCost", 7);
+            fieldMap.put("fragmentJson", 8);
+            fieldMap.put("leafFragment", 9);
+            fieldMap.put("assignment", 10);
+            fieldMap.put("foreman", 11);
+            fieldMap.put("memInitial", 12);
+            fieldMap.put("memMax", 13);
+            fieldMap.put("queryStartTime", 14);
+            fieldMap.put("credentials", 15);
+            fieldMap.put("timeZone", 16);
+            fieldMap.put("optionsJson", 17);
+        }
+    }
+
+    public static final class WorkQueueStatus
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.WorkQueueStatus>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.WorkQueueStatus message) throws java.io.IOException
+            {
+                if(message.hasEndpoint())
+                    output.writeObject(1, message.getEndpoint(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.WRITE, false);
+
+                if(message.hasQueueLength())
+                    output.writeInt32(2, message.getQueueLength(), false);
+                if(message.hasReportTime())
+                    output.writeInt64(3, message.getReportTime(), false);
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.WorkQueueStatus message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.WorkQueueStatus> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.WorkQueueStatus message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitControl.WorkQueueStatus newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setEndpoint(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MERGE));
+
+                            break;
+                        case 2:
+                            builder.setQueueLength(input.readInt32());
+                            break;
+                        case 3:
+                            builder.setReportTime(input.readInt64());
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitControl.WorkQueueStatus.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitControl.WorkQueueStatus.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitControl.WorkQueueStatus.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "endpoint";
+                case 2: return "queueLength";
+                case 3: return "reportTime";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("endpoint", 1);
+            fieldMap.put("queueLength", 2);
+            fieldMap.put("reportTime", 3);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/872d0abf/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitData.java
----------------------------------------------------------------------
diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitData.java b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitData.java
new file mode 100644
index 0000000..f35f489
--- /dev/null
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaBitData.java
@@ -0,0 +1,415 @@
+/**
+ * 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.
+ */
+// Generated by http://code.google.com/p/protostuff/ ... DO NOT EDIT!
+// Generated from protobuf
+
+package org.apache.drill.exec.proto;
+
+
+public final class SchemaBitData
+{
+
+    public static final class BitClientHandshake
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.BitClientHandshake>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.BitClientHandshake message) throws java.io.IOException
+            {
+                if(message.hasRpcVersion())
+                    output.writeInt32(1, message.getRpcVersion(), false);
+                if(message.hasChannel())
+                    output.writeEnum(2, message.getChannel().getNumber(), false);
+                if(message.hasHandle())
+                    output.writeObject(3, message.getHandle(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.WRITE, false);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.BitClientHandshake message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.BitClientHandshake> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.BitClientHandshake message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitData.BitClientHandshake newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setRpcVersion(input.readInt32());
+                            break;
+                        case 2:
+                            builder.setChannel(org.apache.drill.exec.proto.UserBitShared.RpcChannel.valueOf(input.readEnum()));
+                            break;
+                        case 3:
+                            builder.setHandle(input.mergeObject(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitClientHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitClientHandshake.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.BitClientHandshake.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "rpcVersion";
+                case 2: return "channel";
+                case 3: return "handle";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("rpcVersion", 1);
+            fieldMap.put("channel", 2);
+            fieldMap.put("handle", 3);
+        }
+    }
+
+    public static final class BitServerHandshake
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.BitServerHandshake>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.BitServerHandshake message) throws java.io.IOException
+            {
+                if(message.hasRpcVersion())
+                    output.writeInt32(1, message.getRpcVersion(), false);
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.BitServerHandshake message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.BitServerHandshake> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.BitServerHandshake message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitData.BitServerHandshake newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setRpcVersion(input.readInt32());
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.BitServerHandshake.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.BitServerHandshake.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.BitServerHandshake.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "rpcVersion";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("rpcVersion", 1);
+        }
+    }
+
+    public static final class FragmentRecordBatch
+    {
+        public static final org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.FragmentRecordBatch>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.FragmentRecordBatch message) throws java.io.IOException
+            {
+                if(message.hasHandle())
+                    output.writeObject(1, message.getHandle(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.WRITE, false);
+
+                if(message.hasSendingMajorFragmentId())
+                    output.writeInt32(2, message.getSendingMajorFragmentId(), false);
+                if(message.hasSendingMinorFragmentId())
+                    output.writeInt32(3, message.getSendingMinorFragmentId(), false);
+                if(message.hasDef())
+                    output.writeObject(4, message.getDef(), org.apache.drill.exec.proto.SchemaUserBitShared.RecordBatchDef.WRITE, false);
+
+                if(message.hasIsLastBatch())
+                    output.writeBool(5, message.getIsLastBatch(), false);
+                if(message.hasIsOutOfMemory())
+                    output.writeBool(6, message.getIsOutOfMemory(), false);
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.FragmentRecordBatch message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.FragmentRecordBatch> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.FragmentRecordBatch message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.BitData.FragmentRecordBatch newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setHandle(input.mergeObject(org.apache.drill.exec.proto.ExecProtos.FragmentHandle.newBuilder(), org.apache.drill.exec.proto.SchemaExecProtos.FragmentHandle.MERGE));
+
+                            break;
+                        case 2:
+                            builder.setSendingMajorFragmentId(input.readInt32());
+                            break;
+                        case 3:
+                            builder.setSendingMinorFragmentId(input.readInt32());
+                            break;
+                        case 4:
+                            builder.setDef(input.mergeObject(org.apache.drill.exec.proto.UserBitShared.RecordBatchDef.newBuilder(), org.apache.drill.exec.proto.SchemaUserBitShared.RecordBatchDef.MERGE));
+
+                            break;
+                        case 5:
+                            builder.setIsLastBatch(input.readBool());
+                            break;
+                        case 6:
+                            builder.setIsOutOfMemory(input.readBool());
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaBitData.FragmentRecordBatch.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.BitData.FragmentRecordBatch.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.BitData.FragmentRecordBatch.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "handle";
+                case 2: return "sendingMajorFragmentId";
+                case 3: return "sendingMinorFragmentId";
+                case 4: return "def";
+                case 5: return "isLastBatch";
+                case 6: return "isOutOfMemory";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("handle", 1);
+            fieldMap.put("sendingMajorFragmentId", 2);
+            fieldMap.put("sendingMinorFragmentId", 3);
+            fieldMap.put("def", 4);
+            fieldMap.put("isLastBatch", 5);
+            fieldMap.put("isOutOfMemory", 6);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/872d0abf/protocol/src/main/java/org/apache/drill/exec/proto/SchemaCoordinationProtos.java
----------------------------------------------------------------------
diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/SchemaCoordinationProtos.java b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaCoordinationProtos.java
new file mode 100644
index 0000000..722e6f2
--- /dev/null
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/SchemaCoordinationProtos.java
@@ -0,0 +1,434 @@
+/**
+ * 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.
+ */
+// Generated by http://code.google.com/p/protostuff/ ... DO NOT EDIT!
+// Generated from protobuf
+
+package org.apache.drill.exec.proto;
+
+
+public final class SchemaCoordinationProtos
+{
+
+    public static final class DrillbitEndpoint
+    {
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint message) throws java.io.IOException
+            {
+                if(message.hasAddress())
+                    output.writeString(1, message.getAddress(), false);
+                if(message.hasUserPort())
+                    output.writeInt32(2, message.getUserPort(), false);
+                if(message.hasControlPort())
+                    output.writeInt32(3, message.getControlPort(), false);
+                if(message.hasDataPort())
+                    output.writeInt32(4, message.getDataPort(), false);
+                if(message.hasRoles())
+                    output.writeObject(5, message.getRoles(), org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.WRITE, false);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setAddress(input.readString());
+                            break;
+                        case 2:
+                            builder.setUserPort(input.readInt32());
+                            break;
+                        case 3:
+                            builder.setControlPort(input.readInt32());
+                            break;
+                        case 4:
+                            builder.setDataPort(input.readInt32());
+                            break;
+                        case 5:
+                            builder.setRoles(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.Roles.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "address";
+                case 2: return "userPort";
+                case 3: return "controlPort";
+                case 4: return "dataPort";
+                case 5: return "roles";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("address", 1);
+            fieldMap.put("userPort", 2);
+            fieldMap.put("controlPort", 3);
+            fieldMap.put("dataPort", 4);
+            fieldMap.put("roles", 5);
+        }
+    }
+
+    public static final class DrillServiceInstance
+    {
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance message) throws java.io.IOException
+            {
+                if(message.hasId())
+                    output.writeString(1, message.getId(), false);
+                if(message.hasRegistrationTimeUTC())
+                    output.writeInt64(2, message.getRegistrationTimeUTC(), false);
+                if(message.hasEndpoint())
+                    output.writeObject(3, message.getEndpoint(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.WRITE, false);
+
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setId(input.readString());
+                            break;
+                        case 2:
+                            builder.setRegistrationTimeUTC(input.readInt64());
+                            break;
+                        case 3:
+                            builder.setEndpoint(input.mergeObject(org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint.newBuilder(), org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillbitEndpoint.MERGE));
+
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.DrillServiceInstance.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.DrillServiceInstance.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "id";
+                case 2: return "registrationTimeUTC";
+                case 3: return "endpoint";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("id", 1);
+            fieldMap.put("registrationTimeUTC", 2);
+            fieldMap.put("endpoint", 3);
+        }
+    }
+
+    public static final class Roles
+    {
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.MessageSchema WRITE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.MessageSchema();
+        public static final org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.BuilderSchema MERGE =
+            new org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.BuilderSchema();
+        
+        public static class MessageSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.Roles>
+        {
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.Roles message) throws java.io.IOException
+            {
+                if(message.hasSqlQuery())
+                    output.writeBool(1, message.getSqlQuery(), false);
+                if(message.hasLogicalPlan())
+                    output.writeBool(2, message.getLogicalPlan(), false);
+                if(message.hasPhysicalPlan())
+                    output.writeBool(3, message.getPhysicalPlan(), false);
+                if(message.hasJavaExecutor())
+                    output.writeBool(4, message.getJavaExecutor(), false);
+                if(message.hasDistributedCache())
+                    output.writeBool(5, message.getDistributedCache(), false);
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.Roles message)
+            {
+                return message.isInitialized();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.Roles> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.class.getName();
+            }
+            //unused
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.Roles message) throws java.io.IOException {}
+            public org.apache.drill.exec.proto.CoordinationProtos.Roles newMessage() { return null; }
+        }
+        public static class BuilderSchema implements com.dyuproject.protostuff.Schema<org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder>
+        {
+            public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder builder) throws java.io.IOException
+            {
+                for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
+                {
+                    switch(number)
+                    {
+                        case 0:
+                            return;
+                        case 1:
+                            builder.setSqlQuery(input.readBool());
+                            break;
+                        case 2:
+                            builder.setLogicalPlan(input.readBool());
+                            break;
+                        case 3:
+                            builder.setPhysicalPlan(input.readBool());
+                            break;
+                        case 4:
+                            builder.setJavaExecutor(input.readBool());
+                            break;
+                        case 5:
+                            builder.setDistributedCache(input.readBool());
+                            break;
+                        default:
+                            input.handleUnknownField(number, this);
+                    }
+                }
+            }
+            public boolean isInitialized(org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder builder)
+            {
+                return builder.isInitialized();
+            }
+            public org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder newMessage()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.newBuilder();
+            }
+            public java.lang.String getFieldName(int number)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.getFieldName(number);
+            }
+            public int getFieldNumber(java.lang.String name)
+            {
+                return org.apache.drill.exec.proto.SchemaCoordinationProtos.Roles.getFieldNumber(name);
+            }
+            public java.lang.Class<org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder> typeClass()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder.class;
+            }
+            public java.lang.String messageName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.class.getSimpleName();
+            }
+            public java.lang.String messageFullName()
+            {
+                return org.apache.drill.exec.proto.CoordinationProtos.Roles.class.getName();
+            }
+            //unused
+            public void writeTo(com.dyuproject.protostuff.Output output, org.apache.drill.exec.proto.CoordinationProtos.Roles.Builder builder) throws java.io.IOException {}
+        }
+        public static java.lang.String getFieldName(int number)
+        {
+            switch(number)
+            {
+                case 1: return "sqlQuery";
+                case 2: return "logicalPlan";
+                case 3: return "physicalPlan";
+                case 4: return "javaExecutor";
+                case 5: return "distributedCache";
+                default: return null;
+            }
+        }
+        public static int getFieldNumber(java.lang.String name)
+        {
+            java.lang.Integer number = fieldMap.get(name);
+            return number == null ? 0 : number.intValue();
+        }
+        private static final java.util.HashMap<java.lang.String,java.lang.Integer> fieldMap = new java.util.HashMap<java.lang.String,java.lang.Integer>();
+        static
+        {
+            fieldMap.put("sqlQuery", 1);
+            fieldMap.put("logicalPlan", 2);
+            fieldMap.put("physicalPlan", 3);
+            fieldMap.put("javaExecutor", 4);
+            fieldMap.put("distributedCache", 5);
+        }
+    }
+
+}