Questions tagged [thrift]

Thrift is a software framework for scalable cross-platform, cross-language services development available from Apache.

Thrift combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, C, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, Delphi, Graphviz, Go and OCaml.

Thrift's primary goal is to enable efficient and reliable communication across platforms and programming languages by abstracting the portions of each language that tend to require the most customization into a common library that is implemented in each language.

Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift graduated from the Incubator in October, 2010.

1894 questions
10
votes
5 answers

configure: error: no acceptable C compiler found in $PATH

I am trying to Build and Install the Apache Thrift compiler and libraries I had to type this command is shown in instructions ./configure && make But I get this error: checking for gcc... no checking for cc... no checking for cl.exe... no configure:…
Tony Tannous
  • 14,154
  • 10
  • 50
  • 86
10
votes
3 answers

RPC frameworks available?

I am looking to use a RPC framework for internal use. The framework has to be cross language. I am exploring Apache Thrift right now. Google protocol Buffers does not provide RPC capabilities exactly. What are the choices I have got apart from…
sheki
  • 8,991
  • 13
  • 50
  • 69
10
votes
1 answer

Thrift java client cannot handle union properly

Dead simple thrift union example. Env: latest thrift, cpp as server, java as client mytest.thrift: namespace java com.wilbeibi.thrift union Value { 1: i16 i16_v, 2: string str_v, } struct Box { 1: Value value; } service MyTest { Box…
wilbeibi
  • 3,403
  • 4
  • 25
  • 44
10
votes
1 answer

How to write c++ spout/bolt on Storm and Thrift usage in Storm

From here: Storm was designed from the very beginning to be compatible with multiple languages. Nimbus is a Thrift service and topologies are defined as Thrift structures. The usage of Thrift allows Storm to be used from any language. I see that a…
weima
  • 4,653
  • 6
  • 34
  • 55
10
votes
4 answers

Thrift transport in javascript client

I'm trying to build a javascript client for my Thrift server. The server is up and running and I can get calls to the server working with a PHP client. I just can't figure out the javascript client. In particular, instantiating the transport baffles…
The Demigeek
  • 763
  • 3
  • 13
  • 27
10
votes
1 answer

Using Apache Thrift with Node.js

I'm trying to use Apache Thrift as an RPC mechanism for node.js. However, the official Thrift tutorial for node.js appears to be incomplete, and doesn't describe how to access Thrift services from node.js. Is it yet possible to use Apache Thrift…
Anderson Green
  • 30,230
  • 67
  • 195
  • 328
10
votes
5 answers

Thrift: Is it possible to do only serialization with C++ Thrift library?

With C++ Apache Thrift library, is it possible to use only Serialization/Deserialization and not use RPC services? As I understand from this page, it is possible to do with Java library. However, I could not find the similar classes for C++ library.
Lazylabs
  • 1,414
  • 16
  • 23
9
votes
1 answer

Python program to connect to HBase via thrift server in Http mode

I am trying to write a simple program to connect to HBase server through thrift which is started in Http mode.(cluster is kerberized ) but I always gets 'read zero bytes error message' I have refered below links but those examples work only if the…
Suresh
  • 38,717
  • 16
  • 62
  • 66
9
votes
8 answers

Would you recommend Google Protocol Buffers or Caucho Hessian for a cross-language over-the-wire binary format?

Would you recommend Google Protocol Buffers or Caucho Hessian for a cross-language over-the-wire binary format? Or anything else, for that matter - Facebook Thrift for example?
Vihung
  • 12,947
  • 16
  • 64
  • 90
9
votes
3 answers

How thread safe is thrift? re: I seem to have requests disrupting one another

edit Apparently what I was hoping to do is outside of the scope of thrift... If I make sure there is never more than one client on the port, everything is a-ok. Of course this kind of defeats the purpose as I'd like to have several reusable…
juhanic
  • 805
  • 8
  • 16
9
votes
3 answers

Using C++ for backend calculations in a web app

I'm running a PHP front end to an application that does a lot of work with data and uses Cassandra as a data store. However I know PHP will not give me the performance I need for some of the calculations (as well as the management for the sheer…
Stephen Holiday
  • 715
  • 5
  • 11
9
votes
2 answers

How do I make a required thrift field optional?

What is the best process for making a required field optional in thrift. For example, I have a struct... struct Message { 1: required double userID; 2: required string content; ... } ... but I want to make content optional. EDIT: To…
AJH
  • 135
  • 1
  • 1
  • 4
9
votes
4 answers

No module named thrift in Python script

I've installed Thrift on my Mac using Homebrew: brew install thrift --with-python That did some work and finished w/o errors reported. I have thrift on my path. I write a simple python client from a tutorial: (there is some python thrift code in…
Greg
  • 10,696
  • 22
  • 68
  • 98
9
votes
1 answer

How do you say in a Thrift IDL that a client should include exactly one of a set of fields in a struct?

Suppose I have defined a struct in an Apache Thrift IDL file which contains two fields. For example: struct Thing { 1: optional string name, 2: optional i32 size } This means a client can supply a Thing object with no fields, a name, a size, or…
snark
  • 2,462
  • 3
  • 32
  • 63
9
votes
2 answers

Cancelling a blocking read operation in Thrift

I am using Apache thrift in C++ on Windows and I would like to ask for your help with cancellation of a blocking read operation that is in progress. The read operation (for example – TProtocol::readByte) is blocked until the data is received. When I…
Alex Shtoff
  • 2,520
  • 1
  • 25
  • 53