http://git-wip-us.apache.org/repos/asf/accumulo/blob/fca82d84/core/src/main/java/org/apache/accumulo/core/replication/thrift/WalEdits.java
----------------------------------------------------------------------
diff --cc 
core/src/main/java/org/apache/accumulo/core/replication/thrift/WalEdits.java
index b4942d4,0000000..e792f6a
mode 100644,000000..100644
--- 
a/core/src/main/java/org/apache/accumulo/core/replication/thrift/WalEdits.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/replication/thrift/WalEdits.java
@@@ -1,456 -1,0 +1,453 @@@
 +/*
 + * 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.
 + */
 +/**
-  * Autogenerated by Thrift Compiler (0.9.0)
++ * Autogenerated by Thrift Compiler (0.9.1)
 + *
 + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 + *  @generated
 + */
 +package org.apache.accumulo.core.replication.thrift;
 +
 +import org.apache.thrift.scheme.IScheme;
 +import org.apache.thrift.scheme.SchemeFactory;
 +import org.apache.thrift.scheme.StandardScheme;
 +
 +import org.apache.thrift.scheme.TupleScheme;
 +import org.apache.thrift.protocol.TTupleProtocol;
 +import org.apache.thrift.protocol.TProtocolException;
 +import org.apache.thrift.EncodingUtils;
 +import org.apache.thrift.TException;
++import org.apache.thrift.async.AsyncMethodCallback;
++import org.apache.thrift.server.AbstractNonblockingServer.*;
 +import java.util.List;
 +import java.util.ArrayList;
 +import java.util.Map;
 +import java.util.HashMap;
 +import java.util.EnumMap;
 +import java.util.Set;
 +import java.util.HashSet;
 +import java.util.EnumSet;
 +import java.util.Collections;
 +import java.util.BitSet;
 +import java.nio.ByteBuffer;
 +import java.util.Arrays;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +
- @SuppressWarnings("all") public class WalEdits implements 
org.apache.thrift.TBase<WalEdits, WalEdits._Fields>, java.io.Serializable, 
Cloneable {
++@SuppressWarnings("all") public class WalEdits implements 
org.apache.thrift.TBase<WalEdits, WalEdits._Fields>, java.io.Serializable, 
Cloneable, Comparable<WalEdits> {
 +  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("WalEdits");
 +
 +  private static final org.apache.thrift.protocol.TField EDITS_FIELD_DESC = 
new org.apache.thrift.protocol.TField("edits", 
org.apache.thrift.protocol.TType.LIST, (short)1);
 +
 +  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = 
new HashMap<Class<? extends IScheme>, SchemeFactory>();
 +  static {
 +    schemes.put(StandardScheme.class, new WalEditsStandardSchemeFactory());
 +    schemes.put(TupleScheme.class, new WalEditsTupleSchemeFactory());
 +  }
 +
 +  public List<ByteBuffer> edits; // required
 +
 +  /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
 +  @SuppressWarnings("all") public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
 +    EDITS((short)1, "edits");
 +
 +    private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
 +
 +    static {
 +      for (_Fields field : EnumSet.allOf(_Fields.class)) {
 +        byName.put(field.getFieldName(), field);
 +      }
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches fieldId, or null if its not 
found.
 +     */
 +    public static _Fields findByThriftId(int fieldId) {
 +      switch(fieldId) {
 +        case 1: // EDITS
 +          return EDITS;
 +        default:
 +          return null;
 +      }
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches fieldId, throwing an exception
 +     * if it is not found.
 +     */
 +    public static _Fields findByThriftIdOrThrow(int fieldId) {
 +      _Fields fields = findByThriftId(fieldId);
 +      if (fields == null) throw new IllegalArgumentException("Field " + 
fieldId + " doesn't exist!");
 +      return fields;
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches name, or null if its not found.
 +     */
 +    public static _Fields findByName(String name) {
 +      return byName.get(name);
 +    }
 +
 +    private final short _thriftId;
 +    private final String _fieldName;
 +
 +    _Fields(short thriftId, String fieldName) {
 +      _thriftId = thriftId;
 +      _fieldName = fieldName;
 +    }
 +
 +    public short getThriftFieldId() {
 +      return _thriftId;
 +    }
 +
 +    public String getFieldName() {
 +      return _fieldName;
 +    }
 +  }
 +
 +  // isset id assignments
 +  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> 
metaDataMap;
 +  static {
 +    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
 +    tmpMap.put(_Fields.EDITS, new 
org.apache.thrift.meta_data.FieldMetaData("edits", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
 +        new 
org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
 +            new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING
            , true))));
 +    metaDataMap = Collections.unmodifiableMap(tmpMap);
 +    
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WalEdits.class, 
metaDataMap);
 +  }
 +
 +  public WalEdits() {
 +  }
 +
 +  public WalEdits(
 +    List<ByteBuffer> edits)
 +  {
 +    this();
 +    this.edits = edits;
 +  }
 +
 +  /**
 +   * Performs a deep copy on <i>other</i>.
 +   */
 +  public WalEdits(WalEdits other) {
 +    if (other.isSetEdits()) {
-       List<ByteBuffer> __this__edits = new ArrayList<ByteBuffer>();
-       for (ByteBuffer other_element : other.edits) {
-         ByteBuffer temp_binary_element = 
org.apache.thrift.TBaseHelper.copyBinary(other_element);
- ;
-         __this__edits.add(temp_binary_element);
-       }
++      List<ByteBuffer> __this__edits = new ArrayList<ByteBuffer>(other.edits);
 +      this.edits = __this__edits;
 +    }
 +  }
 +
 +  public WalEdits deepCopy() {
 +    return new WalEdits(this);
 +  }
 +
 +  @Override
 +  public void clear() {
 +    this.edits = null;
 +  }
 +
 +  public int getEditsSize() {
 +    return (this.edits == null) ? 0 : this.edits.size();
 +  }
 +
 +  public java.util.Iterator<ByteBuffer> getEditsIterator() {
 +    return (this.edits == null) ? null : this.edits.iterator();
 +  }
 +
 +  public void addToEdits(ByteBuffer elem) {
 +    if (this.edits == null) {
 +      this.edits = new ArrayList<ByteBuffer>();
 +    }
 +    this.edits.add(elem);
 +  }
 +
 +  public List<ByteBuffer> getEdits() {
 +    return this.edits;
 +  }
 +
 +  public WalEdits setEdits(List<ByteBuffer> edits) {
 +    this.edits = edits;
 +    return this;
 +  }
 +
 +  public void unsetEdits() {
 +    this.edits = null;
 +  }
 +
 +  /** Returns true if field edits is set (has been assigned a value) and 
false otherwise */
 +  public boolean isSetEdits() {
 +    return this.edits != null;
 +  }
 +
 +  public void setEditsIsSet(boolean value) {
 +    if (!value) {
 +      this.edits = null;
 +    }
 +  }
 +
 +  public void setFieldValue(_Fields field, Object value) {
 +    switch (field) {
 +    case EDITS:
 +      if (value == null) {
 +        unsetEdits();
 +      } else {
 +        setEdits((List<ByteBuffer>)value);
 +      }
 +      break;
 +
 +    }
 +  }
 +
 +  public Object getFieldValue(_Fields field) {
 +    switch (field) {
 +    case EDITS:
 +      return getEdits();
 +
 +    }
 +    throw new IllegalStateException();
 +  }
 +
 +  /** Returns true if field corresponding to fieldID is set (has been 
assigned a value) and false otherwise */
 +  public boolean isSet(_Fields field) {
 +    if (field == null) {
 +      throw new IllegalArgumentException();
 +    }
 +
 +    switch (field) {
 +    case EDITS:
 +      return isSetEdits();
 +    }
 +    throw new IllegalStateException();
 +  }
 +
 +  @Override
 +  public boolean equals(Object that) {
 +    if (that == null)
 +      return false;
 +    if (that instanceof WalEdits)
 +      return this.equals((WalEdits)that);
 +    return false;
 +  }
 +
 +  public boolean equals(WalEdits that) {
 +    if (that == null)
 +      return false;
 +
 +    boolean this_present_edits = true && this.isSetEdits();
 +    boolean that_present_edits = true && that.isSetEdits();
 +    if (this_present_edits || that_present_edits) {
 +      if (!(this_present_edits && that_present_edits))
 +        return false;
 +      if (!this.edits.equals(that.edits))
 +        return false;
 +    }
 +
 +    return true;
 +  }
 +
 +  @Override
 +  public int hashCode() {
 +    return 0;
 +  }
 +
++  @Override
 +  public int compareTo(WalEdits other) {
 +    if (!getClass().equals(other.getClass())) {
 +      return getClass().getName().compareTo(other.getClass().getName());
 +    }
 +
 +    int lastComparison = 0;
-     WalEdits typedOther = (WalEdits)other;
 +
-     lastComparison = 
Boolean.valueOf(isSetEdits()).compareTo(typedOther.isSetEdits());
++    lastComparison = 
Boolean.valueOf(isSetEdits()).compareTo(other.isSetEdits());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
 +    if (isSetEdits()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.edits, 
typedOther.edits);
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.edits, 
other.edits);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
 +    return 0;
 +  }
 +
 +  public _Fields fieldForId(int fieldId) {
 +    return _Fields.findByThriftId(fieldId);
 +  }
 +
 +  public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
 +    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
 +  }
 +
 +  public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
 +    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
 +  }
 +
 +  @Override
 +  public String toString() {
 +    StringBuilder sb = new StringBuilder("WalEdits(");
 +    boolean first = true;
 +
 +    sb.append("edits:");
 +    if (this.edits == null) {
 +      sb.append("null");
 +    } else {
 +      sb.append(this.edits);
 +    }
 +    first = false;
 +    sb.append(")");
 +    return sb.toString();
 +  }
 +
 +  public void validate() throws org.apache.thrift.TException {
 +    // check for required fields
 +    // check for sub-struct validity
 +  }
 +
 +  private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
 +    try {
 +      write(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(out)));
 +    } catch (org.apache.thrift.TException te) {
 +      throw new java.io.IOException(te);
 +    }
 +  }
 +
 +  private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
 +    try {
 +      read(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(in)));
 +    } catch (org.apache.thrift.TException te) {
 +      throw new java.io.IOException(te);
 +    }
 +  }
 +
 +  private static class WalEditsStandardSchemeFactory implements SchemeFactory 
{
 +    public WalEditsStandardScheme getScheme() {
 +      return new WalEditsStandardScheme();
 +    }
 +  }
 +
 +  private static class WalEditsStandardScheme extends 
StandardScheme<WalEdits> {
 +
 +    public void read(org.apache.thrift.protocol.TProtocol iprot, WalEdits 
struct) throws org.apache.thrift.TException {
 +      org.apache.thrift.protocol.TField schemeField;
 +      iprot.readStructBegin();
 +      while (true)
 +      {
 +        schemeField = iprot.readFieldBegin();
 +        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
 +          break;
 +        }
 +        switch (schemeField.id) {
 +          case 1: // EDITS
 +            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
 +              {
 +                org.apache.thrift.protocol.TList _list0 = 
iprot.readListBegin();
 +                struct.edits = new ArrayList<ByteBuffer>(_list0.size);
 +                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
 +                {
-                   ByteBuffer _elem2; // required
++                  ByteBuffer _elem2;
 +                  _elem2 = iprot.readBinary();
 +                  struct.edits.add(_elem2);
 +                }
 +                iprot.readListEnd();
 +              }
 +              struct.setEditsIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
 +            }
 +            break;
 +          default:
 +            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
 +        }
 +        iprot.readFieldEnd();
 +      }
 +      iprot.readStructEnd();
 +
 +      // check for required fields of primitive type, which can't be checked 
in the validate method
 +      struct.validate();
 +    }
 +
 +    public void write(org.apache.thrift.protocol.TProtocol oprot, WalEdits 
struct) throws org.apache.thrift.TException {
 +      struct.validate();
 +
 +      oprot.writeStructBegin(STRUCT_DESC);
 +      if (struct.edits != null) {
 +        oprot.writeFieldBegin(EDITS_FIELD_DESC);
 +        {
 +          oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.edits.size()));
 +          for (ByteBuffer _iter3 : struct.edits)
 +          {
 +            oprot.writeBinary(_iter3);
 +          }
 +          oprot.writeListEnd();
 +        }
 +        oprot.writeFieldEnd();
 +      }
 +      oprot.writeFieldStop();
 +      oprot.writeStructEnd();
 +    }
 +
 +  }
 +
 +  private static class WalEditsTupleSchemeFactory implements SchemeFactory {
 +    public WalEditsTupleScheme getScheme() {
 +      return new WalEditsTupleScheme();
 +    }
 +  }
 +
 +  private static class WalEditsTupleScheme extends TupleScheme<WalEdits> {
 +
 +    @Override
 +    public void write(org.apache.thrift.protocol.TProtocol prot, WalEdits 
struct) throws org.apache.thrift.TException {
 +      TTupleProtocol oprot = (TTupleProtocol) prot;
 +      BitSet optionals = new BitSet();
 +      if (struct.isSetEdits()) {
 +        optionals.set(0);
 +      }
 +      oprot.writeBitSet(optionals, 1);
 +      if (struct.isSetEdits()) {
 +        {
 +          oprot.writeI32(struct.edits.size());
 +          for (ByteBuffer _iter4 : struct.edits)
 +          {
 +            oprot.writeBinary(_iter4);
 +          }
 +        }
 +      }
 +    }
 +
 +    @Override
 +    public void read(org.apache.thrift.protocol.TProtocol prot, WalEdits 
struct) throws org.apache.thrift.TException {
 +      TTupleProtocol iprot = (TTupleProtocol) prot;
 +      BitSet incoming = iprot.readBitSet(1);
 +      if (incoming.get(0)) {
 +        {
 +          org.apache.thrift.protocol.TList _list5 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
 +          struct.edits = new ArrayList<ByteBuffer>(_list5.size);
 +          for (int _i6 = 0; _i6 < _list5.size; ++_i6)
 +          {
-             ByteBuffer _elem7; // required
++            ByteBuffer _elem7;
 +            _elem7 = iprot.readBinary();
 +            struct.edits.add(_elem7);
 +          }
 +        }
 +        struct.setEditsIsSet(true);
 +      }
 +    }
 +  }
 +
 +}
 +

http://git-wip-us.apache.org/repos/asf/accumulo/blob/fca82d84/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/fca82d84/server/base/src/main/java/org/apache/accumulo/server/util/TServerUtils.java
----------------------------------------------------------------------
diff --cc 
server/base/src/main/java/org/apache/accumulo/server/util/TServerUtils.java
index 419515e,b2d69af..671dedc
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/TServerUtils.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/TServerUtils.java
@@@ -199,40 -196,11 +197,10 @@@ public class TServerUtils 
      }
    }
  
-   public static class THsHaServer extends 
org.apache.thrift.server.THsHaServer {
-     public THsHaServer(Args args) {
-       super(args);
-     }
- 
-     @Override
-     protected Runnable getRunnable(FrameBuffer frameBuffer) {
-       return new Invocation(frameBuffer);
-     }
- 
-     private class Invocation implements Runnable {
- 
-       private final FrameBuffer frameBuffer;
- 
-       public Invocation(final FrameBuffer frameBuffer) {
-         this.frameBuffer = frameBuffer;
-       }
- 
-       @Override
-       public void run() {
-         if (frameBuffer.trans_ instanceof TNonblockingSocket) {
-           TNonblockingSocket tsock = (TNonblockingSocket) frameBuffer.trans_;
-           Socket sock = tsock.getSocketChannel().socket();
-           clientAddress.set(sock.getInetAddress().getHostAddress() + ":" + 
sock.getPort());
-         }
-         frameBuffer.invoke();
-       }
-     }
-   }
- 
-   public static ServerAddress createHsHaServer(HostAndPort address, 
TProcessor processor, final String serverName, String threadName, final int 
numThreads,
-     final int numSTThreads, long timeBetweenThreadChecks, long 
maxMessageSize) throws TTransportException {
+   public static ServerAddress createNonBlockingServer(HostAndPort address, 
TProcessor processor, final String serverName, String threadName,
 -      final int numThreads,
 -      long timeBetweenThreadChecks, long maxMessageSize) throws 
TTransportException {
++      final int numThreads, final int numSTThreads, long 
timeBetweenThreadChecks, long maxMessageSize) throws TTransportException {
      TNonblockingServerSocket transport = new TNonblockingServerSocket(new 
InetSocketAddress(address.getHostText(), address.getPort()));
-     THsHaServer.Args options = new THsHaServer.Args(transport);
+     CustomNonBlockingServer.Args options = new 
CustomNonBlockingServer.Args(transport);
      options.protocolFactory(ThriftUtil.protocolFactory());
      options.transportFactory(ThriftUtil.transportFactory(maxMessageSize));
      options.maxReadBufferBytes = maxMessageSize;
@@@ -325,7 -293,7 +293,7 @@@
      if (sslParams != null) {
        serverAddress = createSslThreadPoolServer(address, processor, 
sslSocketTimeout, sslParams);
      } else {
-       serverAddress = createHsHaServer(address, processor, serverName, 
threadName, numThreads, numSTThreads, timeBetweenThreadChecks, maxMessageSize);
 -      serverAddress = createNonBlockingServer(address, processor, serverName, 
threadName, numThreads, timeBetweenThreadChecks, maxMessageSize);
++      serverAddress = createNonBlockingServer(address, processor, serverName, 
threadName, numThreads, numSTThreads, timeBetweenThreadChecks, maxMessageSize);
      }
      final TServer finalServer = serverAddress.server;
      Runnable serveTask = new Runnable() {

Reply via email to