You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by es...@apache.org on 2016/09/08 05:20:59 UTC
[20/54] [partial] incubator-hawq git commit: HAWQ-959. revert thrift
build commands.
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Client.cs
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Client.cs b/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Client.cs
deleted file mode 100644
index 2408041..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Client.cs
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Rebus;
-using Rebus.Configuration;
-using Rebus.Messages;
-using Rebus.RabbitMQ;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using Thrift.Protocol;
-using Thrift.Transport;
-
-/*
- * The client emits calls to BasicMathServers
- *
- * The client implements the BasicMathClient service.
- * If the server has processed our request, we get the results back through this service
- */
-
-namespace RebusSample.Client
-{
-
- // handler to be registered with Rebus
- class MathResponseCallHandler : IHandleMessages<MathResponseCall>
- {
- public void Handle(MathResponseCall message)
- {
- // Thrift protocol/transport stack
- var stm = new MemoryStream(message.rawBytes);
- var trns = new TStreamTransport(stm, null);
- var prot = new TBinaryProtocol(trns);
-
- // create a processor and let him handle the call
- var hndl = new MathResponsesHandler();
- var proc = new BasicMathClient.Processor(hndl);
- proc.Process(prot, null); // oneway only
- }
- }
-
-
- // serves incoming responses with calculation results
- internal class MathResponsesHandler : BasicMathClient.Iface
- {
- public void FourResults(int added, int multiplied, int subtracted, int divided)
- {
- Console.WriteLine("added = {0}", added);
- Console.WriteLine("multiplied= {0}", multiplied);
- Console.WriteLine("subtracted = {0}", subtracted);
- Console.WriteLine("divided = {0}", divided);
-
- PingAndDoAnotherCalculation();
- }
-
-
- public void ThreeResults(int added, int multiplied, int subtracted)
- {
- Console.WriteLine("added = {0}", added);
- Console.WriteLine("multiplied= {0}", multiplied);
- Console.WriteLine("subtracted = {0}", subtracted);
- Console.WriteLine("DIV/0 error during division");
-
- PingAndDoAnotherCalculation();
- }
-
-
- public void Pong(long value)
- {
- var latency = DateTime.Now.Ticks - value;
- Console.WriteLine("Ping took {0} ms", new DateTime(latency).Millisecond);
- }
-
-
- private void PingAndDoAnotherCalculation()
- {
- var random = new Random();
- var client = new MathRequestClient("localhost");
- client.Ping(DateTime.Now.Ticks);
- client.DoTheMath(random.Next(), random.Next());
- }
- }
-
-
- // provides the client-side interface for calculation requests
- internal class MathRequestClient : BasicMathServer.Iface
- {
- private BuiltinContainerAdapter MQAdapter;
-
-
- public MathRequestClient(string server)
- {
- MQAdapter = new BuiltinContainerAdapter();
- Configure.With(MQAdapter)
- .Transport(t => t.UseRabbitMqInOneWayMode("amqp://" + server)) // we need send only
- .MessageOwnership(o => o.FromRebusConfigurationSection())
- .CreateBus().Start();
- }
-
-
- public void SerializeThriftCall(Action<BasicMathServer.Iface> action)
- {
- // Thrift protocol/transport stack
- var stm = new MemoryStream();
- var trns = new TStreamTransport(null, stm);
- var prot = new TBinaryProtocol(trns);
-
- // serialize the call into a bunch of bytes
- var client = new BasicMathServer.Client(prot);
- if( action != null)
- action(client);
- else
- throw new ArgumentException("action must not be null");
-
- // make sure everything is written to the MemoryStream
- trns.Flush();
-
- // send the message
- var msg = new MathRequestCall() { rawBytes = stm.ToArray() };
- MQAdapter.Bus.Send(msg);
- }
-
-
- public void Ping(long value)
- {
- SerializeThriftCall(client =>
- {
- client.Ping(value);
- });
- }
-
-
- public void DoTheMath( int arg1, int arg2)
- {
- SerializeThriftCall(client =>
- {
- client.DoTheMath(arg1, arg2);
- });
- }
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Server.cs
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Server.cs b/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Server.cs
deleted file mode 100644
index 149d513..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Server.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Rebus;
-using Rebus.Configuration;
-using Rebus.Messages;
-using Rebus.RabbitMQ;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using Thrift.Protocol;
-using Thrift.Transport;
-
-/*
- * The server implements the BasicMathServer service .
- * All results are sent back to the client via the BasicMathClient service
- */
-
-
-namespace RebusSample.Server
-{
- // handler to be registered with Rebus
- class MathRequestCallHandler : IHandleMessages<MathRequestCall>
- {
- public void Handle(MathRequestCall message)
- {
- // Thrift protocol/transport stack
- var stm = new MemoryStream(message.rawBytes);
- var trns = new TStreamTransport(stm, null);
- var prot = new TBinaryProtocol(trns);
-
- // create a processor and let him handle the call
- var hndl = new MathRequestsHandler();
- var proc = new BasicMathServer.Processor(hndl);
- proc.Process(prot, null); // oneway only
- }
- }
-
-
- // serves incoming calculation requests
- internal class MathRequestsHandler : BasicMathServer.Iface
- {
- public void Ping(long value)
- {
- var client = new MathResponseClient("localhost");
- client.Pong(value);
- }
-
-
- public void DoTheMath(int arg1, int arg2)
- {
- var client = new MathResponseClient("localhost");
- if( arg2 != 0)
- client.FourResults( arg1+arg2, arg1*arg2, arg1-arg2, arg1/arg2);
- else
- client.ThreeResults( arg1+arg2, arg1*arg2, arg1-arg2);
- }
- }
-
-
- // provides the client-side interface for calculation responses
- internal class MathResponseClient : BasicMathClient.Iface
- {
- private BuiltinContainerAdapter MQAdapter;
-
-
- public MathResponseClient(string server)
- {
- MQAdapter = new BuiltinContainerAdapter();
- Configure.With(MQAdapter)
- .Transport(t => t.UseRabbitMqInOneWayMode("amqp://" + server)) // we need send only
- .MessageOwnership(o => o.FromRebusConfigurationSection())
- .CreateBus().Start();
- }
-
-
- public void SerializeThriftCall(Action<BasicMathClient.Iface> action)
- {
- // Thrift protocol/transport stack
- var stm = new MemoryStream();
- var trns = new TStreamTransport(null, stm);
- var prot = new TBinaryProtocol(trns);
-
- // serialize the call into a bunch of bytes
- var client = new BasicMathClient.Client(prot);
- if (action != null)
- action(client);
- else
- throw new ArgumentException("action must not be null");
-
- // make sure everything is written to the MemoryStream
- trns.Flush();
-
- // send the message
- var msg = new MathResponseCall() { rawBytes = stm.ToArray() };
- MQAdapter.Bus.Send(msg);
- }
-
-
- public void Pong(long value)
- {
- SerializeThriftCall(client =>
- {
- client.Pong(value);
- });
- }
-
-
- public void ThreeResults(int added, int multiplied, int suctracted)
- {
- SerializeThriftCall(client =>
- {
- client.ThreeResults(added, multiplied, suctracted);
- });
- }
-
-
- public void FourResults(int added, int multiplied, int suctracted, int divided)
- {
- SerializeThriftCall(client =>
- {
- client.FourResults(added, multiplied, suctracted, divided);
- });
- }
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/sample.thrift
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/sample.thrift b/depends/thirdparty/thrift/contrib/Rebus/sample.thrift
deleted file mode 100644
index 785e2d3..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/sample.thrift
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-service BasicMathServer {
- oneway void DoTheMath( 1: i32 arg1, 2: i32 arg2)
- oneway void Ping(1: i64 value)
-}
-
-service BasicMathClient {
- oneway void ThreeResults( 1 : i32 added, 2 : i32 multiplied, 3 : i32 subtracted);
- oneway void FourResults( 1 : i32 added, 2 : i32 multiplied, 3 : i32 subtracted, 4 : i32 divided);
- oneway void Pong(1: i64 value)
-}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Stomp/README.md
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Stomp/README.md b/depends/thirdparty/thrift/contrib/Stomp/README.md
deleted file mode 100644
index 2e5f21c..0000000
--- a/depends/thirdparty/thrift/contrib/Stomp/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-Sample code for STOMP-based Thrift clients and/or servers.
-
-Although the sample Thrift STOMP Transport is written in
-Delphi/Pascal, it can easily serve as a starting point for
-similar implementations in other languages.
-
-STOMP is a protocol widely supported by many messaging systems,
-such as Apache ActiveMQ, RabbitMQ and many others. In particular,
-it can be used to communicate with Service-Bus products like Rebus
-or NServiceBus, when running against a STOMP-capable MQ system.
-
-A prerequisite for this sample is the Delphi STOMP Adapter written
-by Daniele Teti (http://www.danieleteti.it/stomp-client), currently
-hosted at Google Code (http://code.google.com/p/delphistompclient).
-
-At the time of writing, the STOMP adapter does not fully support
-binary data. Please check whether this has been fixed, otherwise
-you have to use the JSON protocol (or to fix it on your own).
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Stomp/Thrift.Transport.STOMP.pas
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Stomp/Thrift.Transport.STOMP.pas b/depends/thirdparty/thrift/contrib/Stomp/Thrift.Transport.STOMP.pas
deleted file mode 100644
index 7dfb376..0000000
--- a/depends/thirdparty/thrift/contrib/Stomp/Thrift.Transport.STOMP.pas
+++ /dev/null
@@ -1,200 +0,0 @@
-(*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *)
-
-unit Thrift.Transport.STOMP;
-
-interface
-
-uses
- Classes,Windows, SysUtils,
- Thrift,
- Thrift.Transport,
- Thrift.Protocol,
- Thrift.Stream,
- StompClient,
- StompTypes;
-
-type
- TStompTransportImpl = class( TStreamTransportImpl)
- strict private
- FData : TStringStream;
- FServer : string;
- FOutQueue : string;
- FStompCli : IStompClient;
- protected
- function GetIsOpen: Boolean; override;
- function Peek: Boolean; override;
- public
- constructor Create( const aServerAndPort, aOutQueue : string);
- destructor Destroy; override;
-
- procedure Open(); override;
- procedure Close(); override;
- procedure Flush; override;
- end;
-
-
- TStompServerTransportImpl = class( TServerTransportImpl)
- strict private
- FServer : string;
- FInQueue : string;
- FClient : IStompClient;
- protected
- procedure Listen; override;
- procedure Close; override;
- function Accept( const fnAccepting: TProc): ITransport; override;
- public
- constructor Create( const aServerAndPort, aInQueue : string);
- destructor Destroy; override;
- end;
-
-
-const
- QUEUE_PREFIX = '/queue/';
- TOPIC_PREFIX = '/topic/';
- EXCHANGE_PREFIX = '/exchange/';
-
-
-implementation
-
-
-
-constructor TStompTransportImpl.Create( const aServerAndPort, aOutQueue : string);
-var adapter : IThriftStream;
-begin
- FData := TStringStream.Create;
- FServer := aServerAndPort;
- FOutQueue := aOutQueue;
-
- adapter := TThriftStreamAdapterDelphi.Create( FData, FALSE);
- inherited Create( nil, adapter); // output only
-end;
-
-
-destructor TStompTransportImpl.Destroy;
-begin
- inherited Destroy;
- FreeAndNil( FData);
- FStompCli := nil;
-end;
-
-
-function TStompTransportImpl.GetIsOpen: Boolean;
-begin
- result := (FStompCli <> nil);
-end;
-
-
-function TStompTransportImpl.Peek: Boolean;
-begin
- result := FALSE; // output only
-end;
-
-
-procedure TStompTransportImpl.Open;
-begin
- if FStompCli <> nil
- then raise TTransportException.Create( TTransportException.TExceptionType.AlreadyOpen, 'already open')
- else FStompCli := StompUtils.NewStomp( FServer);
-end;
-
-
-procedure TStompTransportImpl.Close;
-begin
- FStompCli := nil;
- FData.Clear;
-end;
-
-
-procedure TStompTransportImpl.Flush;
-begin
- if FStompCli = nil
- then raise TTransportException.Create( TTransportException.TExceptionType.NotOpen, 'not open');
-
- FStompCli.Send( FOutQueue, FData.DataString);
- FData.Clear;
-end;
-
-
-//--- TStompServerTransportImpl --------------------------------------------
-
-
-constructor TStompServerTransportImpl.Create( const aServerAndPort, aInQueue : string);
-begin
- inherited Create;
- FServer := aServerAndPort;
- FInQueue := aInQueue;
-end;
-
-
-destructor TStompServerTransportImpl.Destroy;
-begin
- try
- Close;
- finally
- inherited Destroy;
- end;
-end;
-
-
-procedure TStompServerTransportImpl.Listen;
-begin
- FClient := StompUtils.NewStomp(FServer);
- FClient.Subscribe( FInQueue);
-end;
-
-
-procedure TStompServerTransportImpl.Close;
-begin
- if FClient <> nil then begin
- FClient.Unsubscribe( FInQueue);
- FClient := nil;
- end;
-end;
-
-
-function TStompServerTransportImpl.Accept( const fnAccepting: TProc): ITransport;
-var frame : IStompFrame;
- adapter : IThriftStream;
- stream : TStringStream;
-begin
- if FClient = nil
- then raise TTransportException.Create( TTransportException.TExceptionType.NotOpen,
- 'Not connected.');
-
- if Assigned(fnAccepting)
- then fnAccepting();
-
- try
- frame := FClient.Receive(MAXINT);
- if frame = nil then Exit(nil);
-
- stream := TStringStream.Create( frame.GetBody);
- adapter := TThriftStreamAdapterDelphi.Create( stream, TRUE);
- result := TStreamTransportImpl.Create( adapter, nil);
-
- except
- on E: Exception
- do raise TTransportException.Create( E.ToString );
- end;
-end;
-
-
-end.
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Vagrantfile
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Vagrantfile b/depends/thirdparty/thrift/contrib/Vagrantfile
deleted file mode 100644
index d9a908d..0000000
--- a/depends/thirdparty/thrift/contrib/Vagrantfile
+++ /dev/null
@@ -1,133 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-#
-# 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.
-#
-
-$build_and_test = <<SCRIPT
-echo "Provisioning system to compile and test Apache Thrift."
-
-# Create swap space
-sudo fallocate -l 2G /swapfile
-sudo chmod 600 /swapfile
-sudo mkswap /swapfile
-sudo swapon /swapfile
-sudo swapon -s
-
-# Update the system
-sudo DEBIAN_FRONTEND=noninteractive apt-get update -qq -y
-sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -qq -y
-
-# Install Dependencies
-# ---
-# General dependencies
-sudo apt-get install -qq automake libtool flex bison pkg-config g++ libssl-dev make libqt4-dev git debhelper
-
-# C++ dependencies
-sudo apt-get install -qq libboost-dev libboost-test-dev libboost-program-options-dev libboost-filesystem-dev libboost-system-dev libevent-dev
-
-# Java dependencies
-sudo apt-get install -qq ant openjdk-7-jdk maven
-
-# Python dependencies
-sudo apt-get install -qq python-all python-all-dev python-all-dbg python-setuptools python-support
-
-# Ruby dependencies
-sudo apt-get install -qq ruby ruby-dev
-sudo gem install bundler rake
-
-# Perl dependencies
-sudo apt-get install -qq libbit-vector-perl libclass-accessor-class-perl
-
-# Php dependencies
-sudo apt-get install -qq php5 php5-dev php5-cli php-pear re2c
-
-# GlibC dependencies
-sudo apt-get install -qq libglib2.0-dev
-
-# Erlang dependencies
-sudo apt-get install -qq erlang-base erlang-eunit erlang-dev
-
-# GO dependencies
-echo "golang-go golang-go/dashboard boolean false" | debconf-set-selections
-sudo apt-get -y install -qq golang golang-go
-
-# Haskell dependencies
-sudo apt-get install -qq ghc cabal-install libghc-binary-dev libghc-network-dev libghc-http-dev libghc-hashable-dev libghc-unordered-containers-dev libghc-vector-dev
-sudo cabal update
-
-# Lua dependencies
-sudo apt-get install -qq lua5.2 lua5.2-dev
-
-# Node.js dependencies
-sudo apt-get install -qq nodejs nodejs-dev nodejs-legacy npm
-
-# CSharp
-sudo apt-get install -qq mono-gmcs mono-devel mono-xbuild mono-complete libmono-system-web2.0-cil
-sudo apt-get install -qq mingw32 mingw32-binutils mingw32-runtime nsis
-
-# D dependencies
-sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
-sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update
-sudo apt-get install -qq xdg-utils dmd-bin
-
-# Customize the system
-# ---
-# Default java to latest 1.7 version
-update-java-alternatives -s java-1.7.0-openjdk-amd64
-
-# PHPUnit package broken in ubuntu. see https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
-sudo apt-get upgrade pear
-sudo pear channel-discover pear.phpunit.de
-sudo pear channel-discover pear.symfony.com
-sudo pear channel-discover components.ez.no
-sudo pear update-channels
-sudo pear upgrade-all
-sudo pear install --alldeps phpunit/PHPUnit
-
-date > /etc/vagrant.provisioned
-
-# Start the source build
-# ---
-echo "Starting Apache Thrift build..."
-cd /thrift
-sh bootstrap.sh
-sh configure
-make
-make check
-echo "Finished building Apache Thrift."
-
-SCRIPT
-
-Vagrant.configure("2") do |config|
- # Ubuntu 14.04 LTS (Trusty Tahr)
- config.vm.box = "trusty64"
- config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
-
- config.vm.synced_folder "../", "/thrift"
-
- config.vm.provider :virtualbox do |vbox|
- vbox.customize ["modifyvm", :id, "--memory", "1024"]
- vbox.customize ["modifyvm", :id, "--cpus", "2"]
- vbox.customize ["modifyvm", :id, "--rtcuseutc", "on"]
- end
-
- # Run the build script to configure the system
- config.vm.provision :shell, :inline => $build_and_test
-end
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/async-test/aggr.thrift
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/async-test/aggr.thrift b/depends/thirdparty/thrift/contrib/async-test/aggr.thrift
deleted file mode 100644
index c016a65..0000000
--- a/depends/thirdparty/thrift/contrib/async-test/aggr.thrift
+++ /dev/null
@@ -1,8 +0,0 @@
-exception Error {
- 1: string desc;
-}
-
-service Aggr {
- void addValue(1: i32 value);
- list<i32> getValues() throws (1: Error err);
-}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/async-test/test-leaf.py
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/async-test/test-leaf.py b/depends/thirdparty/thrift/contrib/async-test/test-leaf.py
deleted file mode 100755
index 8b7c3e3..0000000
--- a/depends/thirdparty/thrift/contrib/async-test/test-leaf.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-import sys
-import time
-from thrift.transport import TTransport
-from thrift.transport import TSocket
-from thrift.protocol import TBinaryProtocol
-from thrift.server import THttpServer
-from aggr import Aggr
-
-class AggrHandler(Aggr.Iface):
- def __init__(self):
- self.values = []
-
- def addValue(self, value):
- self.values.append(value)
-
- def getValues(self, ):
- time.sleep(1)
- return self.values
-
-processor = Aggr.Processor(AggrHandler())
-pfactory = TBinaryProtocol.TBinaryProtocolFactory()
-THttpServer.THttpServer(processor, ('', int(sys.argv[1])), pfactory).serve()
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/async-test/test-server.cpp
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/async-test/test-server.cpp b/depends/thirdparty/thrift/contrib/async-test/test-server.cpp
deleted file mode 100644
index b304e1b..0000000
--- a/depends/thirdparty/thrift/contrib/async-test/test-server.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#include <tr1/functional>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/async/TAsyncProtocolProcessor.h>
-#include <thrift/async/TEvhttpServer.h>
-#include <thrift/async/TEvhttpClientChannel.h>
-#include "Aggr.h"
-
-using std::tr1::bind;
-using std::tr1::placeholders::_1;
-
-using apache::thrift::TException;
-using apache::thrift::protocol::TBinaryProtocolFactory;
-using apache::thrift::protocol::TProtocolFactory;
-using apache::thrift::async::TEvhttpServer;
-using apache::thrift::async::TAsyncProcessor;
-using apache::thrift::async::TAsyncBufferProcessor;
-using apache::thrift::async::TAsyncProtocolProcessor;
-using apache::thrift::async::TAsyncChannel;
-using apache::thrift::async::TEvhttpClientChannel;
-
-class AggrAsyncHandler : public AggrCobSvIf {
- protected:
- struct RequestContext {
- std::tr1::function<void(std::vector<int32_t> const& _return)> cob;
- std::vector<int32_t> ret;
- int pending_calls;
- };
-
- public:
- AggrAsyncHandler()
- : eb_(NULL)
- , pfact_(new TBinaryProtocolFactory())
- {
- leaf_ports_.push_back(8081);
- leaf_ports_.push_back(8082);
- }
-
- void addValue(std::tr1::function<void()> cob, const int32_t value) {
- // Silently drop writes to the aggrgator.
- return cob();
- }
-
- void getValues(std::tr1::function<void(
- std::vector<int32_t> const& _return)> cob,
- std::tr1::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) {
- RequestContext* ctx = new RequestContext();
- ctx->cob = cob;
- ctx->pending_calls = leaf_ports_.size();
- for (std::vector<int>::iterator it = leaf_ports_.begin();
- it != leaf_ports_.end(); ++it) {
- boost::shared_ptr<TAsyncChannel> channel(
- new TEvhttpClientChannel(
- "localhost", "/", "127.0.0.1", *it, eb_));
- AggrCobClient* client = new AggrCobClient(channel, pfact_.get());
- client->getValues(std::tr1::bind(&AggrAsyncHandler::clientReturn, this, ctx, _1));
- }
- }
-
- void setEventBase(struct event_base* eb) {
- eb_ = eb;
- }
-
- void clientReturn(RequestContext* ctx, AggrCobClient* client) {
- ctx->pending_calls -= 1;
-
- try {
- std::vector<int32_t> subret;
- client->recv_getValues(subret);
- ctx->ret.insert(ctx->ret.end(), subret.begin(), subret.end());
- } catch (TException& exn) {
- // TODO: Log error
- }
-
- delete client;
-
- if (ctx->pending_calls == 0) {
- ctx->cob(ctx->ret);
- delete ctx;
- }
- }
-
- protected:
- struct event_base* eb_;
- std::vector<int> leaf_ports_;
- boost::shared_ptr<TProtocolFactory> pfact_;
-};
-
-
-int main() {
- boost::shared_ptr<AggrAsyncHandler> handler(new AggrAsyncHandler());
- boost::shared_ptr<TAsyncProcessor> proc(new AggrAsyncProcessor(handler));
- boost::shared_ptr<TProtocolFactory> pfact(new TBinaryProtocolFactory());
- boost::shared_ptr<TAsyncBufferProcessor> bufproc(new TAsyncProtocolProcessor(proc, pfact));
- boost::shared_ptr<TEvhttpServer> server(new TEvhttpServer(bufproc, 8080));
- handler->setEventBase(server->getEventBase());
- server->serve();
-}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/LICENSE
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/LICENSE b/depends/thirdparty/thrift/contrib/fb303/LICENSE
deleted file mode 100644
index 4eacb64..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/LICENSE
+++ /dev/null
@@ -1,16 +0,0 @@
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/Makefile.am
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/Makefile.am b/depends/thirdparty/thrift/contrib/fb303/Makefile.am
deleted file mode 100644
index e773e52..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-@GLOBAL_HEADER_MK@
-
-@PRODUCT_MK@
-
-SUBDIRS = .
-
-if WITH_CPP
-SUBDIRS += cpp
-endif
-
-if WITH_JAVA
-SUBDIRS += java
-endif
-
-if WITH_PHP
-SUBDIRS += php
-endif
-
-if WITH_PYTHON
-SUBDIRS += py
-endif
-
-BUILT_SOURCES =
-
-clean-local: clean-common
-
-@GLOBAL_FOOTER_MK@
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/README.md
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/README.md b/depends/thirdparty/thrift/contrib/fb303/README.md
deleted file mode 100644
index 8ade560..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-Project FB303: The Facebook Bassline
-------------------------------------
-
-* Curious about the 303? *
-http://en.wikipedia.org/wiki/Roland_TB-303
-
-* Why the name? *
-The TB303 makes bass lines.
-.Bass is what lies underneath any strong tune.
-..fb303 is the shared root of all thrift services.
-...fb303 => FacebookBase303.
-
-* How do I use this? *
-Take a look at the examples to see how your backend project can
-and should inherit from this service.
-
-* What does it provide? *
-A standard interface to monitoring, dynamic options and configuration,
-uptime reports, activity, etc.
-
-* I want more. *
-Think carefully first about whether the functionality you are going to add
-belongs here or in your application. If it can be abstracted and is generally
-useful, then it probably belongs somewhere in the fb303 tree. Keep in mind,
-not every product has to use ALL the functionality of fb303, but every product
-CANNOT use functionality that is NOT in fb303.
-
-* Is this open source? *
-Yes. fb303 is distributed under the Thrift Software License. See the
-LICENSE file for more details.
-
-* Installation *
-fb303 is configured/built/installed similar to Thrift. See the README
-in the Thrift root directory for more information.
-
-* Who wrote this README? *
-mcslee@facebook.com
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/TClientInfo.cpp
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/TClientInfo.cpp b/depends/thirdparty/thrift/contrib/fb303/TClientInfo.cpp
deleted file mode 100644
index 1fc6612..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/TClientInfo.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include <thrift/server/TClientInfo.h>
-
-namespace apache { namespace thrift { namespace server {
-
-using namespace apache::thrift;
-using namespace apache::thrift::transport;
-
-TClientInfoConnection::TClientInfoConnection() {
- call_[kNameLen - 1] = '\0'; // insure NUL terminator is there
- eraseAddr();
- eraseCall();
-}
-
-void TClientInfoConnection::recordAddr(const sockaddr* addr) {
- eraseAddr();
- initTime();
- ncalls_ = 0;
- if (addr != NULL) {
- if (addr->sa_family == AF_INET) {
- memcpy((void*)&addr_.ipv4, (const void *)addr, sizeof(sockaddr_in));
- }
- else if (addr->sa_family == AF_INET6) {
- memcpy((void*)&addr_.ipv6, (const void *)addr, sizeof(sockaddr_in6));
- }
- }
-}
-
-void TClientInfoConnection::eraseAddr() {
- addr_.ipv4.sin_family = AF_UNSPEC;
-}
-
-const char* TClientInfoConnection::getAddr(char* buf, int len) const {
- switch (addr_.ipv4.sin_family) {
- case AF_INET:
- return inet_ntop(AF_INET, &addr_.ipv4.sin_addr, buf, len);
- case AF_INET6:
- return inet_ntop(AF_INET6, &addr_.ipv6.sin6_addr, buf, len);
- default:
- return NULL;
- }
-}
-
-void TClientInfoConnection::recordCall(const char* name) {
- strncpy(call_, name, kNameLen - 1); // NUL terminator set in constructor
- ncalls_++;
-}
-
-void TClientInfoConnection::eraseCall() {
- call_[0] = '\0';
-}
-
-const char* TClientInfoConnection::getCall() const {
- if (call_[0] == '\0') {
- return NULL;
- }
- return call_;
-}
-
-void TClientInfoConnection::getTime(timespec* time) const {
- *time = time_;
-}
-
-uint64_t TClientInfoConnection::getNCalls() const {
- return ncalls_;
-}
-
-void TClientInfoConnection::initTime() {
- clock_gettime(CLOCK_REALTIME, &time_);
-}
-
-
-TClientInfoConnection* TClientInfo::getConnection(int fd, bool grow) {
- if (fd < 0 || (!grow && fd >= info_.size())) {
- return NULL;
- }
- return &info_[fd];
-}
-
-size_t TClientInfo::size() const {
- return info_.size();
-}
-
-void* TClientInfoServerHandler::createContext(boost::shared_ptr<TProtocol> input,
- boost::shared_ptr<TProtocol> output) {
- (void)input;
- (void)output;
- return (void*) new Connect(&clientInfo_);
-}
-
-void TClientInfoServerHandler::deleteContext(void* connectionContext,
- boost::shared_ptr<TProtocol> input,
- boost::shared_ptr<TProtocol> output) {
- Connect* call = static_cast<Connect*>(connectionContext);
- if (call->callInfo_) {
- call->callInfo_->eraseCall();
- }
- delete call;
-}
-
-void TClientInfoServerHandler::processContext(void* connectionContext,
- shared_ptr<TTransport> transport) {
- Connect* call = static_cast<Connect*>(connectionContext);
- if (call->callInfo_ == NULL) {
- if (typeid(*(transport.get())) == typeid(TSocket)) {
- TSocket* tsocket = static_cast<TSocket*>(transport.get());
- int fd = tsocket->getSocketFD();
- if (fd < 0) {
- return;
- }
- call->callInfo_ = call->clientInfo_->getConnection(fd, true);
- assert(call->callInfo_ != NULL);
- socklen_t len;
- call->callInfo_->recordAddr(tsocket->getCachedAddress(&len));
- }
- }
-}
-
-void TClientInfoServerHandler::getStatsStrings(vector<string>& result) {
- result.clear();
- timespec now;
- clock_gettime(CLOCK_REALTIME, &now);
-
- for (int i = 0; i < clientInfo_.size(); ++i) {
- TClientInfoConnection* info = clientInfo_.getConnection(i, false);
- const char* callStr = info->getCall();
- if (callStr == NULL) {
- continue;
- }
-
- char addrBuf[INET6_ADDRSTRLEN];
- const char* addrStr = info->getAddr(addrBuf, sizeof addrBuf);
- if (addrStr == NULL) {
- // cerr << "no addr!" << endl;
- continue;
- }
-
- timespec start;
- info->getTime(&start);
- double secs = (double)(now.tv_sec - start.tv_sec) + (now.tv_nsec - start.tv_nsec)*0.000000001;
-
- char buf[256];
- snprintf(buf, sizeof buf, "%d %s %s %.3f %llu", i, addrStr, callStr, secs,
- (uint64_t)info->getNCalls());
-
- result.push_back(buf);
- }
-}
-
-void* TClientInfoCallHandler::getContext(const char* fn_name, void* serverContext) {
- if (serverContext) {
- TClientInfoConnection* callInfo = static_cast<TClientInfoServerHandler::Connect*>(serverContext)->callInfo_;
- if (callInfo != NULL) {
- callInfo->recordCall(fn_name);
- }
- }
- return NULL;
-}
-
-} } } // namespace apache::thrift::server
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/TClientInfo.h
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/TClientInfo.h b/depends/thirdparty/thrift/contrib/fb303/TClientInfo.h
deleted file mode 100644
index 6668c19..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/TClientInfo.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef _FACEBOOK_THRIFT_SERVER_TCLIENTINFO_H_
-#define _FACEBOOK_THRIFT_SERVER_TCLIENTINFO_H_ 1
-
-// for inet_ntop --
-#include <arpa/inet.h>
-#include <thrift/server/TServer.h>
-#include <thrift/transport/TSocket.h>
-#include <thrift/concurrency/Mutex.h>
-
-namespace apache { namespace thrift { namespace server {
-
-using namespace apache::thrift;
-using namespace apache::thrift::transport;
-using namespace apache::thrift::concurrency;
-using boost::shared_ptr;
-using std::string;
-using std::vector;
-
-/**
- * StableVector -- a minimal vector class where growth is automatic and
- * vector elements never move as the vector grows. Allocates new space
- * as needed, but does not copy old values.
- *
- * A level vector stores a list of storage vectors containing the actual
- * elements. Levels are added as needed, doubling in size each time.
- * Locking is only done when a level is added. Access is amortized
- * constant time.
- */
-template <typename T>
-class StableVector {
- /// The initial allocation as an exponent of 2
- static const uint32_t kInitialSizePowOf2 = 10;
- /// The initial allocation size
- static const uint32_t kInitialVectorSize = 1 << kInitialSizePowOf2;
- /// This bound is guaranteed not to be exceeded on 64-bit archs
- static const int kMaxLevels = 64;
-
- /// Values are kept in one or more of these
- typedef vector<T> Vect;
- /// One or more value vectors are kept in one of these
- typedef vector<Vect*> LevelVector;
-
- Mutex mutex_;
- /// current size
- size_t size_;
- _Atomic_word vectLvl_;
- LevelVector vects_;
-
- public:
- /**
- * Constructor -- initialize the level vector and allocate the
- * initial storage vector
- */
- StableVector()
- : size_(0)
- , vectLvl_(0) {
- vects_.reserve(kMaxLevels);
- Vect* storageVector(new Vect(1 << kInitialSizePowOf2));
- vects_.push_back(storageVector);
- }
-
- private:
- /**
- * make sure the requested number of storage levels have been allocated.
- */
- void expand(uint32_t level) {
- // we need the guard to insure that we only allocate once.
- Guard g(mutex_);
- while (level > vectLvl_) {
- Vect* levelVect(new Vect(1 << (vectLvl_ + kInitialSizePowOf2)));
- vects_.push_back(levelVect);
- // we need to make sure this is done after levelVect is inserted
- // (what we want is effectively a memory barrier here).
- __gnu_cxx::__atomic_add(&vectLvl_, 1);
- }
- }
-
- /**
- * Given an index, determine which level and element of that level is
- * required. Grows if needed.
- */
- void which(uint32_t n, uint32_t* vno, uint32_t* idx) {
- if (n >= size_) {
- size_ = n + 1;
- }
- if (n < kInitialVectorSize) {
- *idx = n;
- *vno = 0;
- } else {
- uint32_t upper = n >> kInitialSizePowOf2;
- *vno = CHAR_BIT*sizeof(upper) - __builtin_clz(upper);
- *idx = n - (1 << (*vno + kInitialSizePowOf2 - 1));
- if (*vno > vectLvl_) {
- expand(*vno);
- }
- }
- }
-
- public:
- /**
- * Given an index, return a reference to that element, perhaps after
- * allocating additional space.
- *
- * @param n a positive integer
- */
- T& operator[](uint32_t n) {
- uint32_t vno;
- uint32_t idx;
- which(n, &vno, &idx);
- return (*vects_[vno])[idx];
- }
-
- /**
- * Return the present size of the vector.
- */
- size_t size() const { return size_; }
-};
-
-
-/**
- * This class embodies the representation of a single connection during
- * processing. We'll keep one of these per file descriptor in TClientInfo.
- */
-class TClientInfoConnection {
- public:
- const static int kNameLen = 32;
-
- private:
- typedef union IPAddrUnion {
- sockaddr_in ipv4;
- sockaddr_in6 ipv6;
- };
-
- char call_[kNameLen]; ///< The name of the thrift call
- IPAddrUnion addr_; ///< The client's IP address
- timespec time_; ///< Time processing started
- uint64_t ncalls_; ///< # of calls processed
-
- public:
- /**
- * Constructor; insure that no client address or thrift call name is
- * represented.
- */
- TClientInfoConnection();
-
- /**
- * A connection has been made; record its address. Since this is the
- * first we'll know of a connection we start the timer here as well.
- */
- void recordAddr(const sockaddr* addr);
-
- /**
- * Mark the address as empty/unknown.
- */
- void eraseAddr();
-
- /**
- * Return a string representing the present address, or NULL if none.
- * Copies the string into the buffer provided.
- */
- const char* getAddr(char* buf, int len) const;
-
- /**
- * A call has been made on this connection; record its name. Since this is
- * called for every thrift call processed, we also do our call count here.
- */
- void recordCall(const char* name);
-
- /**
- * Invoked when processing has ended to clear the call name.
- */
- void eraseCall();
-
- /**
- * Return as string the thrift call either currently being processed or
- * most recently processed if the connection is still open for additional
- * calls. Returns NULL if a call hasn't been made yet or processing
- * has ended.
- */
- const char* getCall() const;
-
- /**
- * Get the timespec for the start of this connection (specifically, when
- * recordAddr() was first called).
- */
- void getTime(timespec* time) const;
-
- /**
- * Return the number of calls made on this connection.
- */
- uint64_t getNCalls() const;
-
- private:
- void initTime();
-};
-
-
-/**
- * Store for info about a server's clients -- specifically, the client's IP
- * address and the call it is executing. This information is indexed by
- * socket file descriptor and in the present implementation is updated
- * asynchronously, so it may only approximate reality.
- */
-class TClientInfo {
- private:
- StableVector<TClientInfoConnection> info_;
-
- public:
- /**
- * Return the info object for a given file descriptor. If "grow" is true
- * extend the info vector if required (such as for a file descriptor not seen
- * before). If "grow" is false and the info vector isn't large enough,
- * or if "fd" is negative, return NULL.
- */
- TClientInfoConnection* getConnection(int fd, bool grow);
-
- size_t size() const;
-};
-
-/**
- * This derivation of TServerEventHandler encapsulates the main status vector
- * and provides context to the server's processing loop via overrides.
- * Together with TClientInfoCallHandler (derived from TProcessorEventHandler)
- * it integrates client info collection into the server.
- */
-class TClientInfoServerHandler : public TServerEventHandler {
- private:
- TClientInfo clientInfo_;
-
- public:
- /**
- * One of these is constructed for each open connection/descriptor and links
- * to both the status vector (clientInfo_) and that descriptor's entry
- * within it.
- */
- struct Connect {
- TClientInfo* clientInfo_;
- TClientInfoConnection* callInfo_;
-
- explicit Connect(TClientInfo* clientInfo)
- : clientInfo_(clientInfo)
- , callInfo_(NULL) {
- }
- };
-
- /**
- * Generate processor context; we don't know what descriptor we belong to
- * yet -- we'll get hooked up in contextProcess().
- */
- void* createContext(boost::shared_ptr<TProtocol> input,
- boost::shared_ptr<TProtocol> output);
-
- /**
- * Mark our slot as unused and delete the context created in createContext().
- */
- void deleteContext(void* processorContext,
- boost::shared_ptr<TProtocol> input,
- boost::shared_ptr<TProtocol> output);
-
- /**
- * Called in the processing loop just before the server invokes the
- * processor itself, on the first call we establish which descriptor
- * we correspond to and set it to that socket's peer IP address. This
- * also has the side effect of initializing call counting and connection
- * timing. We won't know which call we're handling until the handler
- * first gets called in TClientInfoCallHandler::getContext().
- */
- void processContext(void* processorContext,
- shared_ptr<TTransport> transport);
-
- /**
- * Get status report for server in the form of a vector of strings.
- * Each active client appears as one string in the format:
- *
- * FD IPADDR CALLNAME DURATION NCALLS
- *
- * where "FD" is the file descriptor for the client's socket, "IPADDR"
- * is the IP address (as reported by accept()), "CALLNAME" is the
- * current or most recent Thrift function name, "DURATION" is the
- * duration of the connection, while NCALLS is the number of Thrift
- * calls made since the connection was made. A single space separates
- * fields.
- */
- void getStatsStrings(vector<string>& result);
-};
-
-/**
- * This class derives from TProcessorEventHandler to gain access to the
- * function name for the current Thrift call. We need two versions of
- * this -- TClientInfoCallStatsHandler is the other -- since in the latter
- * case we pass through to TFunctionStatHandler to perform Thrift call
- * stats.
- */
-class TClientInfoCallHandler : public TProcessorEventHandler {
- public:
- virtual void* getContext(const char* fn_name, void* serverContext);
-};
-
-} } } // namespace apache::thrift::server
-
-#endif // !_FACEBOOK_THRIFT_SERVER_TCLIENTINFO_H_
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_boost_base.m4
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_boost_base.m4 b/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_boost_base.m4
deleted file mode 100644
index e56bb73..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_boost_base.m4
+++ /dev/null
@@ -1,198 +0,0 @@
-##### http://autoconf-archive.cryp.to/ax_boost_base.html
-#
-# SYNOPSIS
-#
-# AX_BOOST_BASE([MINIMUM-VERSION])
-#
-# DESCRIPTION
-#
-# Test for the Boost C++ libraries of a particular version (or newer)
-#
-# If no path to the installed boost library is given the macro
-# searchs under /usr, /usr/local, /opt and /opt/local and evaluates
-# the $BOOST_ROOT environment variable. Further documentation is
-# available at <http://randspringer.de/boost/index.html>.
-#
-# This macro calls:
-#
-# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
-#
-# And sets:
-#
-# HAVE_BOOST
-#
-# LAST MODIFICATION
-#
-# 2007-07-28
-#
-# COPYLEFT
-#
-# Copyright (c) 2007 Thomas Porschberg <th...@randspringer.de>
-#
-# Copying and distribution of this file, with or without
-# modification, are permitted in any medium without royalty provided
-# the copyright notice and this notice are preserved.
-
-AC_DEFUN([AX_BOOST_BASE],
-[
-AC_ARG_WITH([boost],
- AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]),
- [
- if test "$withval" = "no"; then
- want_boost="no"
- elif test "$withval" = "yes"; then
- want_boost="yes"
- ac_boost_path=""
- else
- want_boost="yes"
- ac_boost_path="$withval"
- fi
- ],
- [want_boost="yes"])
-
-if test "x$want_boost" = "xyes"; then
- boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
- boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
- boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
- boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
- boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test "x$boost_lib_version_req_sub_minor" = "x" ; then
- boost_lib_version_req_sub_minor="0"
- fi
- WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
- AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
- succeeded=no
-
- dnl first we check the system location for boost libraries
- dnl this location ist chosen if boost libraries are installed with the --layout=system option
- dnl or if you install boost with RPM
- if test "$ac_boost_path" != ""; then
- BOOST_LDFLAGS="-L$ac_boost_path/lib"
- BOOST_CPPFLAGS="-I$ac_boost_path/include"
- else
- for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
- if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
- BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
- BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
- break;
- fi
- done
- fi
-
- CPPFLAGS_SAVED="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
- export CPPFLAGS
-
- LDFLAGS_SAVED="$LDFLAGS"
- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
- export LDFLAGS
-
- AC_LANG_PUSH(C++)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- @%:@include <boost/version.hpp>
- ]], [[
- #if BOOST_VERSION >= $WANT_BOOST_VERSION
- // Everything is okay
- #else
- # error Boost version is too old
- #endif
- ]])],[
- AC_MSG_RESULT(yes)
- succeeded=yes
- found_system=yes
- ],[
- ])
- AC_LANG_POP([C++])
-
-
-
- dnl if we found no boost with system layout we search for boost libraries
- dnl built and installed without the --layout=system option or for a staged(not installed) version
- if test "x$succeeded" != "xyes"; then
- _version=0
- if test "$ac_boost_path" != ""; then
- BOOST_LDFLAGS="-L$ac_boost_path/lib"
- if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
- for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
- _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
- V_CHECK=`expr $_version_tmp \> $_version`
- if test "$V_CHECK" = "1" ; then
- _version=$_version_tmp
- fi
- VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
- BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
- done
- fi
- else
- for ac_boost_path in /usr /usr/local /opt /opt/local ; do
- if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
- for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
- _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
- V_CHECK=`expr $_version_tmp \> $_version`
- if test "$V_CHECK" = "1" ; then
- _version=$_version_tmp
- best_path=$ac_boost_path
- fi
- done
- fi
- done
-
- VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
- BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
- BOOST_LDFLAGS="-L$best_path/lib"
-
- if test "x$BOOST_ROOT" != "x"; then
- if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
- version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
- stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
- stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
- V_CHECK=`expr $stage_version_shorten \>\= $_version`
- if test "$V_CHECK" = "1" ; then
- AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
- BOOST_CPPFLAGS="-I$BOOST_ROOT"
- BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
- fi
- fi
- fi
- fi
-
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
- export CPPFLAGS
- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
- export LDFLAGS
-
- AC_LANG_PUSH(C++)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- @%:@include <boost/version.hpp>
- ]], [[
- #if BOOST_VERSION >= $WANT_BOOST_VERSION
- // Everything is okay
- #else
- # error Boost version is too old
- #endif
- ]])],[
- AC_MSG_RESULT(yes)
- succeeded=yes
- found_system=yes
- ],[
- ])
- AC_LANG_POP([C++])
- fi
-
- if test "$succeeded" != "yes" ; then
- if test "$_version" = "0" ; then
- AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
- else
- AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
- fi
- else
- AC_SUBST(BOOST_CPPFLAGS)
- AC_SUBST(BOOST_LDFLAGS)
- AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
- fi
-
- CPPFLAGS="$CPPFLAGS_SAVED"
- LDFLAGS="$LDFLAGS_SAVED"
-fi
-
-])
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_cxx_compile_stdcxx_11.m4
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_cxx_compile_stdcxx_11.m4 b/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_cxx_compile_stdcxx_11.m4
deleted file mode 100644
index a4c9189..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_cxx_compile_stdcxx_11.m4
+++ /dev/null
@@ -1,134 +0,0 @@
-# ============================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
-# ============================================================================
-#
-# SYNOPSIS
-#
-# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
-#
-# DESCRIPTION
-#
-# Check for baseline language coverage in the compiler for the C++11
-# standard; if necessary, add switches to CXXFLAGS to enable support.
-#
-# The first argument, if specified, indicates whether you insist on an
-# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-# -std=c++11). If neither is specified, you get whatever works, with
-# preference for an extended mode.
-#
-# The second argument, if specified 'mandatory' or if left unspecified,
-# indicates that baseline C++11 support is required and that the macro
-# should error out if no mode with that support is found. If specified
-# 'optional', then configuration proceeds regardless, after defining
-# HAVE_CXX11 if and only if a supporting mode is found.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Benjamin Kosnik <bk...@redhat.com>
-# Copyright (c) 2012 Zack Weinberg <za...@panix.com>
-# Copyright (c) 2013 Roy Stogner <ro...@ices.utexas.edu>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 3
-
-m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
-
- auto d = a;
-])
-
-AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
- m4_if([$1], [], [],
- [$1], [ext], [],
- [$1], [noext], [],
- [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
- m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
- [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
- [$2], [optional], [ax_cxx_compile_cxx11_required=false],
- [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
- AC_LANG_PUSH([C++])dnl
- ac_success=no
- AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
- ax_cv_cxx_compile_cxx11,
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
- [ax_cv_cxx_compile_cxx11=yes],
- [ax_cv_cxx_compile_cxx11=no])])
- if test x$ax_cv_cxx_compile_cxx11 = xyes; then
- ac_success=yes
- fi
-
- m4_if([$1], [noext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=gnu++11; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi])
-
- m4_if([$1], [ext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=c++11; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi])
- AC_LANG_POP([C++])
- if test x$ax_cxx_compile_cxx11_required = xtrue; then
- if test x$ac_success = xno; then
- AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
- fi
- else
- if test x$ac_success = xno; then
- HAVE_CXX11=0
- AC_MSG_NOTICE([No compiler with C++11 support was found])
- else
- HAVE_CXX11=1
- AC_DEFINE(HAVE_CXX11,1,
- [define if the compiler supports basic C++11 syntax])
- fi
-
- AC_SUBST(HAVE_CXX11)
- fi
-])
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_javac_and_java.m4
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_javac_and_java.m4 b/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_javac_and_java.m4
deleted file mode 100644
index 581b450..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_javac_and_java.m4
+++ /dev/null
@@ -1,121 +0,0 @@
-dnl @synopsis AX_JAVAC_AND_JAVA
-dnl @synopsis AX_CHECK_JAVA_CLASS(CLASSNAME)
-dnl
-dnl Test for the presence of a JDK, and (optionally) specific classes.
-dnl
-dnl If "JAVA" is defined in the environment, that will be the only
-dnl java command tested. Otherwise, a hard-coded list will be used.
-dnl Similarly for "JAVAC".
-dnl
-dnl AX_JAVAC_AND_JAVA does not currently support testing for a particular
-dnl Java version, testing for only one of "java" and "javac", or
-dnl compiling or running user-provided Java code.
-dnl
-dnl After AX_JAVAC_AND_JAVA runs, the shell variables "success" and
-dnl "ax_javac_and_java" are set to "yes" or "no", and "JAVAC" and
-dnl "JAVA" are set to the appropriate commands.
-dnl
-dnl AX_CHECK_JAVA_CLASS must be run after AX_JAVAC_AND_JAVA.
-dnl It tests for the presence of a class based on a fully-qualified name.
-dnl It sets the shell variable "success" to "yes" or "no".
-dnl
-dnl @category Java
-dnl @version 2009-02-09
-dnl @license AllPermissive
-dnl
-dnl Copyright (C) 2009 David Reiss
-dnl Copying and distribution of this file, with or without modification,
-dnl are permitted in any medium without royalty provided the copyright
-dnl notice and this notice are preserved.
-
-
-AC_DEFUN([AX_JAVAC_AND_JAVA],
- [
-
- dnl Hard-coded default commands to test.
- JAVAC_PROGS="javac,jikes,gcj -C"
- JAVA_PROGS="java,kaffe"
-
- dnl Allow the user to specify an alternative.
- if test -n "$JAVAC" ; then
- JAVAC_PROGS="$JAVAC"
- fi
- if test -n "$JAVA" ; then
- JAVA_PROGS="$JAVA"
- fi
-
- AC_MSG_CHECKING(for javac and java)
-
- echo "public class configtest_ax_javac_and_java { public static void main(String args@<:@@:>@) { } }" > configtest_ax_javac_and_java.java
- success=no
- oIFS="$IFS"
-
- IFS=","
- for JAVAC in $JAVAC_PROGS ; do
- IFS="$oIFS"
-
- echo "Running \"$JAVAC configtest_ax_javac_and_java.java\"" >&AS_MESSAGE_LOG_FD
- if $JAVAC configtest_ax_javac_and_java.java >&AS_MESSAGE_LOG_FD 2>&1 ; then
-
- IFS=","
- for JAVA in $JAVA_PROGS ; do
- IFS="$oIFS"
-
- echo "Running \"$JAVA configtest_ax_javac_and_java\"" >&AS_MESSAGE_LOG_FD
- if $JAVA configtest_ax_javac_and_java >&AS_MESSAGE_LOG_FD 2>&1 ; then
- success=yes
- break 2
- fi
-
- done
-
- fi
-
- done
-
- rm -f configtest_ax_javac_and_java.java configtest_ax_javac_and_java.class
-
- if test "$success" != "yes" ; then
- AC_MSG_RESULT(no)
- JAVAC=""
- JAVA=""
- else
- AC_MSG_RESULT(yes)
- fi
-
- ax_javac_and_java="$success"
-
- ])
-
-
-AC_DEFUN([AX_CHECK_JAVA_CLASS],
- [
- AC_MSG_CHECKING(for Java class [$1])
-
- echo "import $1; public class configtest_ax_javac_and_java { public static void main(String args@<:@@:>@) { } }" > configtest_ax_javac_and_java.java
-
- echo "Running \"$JAVAC configtest_ax_javac_and_java.java\"" >&AS_MESSAGE_LOG_FD
- if $JAVAC configtest_ax_javac_and_java.java >&AS_MESSAGE_LOG_FD 2>&1 ; then
- AC_MSG_RESULT(yes)
- success=yes
- else
- AC_MSG_RESULT(no)
- success=no
- fi
-
- rm -f configtest_ax_javac_and_java.java configtest_ax_javac_and_java.class
- ])
-
-
-AC_DEFUN([AX_CHECK_ANT_VERSION],
- [
- AC_MSG_CHECKING(for ant version > $2)
- ANT_VALID=`expr $($1 -version 2>/dev/null | sed -n 's/.*version \(@<:@0-9\.@:>@*\).*/\1/p') \>= $2`
- if test "x$ANT_VALID" = "x1" ; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- ANT=""
- fi
- ])
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_thrift_internal.m4
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_thrift_internal.m4 b/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_thrift_internal.m4
deleted file mode 100644
index 8c0e3cb..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/aclocal/ax_thrift_internal.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-dnl @synopsis AX_THRIFT_GEN(SHORT_LANGUAGE, LONG_LANGUAGE, DEFAULT)
-dnl @synopsis AX_THRIFT_LIB(SHORT_LANGUAGE, LONG_LANGUAGE, DEFAULT)
-dnl
-dnl Allow a particular language generator to be disabled.
-dnl Allow a particular language library to be disabled.
-dnl
-dnl These macros have poor error handling and are poorly documented.
-dnl They are intended only for internal use by the Thrift compiler.
-dnl
-dnl @version 2008-02-20
-dnl @license AllPermissive
-dnl
-dnl Copyright (C) 2009 David Reiss
-dnl Copying and distribution of this file, with or without modification,
-dnl are permitted in any medium without royalty provided the copyright
-dnl notice and this notice are preserved.
-
-AC_DEFUN([AX_THRIFT_LIB],
- [
- AC_ARG_WITH($1,
- AC_HELP_STRING([--with-$1], [build the $2 library @<:@default=$3@:>@]),
- [with_$1="$withval"],
- [with_$1=$3]
- )
- have_$1=no
- dnl What we do here is going to vary from library to library,
- dnl so we can't really generalize (yet!).
- ])
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/bootstrap.sh
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/bootstrap.sh b/depends/thirdparty/thrift/contrib/fb303/bootstrap.sh
deleted file mode 100755
index 3cbeddb..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/bootstrap.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-#
-# 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.
-#
-
-# To be safe include -I flag
-aclocal -I ./aclocal
-automake -a
-autoconf
-./configure --config-cache $*
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/configure.ac
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/configure.ac b/depends/thirdparty/thrift/contrib/fb303/configure.ac
deleted file mode 100644
index 73b35ba..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/configure.ac
+++ /dev/null
@@ -1,164 +0,0 @@
-# Autoconf input file
-# $Id$
-
-# AC - autoconf
-# FB - facebook
-
-#
-# 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.
-#
-
-#########################################################################
-# DO NOT TOUCH EXCEPT TO CHANGE REV# IN AC_INIT
-
-AC_PREREQ(2.52)
-AC_INIT([libfb303],[20080209])
-#AC_CONFIG_AUX_DIR([/usr/share/automake-1.9])
-# To install locally
-FB_INITIALIZE([localinstall])
-AC_PREFIX_DEFAULT([/usr/local])
-
-############################################################################
-# User Configurable. Change With CAUTION!
-# User can include custom makefile rules. Uncomment and update only <name> in PRODUCT_MK.
-# Include where appropriate in any Makefile.am as @PRODUCT_MK@
-
-#PRODUCT_MK="include ${EXTERNAL_PATH}/shared/build/<name>.mk"
-
-# Default path to external Facebook components and shared build toools I.e fb303 etc.
-# To point to other locations set environment variable EXTERNAL_PATH.
-# To change the current default you must change bootstrap.sh.
-FB_WITH_EXTERNAL_PATH([`pwd`])
-
-AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
- (Normal --prefix is ignored for Python because
- Python has different conventions.)
- Default = "/usr"])
-AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
-
-##########################################################################
-# User Configurable
-
-# Pre-defined macro to set opt build mode. Run with --disable-shared option to turn off optimization.
-FB_ENABLE_DEFAULT_OPT_BUILD
-
-# Predefined macro to set static library mode. Run with --disable-static option to turn off static lib mode.
-FB_ENABLE_DEFAULT_STATIC
-
-# Personalized feature generator. Creates defines/conditionals and --enable --disable command line options.
-# FB_ENABLE_FEATURE([FEATURE], [feature]) OR FB_ENABLE_FEATURE([FEATURE], [feature], [\"<value>\"])
-
-# Example: Macro supplies -DFACEBOOK at compile time and "if FACEBOOK endif" capabilities.
-
-# Personalized path generator Sets default paths. Provides --with-xx=DIR options.
-# FB_WITH_PATH([<var>_home], [<var>path], [<default location>]
-
-# Example: sets $(thrift_home) variable with default path set to /usr/local.
-FB_WITH_PATH([thrift_home], [thriftpath], [/usr/local])
-
-AX_CXX_COMPILE_STDCXX_11([noext])
-AX_THRIFT_LIB(cpp, [C++], yes)
-have_cpp=no
-if test "$with_cpp" = "yes"; then
- # Require boost 1.40.0 or later
- AX_BOOST_BASE([1.40.0])
- if test "x$succeeded" = "xyes"; then
- have_cpp="yes"
- fi
-fi
-AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"])
-
-AX_THRIFT_LIB(java, [Java], yes)
-if test "$with_java" = "yes"; then
- AX_JAVAC_AND_JAVA
- AC_PATH_PROG([ANT], [ant])
- AX_CHECK_ANT_VERSION($ANT, 1.7)
- AC_SUBST(CLASSPATH)
- AC_SUBST(ANT_FLAGS)
- if test "x$JAVAC" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
- have_java="yes"
- fi
-fi
-AM_CONDITIONAL(WITH_JAVA, [test "$have_java" = "yes"])
-
-AX_THRIFT_LIB(php, [PHP], yes)
-if test "$with_php" = "yes"; then
- AC_PATH_PROG([PHP], [php])
- if test "x$PHP" != "x" && test "x$PHP" != "x:" ; then
- have_php="yes"
- fi
-fi
-AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
-
-AX_THRIFT_LIB(python, [Python], yes)
-if test "$with_python" = "yes"; then
- AM_PATH_PYTHON(2.4,, :)
- if test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then
- have_python="yes"
- fi
-fi
-AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
-
-# Generates Makefile from Makefile.am. Modify when new subdirs are added.
-# Change Makefile.am also to add subdirectly.
-AC_CONFIG_FILES(Makefile cpp/Makefile py/Makefile)
-
-# Check for headers
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([netinet/in.h])
-
-############################################################################
-# DO NOT TOUCH.
-
-AC_SUBST(PRODUCT_MK)
-AC_OUTPUT
-
-#############################################################################
-######### FINISH ############################################################
-
-echo "EXTERNAL_PATH $EXTERNAL_PATH"
-echo
-echo "Building C++ Library ......... : $have_cpp"
-echo "Building Java Library ........ : $have_java"
-echo "Building Python Library ...... : $have_python"
-echo "Building PHP Library ......... : $have_php"
-
-
-#
-# NOTES FOR USER
-# Short cut to create conditional flags.
-#enable_facebook="yes"
-#AM_CONDITIONAL([FACEBOOK], [test "$enable_facebook" = yes])
-#enable_hdfs="yes"
-#AM_CONDITIONAL([HDFS], [test "$enable_hdfs" = yes])
-
-# Enable options with --enable and --disable configurable.
-#AC_MSG_CHECKING([whether to enable FACEBOOK])
-#FACEBOOK=""
-#AC_ARG_ENABLE([facebook],
-# [ --enable-facebook Enable facebook.],
-# [
-# ENABLE_FACEBOOK=$enableval
-# ],
-# [
-# ENABLE_FACEBOOK="no"
-# ]
-#)
-#AM_CONDITIONAL([FACEBOOK], [test "$ENABLE_FACEBOOK" = yes])
-#AC_MSG_RESULT($ENABLE_FACEBOOK)
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.cpp
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.cpp b/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.cpp
deleted file mode 100644
index 3c56975..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#include "FacebookBase.h"
-
-using namespace facebook::fb303;
-using apache::thrift::concurrency::Guard;
-
-FacebookBase::FacebookBase(std::string name) :
- name_(name) {
- aliveSince_ = (int64_t) time(NULL);
-}
-
-inline void FacebookBase::getName(std::string& _return) {
- _return = name_;
-}
-
-void FacebookBase::setOption(const std::string& key, const std::string& value) {
- Guard g(optionsLock_);
- options_[key] = value;
-}
-
-void FacebookBase::getOption(std::string& _return, const std::string& key) {
- Guard g(optionsLock_);
- _return = options_[key];
-}
-
-void FacebookBase::getOptions(std::map<std::string, std::string> & _return) {
- Guard g(optionsLock_);
- _return = options_;
-}
-
-int64_t FacebookBase::incrementCounter(const std::string& key, int64_t amount) {
- counters_.acquireRead();
-
- // if we didn't find the key, we need to write lock the whole map to create it
- ReadWriteCounterMap::iterator it = counters_.find(key);
- if (it == counters_.end()) {
- counters_.release();
- counters_.acquireWrite();
-
- // we need to check again to make sure someone didn't create this key
- // already while we released the lock
- it = counters_.find(key);
- if(it == counters_.end()){
- counters_[key].value = amount;
- counters_.release();
- return amount;
- }
- }
-
- it->second.acquireWrite();
- int64_t count = it->second.value + amount;
- it->second.value = count;
- it->second.release();
- counters_.release();
- return count;
-}
-
-int64_t FacebookBase::setCounter(const std::string& key, int64_t value) {
- counters_.acquireRead();
-
- // if we didn't find the key, we need to write lock the whole map to create it
- ReadWriteCounterMap::iterator it = counters_.find(key);
- if (it == counters_.end()) {
- counters_.release();
- counters_.acquireWrite();
- counters_[key].value = value;
- counters_.release();
- return value;
- }
-
- it->second.acquireWrite();
- it->second.value = value;
- it->second.release();
- counters_.release();
- return value;
-}
-
-void FacebookBase::getCounters(std::map<std::string, int64_t>& _return) {
- // we need to lock the whole thing and actually build the map since we don't
- // want our read/write structure to go over the wire
- counters_.acquireRead();
- for(ReadWriteCounterMap::iterator it = counters_.begin();
- it != counters_.end(); ++it)
- {
- _return[it->first] = it->second.value;
- }
- counters_.release();
-}
-
-int64_t FacebookBase::getCounter(const std::string& key) {
- int64_t rv = 0;
- counters_.acquireRead();
- ReadWriteCounterMap::iterator it = counters_.find(key);
- if (it != counters_.end()) {
- it->second.acquireRead();
- rv = it->second.value;
- it->second.release();
- }
- counters_.release();
- return rv;
-}
-
-inline int64_t FacebookBase::aliveSince() {
- return aliveSince_;
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.h
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.h b/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.h
deleted file mode 100644
index 2159c95..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/cpp/FacebookBase.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef _FACEBOOK_TB303_FACEBOOKBASE_H_
-#define _FACEBOOK_TB303_FACEBOOKBASE_H_ 1
-
-#include "FacebookService.h"
-
-#include <thrift/server/TServer.h>
-#include <thrift/concurrency/Mutex.h>
-
-#include <time.h>
-#include <string>
-#include <map>
-
-namespace facebook { namespace fb303 {
-
-using apache::thrift::concurrency::Mutex;
-using apache::thrift::concurrency::ReadWriteMutex;
-using apache::thrift::server::TServer;
-
-struct ReadWriteInt : ReadWriteMutex {int64_t value;};
-struct ReadWriteCounterMap : ReadWriteMutex,
- std::map<std::string, ReadWriteInt> {};
-
-/**
- * Base Facebook service implementation in C++.
- *
- */
-class FacebookBase : virtual public FacebookServiceIf {
- protected:
- FacebookBase(std::string name);
- virtual ~FacebookBase() {}
-
- public:
- void getName(std::string& _return);
- virtual void getVersion(std::string& _return) { _return = ""; }
-
- virtual fb_status getStatus() = 0;
- virtual void getStatusDetails(std::string& _return) { _return = ""; }
-
- void setOption(const std::string& key, const std::string& value);
- void getOption(std::string& _return, const std::string& key);
- void getOptions(std::map<std::string, std::string> & _return);
-
- int64_t aliveSince();
-
- virtual void reinitialize() {}
-
- virtual void shutdown() {
- if (server_.get() != NULL) {
- server_->stop();
- }
- }
-
- int64_t incrementCounter(const std::string& key, int64_t amount = 1);
- int64_t setCounter(const std::string& key, int64_t value);
-
- void getCounters(std::map<std::string, int64_t>& _return);
- int64_t getCounter(const std::string& key);
-
- /**
- * Set server handle for shutdown method
- */
- void setServer(boost::shared_ptr<TServer> server) {
- server_ = server;
- }
-
- void getCpuProfile(std::string& _return, int32_t durSecs) { _return = ""; }
-
- private:
-
- std::string name_;
- int64_t aliveSince_;
-
- std::map<std::string, std::string> options_;
- Mutex optionsLock_;
-
- ReadWriteCounterMap counters_;
-
- boost::shared_ptr<TServer> server_;
-
-};
-
-}} // facebook::tb303
-
-#endif // _FACEBOOK_TB303_FACEBOOKBASE_H_
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/fb303/cpp/Makefile.am
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/fb303/cpp/Makefile.am b/depends/thirdparty/thrift/contrib/fb303/cpp/Makefile.am
deleted file mode 100644
index 748d329..0000000
--- a/depends/thirdparty/thrift/contrib/fb303/cpp/Makefile.am
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-@GLOBAL_HEADER_MK@
-
-@PRODUCT_MK@
-
-
-# User specified path variables set in configure.ac.
-# thrift_home
-#
-THRIFT = $(thrift_home)/bin/thrift
-
-# User defined conditionals and conditonal statements set up in configure.ac.
-if DEBUG
- DEBUG_CPPFLAGS = -DDEBUG_TIMING
-endif
-
-# Set common flags recognized by automake.
-# DO NOT USE CPPFLAGS, CXXFLAGS, CFLAGS, LDFLAGS here! Set in configure.ac and|or override on command line.
-# USE flags AM_CXXFLAGS, AM_CFLAGS, AM_CPPFLAGS, AM_LDFLAGS, LDADD in this section.
-
-AM_CPPFLAGS = -I..
-AM_CPPFLAGS += -Igen-cpp
-AM_CPPFLAGS += -I$(thrift_home)/include/thrift
-AM_CPPFLAGS += $(BOOST_CPPFLAGS)
-AM_CPPFLAGS += $(FB_CPPFLAGS) $(DEBUG_CPPFLAGS)
-
-# GENERATE BUILD RULES
-# Set Program/library specific flags recognized by automake.
-# Use <progname|libname>_<FLAG> to set prog / lib specific flag s
-# foo_CXXFLAGS foo_CPPFLAGS foo_LDFLAGS foo_LDADD
-
-fb303_lib = gen-cpp/FacebookService.cpp gen-cpp/fb303_constants.cpp gen-cpp/fb303_types.cpp FacebookBase.cpp ServiceTracker.cpp
-
-# Static -- multiple libraries can be defined
-if STATIC
-lib_LIBRARIES = libfb303.a
-libfb303_a_SOURCES = $(fb303_lib)
-INTERNAL_LIBS = libfb303.a
-endif
-
-# Shared -- multiple libraries can be defined
-if SHARED
-shareddir = $(prefix)/lib
-shared_PROGRAMS = libfb303.so
-libfb303_so_SOURCES = $(fb303_lib)
-libfb303_so_CXXFLAGS = $(SHARED_CXXFLAGS)
-libfb303_so_LDFLAGS = $(SHARED_LDFLAGS)
-INTERNAL_LIBS = libfb303.so
-endif
-
-# Set up Thrift specific activity here.
-# We assume that a <name>+types.cpp will always be built from <name>.thrift.
-$(eval $(call thrift_template,.,../if/fb303.thrift,-I $(thrift_home)/share --gen cpp:pure_enums ))
-
-include_fb303dir = $(includedir)/thrift/fb303
-include_fb303_HEADERS = FacebookBase.h ServiceTracker.h gen-cpp/FacebookService.h gen-cpp/fb303_constants.h gen-cpp/fb303_types.h
-
-include_fb303ifdir = $(prefix)/share/fb303/if
-include_fb303if_HEADERS = ../if/fb303.thrift
-
-BUILT_SOURCES = thriftstyle
-
-# Add to pre-existing target clean
-clean-local: clean-common
-
-@GLOBAL_FOOTER_MK@