Skip to content

Commit

Permalink
Add UDS support for nodejs thrift client
Browse files Browse the repository at this point in the history
THRIFT-4490 Allow a default service as fallback for multiplex processors connected by old clients
Client: Delphi
Patch: Jens Geyer

THRIFT-4492 protected ExceptionType type member of TApplicationException cannot be accessed
Client: C#
Patch: Jens Geyer

This closes apache#1493

THRIFT-4352: update artful to use haxe 3.4.4 which fixes a core in haxe

THRIFT-82: Add Common Lisp support
Client: cl

There's framed and buffered socket transport, binary protocol, multiplex, simple
server, cross-tests, self-tests, tutorial, CL library, CL code generator. Only
SBCL is supported for now.

This closes apache#1412

THRIFT-82: follow-up to common lisp to stabilize the linux build environment and update some docs

THRIFT-82: fix cl test server to return the correct SecondService string and enable multi tests

THRIFT-4503: fix dlang server logging on client disconnect so it does not report an error for normal operation

THRIFT-4498: add phpcs back
Client: php

This closes apache#1498

THFIFT-4486: golang: support https from generated clients
golang: don't generate -remote.go clients when there are no functions
golang: support for http headers in -remote clients
golang: serialize cli requests with TJsonProtocol since serialization is not supported with TSimpleJsonProtocol
Client: golang

This closes apache#1488

Add nodejs test cases for unix domain socket

Indicate that nodejs now supports unix domain socket

THRIFT-4436: port nodejs changes from THRIFT-3748 to js lib,
test for serialization of nested list,
run all tests when building js lib
Client: js

This closes apache#1457

THRIFT-4505: Fix python build on Vagrant Windows boxes
Client: py

This closes apache#1499

THRIFT-4506: fix use of assert for correctness in Java SASL negotiation
Client: java

Updated the languages matrix markdown documentation.

Minor tweaks to the language matrix markdown documentation.

THRIFT-4508: Fix node.js to be the desired version in docker ubuntu-artful image

THRIFT-4354: fix php socket blocking behavior
Patch: Robert Lu <robberphex@gmail.com>
Client: php

This closes apache#1384

THRIFT-4508: end trusty CI builds; handle nodejs 4.x LTS EOL; update docs

THRIFT-4508: change windows CI builds to use current MSVC, one cygwin and one mingw build

THRIFT-4480 - Handle seqid = 0
Client: js

This closes apache#1487

move the newly supported socket to the correct programming lnguage

THRIFT-4509: remove nodejs browser test
Client: nodejs

This closes apache#1501

fix wrong document @param in TBase.h
Client: cocoa

This closes apache#1504

THRIFT-4024: Skip() throws TProtocolException.INVALID_DATA on unknown data types
Client: js

This closes apache#1503

THRIFT-4495: Allow `undefined` for non-required Erlang records fields.
Client: erl

As of Erlang 19, the dialyzer static type-analysis tool no longer
implicitly adds `undefined` to the allowed types for a field.  This
means that dialyzer will now complain about any non-required fields
that are not explicitly initialed when creating a new record.

This closes apache#1494

THRIFT-4497: Use `map()` field type for Erlang type for map struct fields.
Client: erl

The Thrift Erlang code generator previously generated fields with the
`#{}` Erlang type for maps fields.  In the Erlang type specification
languages, however, `#{}` specifically means an empty map.  This commit
fixes the code to emit `map()` instead, which means the maps keys and
values may be of any type.

It would be possible to emit a field type such as
`${keytype() => maptype()}`, but this commit does not do that.

This closes apache#1495

THRIFT-4515: fix up nonblocking options and enable ssl for nonblocking in cpp server cross
Client: cpp

THRIFT-4465: Fix C++ TNonblockingServer and THRIFT_EAGAIN issues
Client: cpp

This closes apache#1497

THRIFT-4337: Able to set keyStore and trustStore as InputStream in the
TSSLTransportFactory.TSSLTransportParameters
Client: java

This closes apache#1486

THRIFT-4515: fix windows build
Client: cpp

THRIFT-4448: Golang: do something with context.Context. Remove Go1.6 compatibility.
Client: go

This closes apache#1459

THRIFT-4517: disable ocaml in xenial because it is broken

THRIFT-4337: fix javadoc build error related to changes

THRIFT-4508: remove cygwin64 build in favor of MSVC2013

THRIFT-4509:
* switch from grunt-external-daemon and grunt-shell to grunt-shell-spawn
* update grunt to 1.0.2
* always use local copy of jquery and qunit
* commit the package-lock files for npm keep versions stable
Client: js

This closes apache#1506

THRIFT-4509: add jslint and fix build script output

THRIFT-4429: Make TThreadPoolServer.executorService_ available in
inherited classes and refactor methods to be able customization
Client: java

This closes apache#1485

THRIFT-4513: Fix thrift compiler to generate constants in stable order.

This closes apache#1505

remove uds type; use --domain-socket only

implement createHttpUDSConnection API
  • Loading branch information
danielhtshih authored and Daniel Shih committed Mar 20, 2018
1 parent 0064516 commit 041f91d
Show file tree
Hide file tree
Showing 212 changed files with 7,884 additions and 2,335 deletions.
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ node_modules
compile
test-driver
erl_crash.dump
package-lock.json
project.lock.json

.sonar
Expand Down Expand Up @@ -101,6 +100,9 @@ project.lock.json
/contrib/fb303/py/fb303/ttypes.py
/depcomp
/install-sh
/lib/cl/backport-update.zip
/lib/cl/lib
/lib/cl/run-tests
/lib/cpp/Debug/
/lib/cpp/Debug-mt/
/lib/cpp/Release/
Expand Down Expand Up @@ -227,14 +229,14 @@ project.lock.json
/lib/erl/test/*.hrl
/lib/erl/test/Thrift_omit_without.thrift
/lib/haxe/test/bin
/lib/haxe/test/data.tmp
/lib/hs/dist
/lib/java/.gradle
/lib/java/android/.gradle
/lib/java/build
/lib/java/target
/lib/js/dist
/lib/js/doc
/lib/js/package-lock.json
/lib/js/test/build
/lib/netcore/**/.vs
/lib/netcore/**/bin
Expand Down Expand Up @@ -306,6 +308,8 @@ project.lock.json
/test/results.json
/test/c_glib/test_client
/test/c_glib/test_server
/test/cl/TestServer
/test/cl/TestClient
/test/cpp/StressTest
/test/cpp/StressTestNonBlocking
/test/cpp/TestClient
Expand Down Expand Up @@ -347,6 +351,8 @@ project.lock.json
/test/rs/target/
/test/rs/*.iml
/test/rs/**/*.iml
/tutorial/cl/TutorialClient
/tutorial/cl/TutorialServer
/tutorial/cpp/TutorialClient
/tutorial/cpp/TutorialServer
/tutorial/c_glib/tutorial_client
Expand Down Expand Up @@ -394,3 +400,7 @@ project.lock.json
/tutorial/rs/target
/tutorial/rs/Cargo.lock
/ylwrap
/lib/cl/quicklisp.lisp
/lib/cl/externals/
/lib/cl/run-tests
/lib/cl/quicklisp/
47 changes: 13 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,15 @@ install:
- if [[ `uname` == "Linux" ]]; then build/docker/refresh.sh; fi

stages:
# - osx # up front for now (for testing)
- docker # docker images
- thrift # thrift build jobs

env:
global:
- SCRIPT="cmake.sh"
- BUILD_ARG=""
- BUILD_ENV="-e CC=clang -e CXX=clang++"
- DISTRO=ubuntu-xenial
- BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
- DISTRO=ubuntu-artful
- BUILD_LIBS="CPP C_GLIB HASKELL JAVA PYTHON TESTING TUTORIALS" # only meaningful for CMake builds
- TRAVIS_BUILD_STAGE=test
# DOCKER_REPO (this works for all builds as a source for docker images - you can override for fork builds in your Travis settings)
Expand All @@ -54,20 +53,9 @@ env:

jobs:
include:
# ------------------------- phase: osx --------------------------
# - stage: osx
# os: osx
# osx_image: xcode9
# script: build/docker/scripts/autotools.sh

# ========================= stage: docker =========================
- stage: docker
script: true
env:
- JOB="Docker Build ubuntu-trusty 14.04"
- DISTRO=ubuntu-trusty
- TRAVIS_BUILD_STAGE=docker
- script: true
env:
- JOB="Docker Build ubuntu-xenial 16.04"
- DISTRO=ubuntu-xenial
Expand All @@ -87,8 +75,6 @@ jobs:
env:
- JOB="Cross Language Tests"
- SCRIPT="cross-test.sh"
- BUILD_ARG=""
- BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"

# fork based PR builds cannot exceed 50 minutes per job
- stage: thrift
Expand All @@ -98,7 +84,6 @@ jobs:
- JOB="Cross Language Tests (Binary Protocol)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(binary)'"
- BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"

- stage: thrift
script: build/docker/run.sh
Expand All @@ -107,7 +92,6 @@ jobs:
- JOB="Cross Language Tests (Header, JSON Protocols)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(header|json)'"
- BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"

- stage: thrift
script: build/docker/run.sh
Expand All @@ -116,7 +100,6 @@ jobs:
- JOB="Cross Language Tests (Compact and Multiplexed Protocols)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(compact|multiplexed)'"
- BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"

# ------------------------- phase: sca --------------------------
# QA jobs for code analytics and metrics
Expand All @@ -125,7 +108,6 @@ jobs:
env:
- JOB="Static Code Analysis"
- SCRIPT="sca.sh"
- DISTRO=ubuntu-artful

# C and C++ undefined behavior.
# A binary crashes if undefined behavior occurs and produces a stack trace.
Expand All @@ -134,13 +116,12 @@ jobs:
env:
- JOB="UBSan"
- SCRIPT="ubsan.sh"
- DISTRO=ubuntu-artful
- BUILD_ARG="--without-python --without-py3"

# ------------------------- phase: cmake ------------------------
- script: build/docker/run.sh
env:
- JOB="CMake (Ubuntu Xenial)"
- JOB="CMake"

# C++ specific options: compiler plug-in, threading model
- script: build/docker/run.sh
Expand All @@ -149,7 +130,7 @@ jobs:
- SCRIPT="cmake.sh"
- BUILD_LIBS="CPP TESTING TUTORIALS"
- BUILD_ARG="-DCMAKE_CXX_STANDARD=98 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF --DWITH_BOOSTTHREADS=ON -DWITH_PYTHON=OFF -DWITH_C_GLIB=OFF -DWITH_JAVA=OFF -DWITH_HASKELL=OFF"
- BUILD_ENV=""
- BUILD_ENV="-e CC=clang -e CXX=clang++"

- script: build/docker/run.sh
env:
Expand All @@ -166,31 +147,29 @@ jobs:
- JOB="Autotools (Ubuntu Artful)"
- DISTRO=ubuntu-artful
- SCRIPT="autotools.sh"
- BUILD_ENV="-e CC=gcc -e CXX=g++"

- script: build/docker/run.sh
env:
- JOB="Autotools (Ubuntu Xenial)"
- DISTRO=ubuntu-xenial
- SCRIPT="autotools.sh"
- BUILD_ENV="-e CC=gcc -e CXX=g++"

- script: build/docker/run.sh
env:
- JOB="Autotools (Ubuntu Trusty)"
- DISTRO=ubuntu-trusty
- SCRIPT="autotools.sh"
- BUILD_ENV="-e CC=gcc -e CXX=g++"

# ------------------------- phase: dist -------------------------
- script: build/docker/run.sh
env:
- JOB="make dist"
- DISTRO=ubuntu-xenial
- SCRIPT="make-dist.sh"
- BUILD_ENV="-e CC=gcc -e CXX=g++"

- script: build/docker/run.sh
env:
- JOB="Debian Packages"
- DISTRO=ubuntu-xenial
- SCRIPT="dpkg.sh"
- BUILD_ENV="-e CC=gcc -e CXX=g++"

### ------------------------- phase: osx -------------------------
# disabled due to the time delays it imposes on build jobs
# - os: osx
# osx_image: xcode9
# script: build/docker/scripts/autotools.sh

Loading

0 comments on commit 041f91d

Please sign in to comment.