title: TProtocolException: Missing version in readMessageBegin, old client
body: <p>I tried to run a thrift Java client built against thrift 0.9.0</p>
  
  <p>You can find the code here:
  <a href="https://github.com/apache/hbase/blob/master/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java" rel="nofollow">https://github.com/apache/hbase/blob/master/hbase-examples/src/main/java/org/apache/hadoop/hbase/thrift/DemoClient.java</a></p>
  
  <p>In the classpath, there is libthrift-0.9.0.jar
  I got the following:</p>
  
  <blockquote>
    <p>scanning tables...</p>
    
    <p>Exception in thread "main" java.security.PrivilegedActionException:
    org.apache.thrift.protocol.TProtocolException: Missing version in
    readMessageBegin, old client?     at
    java.security.AccessController.doPrivileged(Native Method)    at
    javax.security.auth.Subject.doAs(Subject.java:422)    at
    org.apache.hadoop.hbase.thrift.DemoClient.main(DemoClient.java:81)
    Caused by: org.apache.thrift.protocol.TProtocolException: Missing
    version in readMessageBegin, old client?  at
    org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:213)
      at
    org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
      at
    org.apache.hadoop.hbase.thrift.generated.Hbase$Client.recv_getTableNames(Hbase.java:903)
      at
    org.apache.hadoop.hbase.thrift.generated.Hbase$Client.getTableNames(Hbase.java:891)
      at org.apache.hadoop.hbase.thrift.DemoClient.run(DemoClient.java:142)
      at
    org.apache.hadoop.hbase.thrift.DemoClient.access$000(DemoClient.java:56)
      at
    org.apache.hadoop.hbase.thrift.DemoClient$1.run(DemoClient.java:85)
      at
    org.apache.hadoop.hbase.thrift.DemoClient$1.run(DemoClient.java:82)</p>
  </blockquote>
  
  <p>Can someone give hint on what might have caused the above ?</p>
  
  <p>Thanks</p>