Commit Graph

3672 Commits

Author SHA1 Message Date
Gaurav Singh
77c4afae16 (no ticket) Propagate exception instead of rethrowing
Client: cpp
Patch: Gaurav Singh

This closes #1999
2020-02-06 23:06:07 +01:00
Paulo Neves
f049ff374d THRIFT-5083 Reset context on new messages.
Client: netstd
Patch: Paulo Neves

This closes #
2020-02-05 21:40:16 +01:00
Kengo Seki
cb4c31a072 THRIFT-5050 Fix MemoryBuffer.pm to raise a proper exception if no data is available
Client: perl
Patch: Kengo Seki

This closes #1967
2020-01-28 23:27:48 +01:00
Nick Collier
e56f717b7f THRIFT-5078 Handle named pipe clients quickly disconnecting
Client: C++
Patch: Nick Collier

This closes #1964
2020-01-28 23:20:40 +01:00
Sam De Roeck
436bce3321 (no ticket) Gracefully terminate the connection handling loop when encountering EOF on the transport layer
Client: Rust
Patch: Sam De Roeck

This closes #1928
2020-01-28 22:47:55 +01:00
Cameron Rollheiser
3a2a44bb51 Remove non-required JS dependencies
These dependencies are not needed at runtime.

Client: js
2020-01-21 17:02:22 +00:00
JackBoosY
829b7d330d Add vcpkg installation instructions
Patch: JackBoosY, edited by JensG

This closes #1986
2020-01-19 23:00:32 +01:00
Kengo Seki
c97e6aa860 THRIFT-5060: Add cross tests for TZlibTransport in Java
Client: Java
Patch: Kengo Seki

This closes #1978
2020-01-19 22:26:09 +01:00
Yuxuan 'fishy' Wang
397645ac24 THRIFT-5069: Make TDeserializer resource pool friendly
Client: go

This change improves performance when using TDeserializer with a
resource pool. See https://issues.apache.org/jira/browse/THRIFT-5069 for
more context.

Also add TSerializerPool and TDeserializerPool, which are thread-safe
versions of TSerializer and TDeserializer. Benchmark result shows that
they are both faster and use less memory than the plain version:

    $ go test -bench Serializer -benchmem
    goos: darwin
    goarch: amd64
    BenchmarkSerializer/baseline-8            577558              1930 ns/op             512 B/op          6 allocs/op
    BenchmarkSerializer/plain-8               452712              2638 ns/op            2976 B/op         16 allocs/op
    BenchmarkSerializer/pool-8                591698              2032 ns/op             512 B/op          6 allocs/op
    PASS
2020-01-18 20:55:51 +00:00
D. Can Celasun
70c4e7a7c7
Use HTTPS for repo1.maven.org
Upstream no longer supports plain HTTP as of today [1].

[1] https://support.sonatype.com/hc/en-us/articles/360041287334
2020-01-15 21:13:50 +00:00
Kengo Seki
45a94594ff THRIFT-5061: Pin Ruby's rack version to 2.0.8
Client: ruby
Patch: Kengo Seki

This closes #1980
2020-01-11 12:57:53 +01:00
Eugen
30ac2598e8 THRIFT-5003: Websocket Connection in Browsers with nodejs code
* changed this to self in forEach callback

* updated minimum node version to 8.16.2 (Maintenance LTS until December 2019)
changed ws_connection.js to work in the browser, with isomorphic-ws
added exports for `wsConnection`, `createWSConnection`, `createWSClient`

* added exports for WSConnection to browser.js

* extended the sample of nodejs code in the browser with webpack

* tested and updated node version to LTS 10.18.0 Dubnium
discussion based: https://github.com/apache/thrift/pull/1927#discussion_r358140463
2020-01-07 14:28:45 +00:00
Allen George
6e443789e9
Merge pull request #1919 from mpajkowski/to_socket_addrs
THRIFT-4995 Use `ToSocketAddrs` for expressing network addresses
2019-12-14 09:52:36 -05:00
Duru Can Celasun
b374ce3555
THRIFT-5046: Better struct tag overrides
Custom go.tag in an IDL no longer removes the existing "db" and "json"
tags but can override them.

This allows us to change default tags in the future without affecting
user defined ones.

Client: go

This closes #1963.
2019-12-13 13:10:23 +00:00
Kevin Wojniak
0ebf3ce99d Fix uint64_t to size_t conversion warning
Fixes an MSVC warning with an explicit cast.

Client: cpp
2019-12-12 23:42:00 +00:00
Duru Can Celasun
dfae5d7f4a
THRIFT-4252: Close sockets when shut down server (#1905)
* THRIFT-4252: Close sockets when shut down server

In TThreadPoolServer, threads are blocking in io with open sockets,
as long as clients don't close the connection, server threads are
never stopped even after a shutdown is called on server (because
they are blocked waiting for io).
To be able to stop all server threads properly, server should
proactively close sockets once a shutdown is initiated.

* Fix indentation

Use white space for indentation instead of tabulation.
2019-12-12 23:34:48 +00:00
Jens Geyer
6e2a6983ec THRIFT-5048 EnumUtils<T>.ToString() throws for elements not known to the receiving end [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-12-13 00:33:46 +01:00
Anton Golub
cf95fef9b8 THRIFT-5029: Fix Node.js lib entry point
Client: js
2019-12-12 22:30:07 +00:00
Elvis Pranskevichus
9c43962da8 Revert "Revert "THRIFT-4002: Make generated exception classes immutable by default""
This reverts commit 1234ddf8a5.
2019-12-12 13:50:42 +00:00
Elvis Pranskevichus
9320f891d7 Revert "Revert "Remove unnecessary TException.message hack""
This reverts commit 3d9f50d617.
2019-12-12 13:50:42 +00:00
Qinghui Xu
6e023df1de THRIFT-4889 Nonblocking server with sasl support
Client: Java
Patch: Qinghui Xu

This closes #1892
2019-12-10 23:57:35 +01:00
Qinghui Xu
3a0e1fd356 THRIFT-5008: Improve TSaslTransport logging
Client: Java
Patch: Qinghui Xu

This closes #1931
2019-12-10 23:25:15 +01:00
D. Can Celasun
3d9f50d617
Revert "Remove unnecessary TException.message hack"
This reverts commit 45a9827f0f.
2019-12-10 22:13:19 +00:00
D. Can Celasun
1234ddf8a5
Revert "THRIFT-4002: Make generated exception classes immutable by default"
This reverts commit b40f5c227f.
2019-12-10 22:13:06 +00:00
Elvis Pranskevichus
b40f5c227f
THRIFT-4002: Make generated exception classes immutable by default
Currently, the generated exception classes are not hashable under
Python 3 because of the generated `__eq__` method.  Exception objects
are generally expected to be hashable by the Python standard library.
Post-construction mutation of an exception object seems like a very
unlikely case, so enable hashing for all exceptions by making them
immutable by default.  This also adds a way to opt-out of immutability
by setting the `python.immutable` annotation to `"false"`.
2019-12-10 20:44:24 +00:00
Elvis Pranskevichus
45a9827f0f
Remove unnecessary TException.message hack
Thrift attempts to work-around the Python 2.7 DeprecationWarning
around `BaseException.message` by using a property.  This hack is
unnecessary since `message` is _also_ written as a regular attribute in
the `TException` constructor (and would be in any of its children),
hence the `BaseException_get_message()` wouldn't even be called.

This hack also stands in the way of making exception instances
immutable (which is a prerequisute to fixing THRIFT-4002).
2019-12-10 20:44:22 +00:00
Jens Geyer
ffb97e105c THRIFT-4990 Upgrade to .NET Core 3.1 (LTS)
Client: netstd
Patch: Jens Geyer

This closes #1961
2019-12-07 08:47:32 +01:00
Jens Geyer
e780855d33 THRIFT-5044 Improve serialization support for TApplicationExceptions and custom exceptions
Client: Delphi
Patch: Jens Geyer

This closes #1960
2019-12-05 09:03:10 +01:00
Julian Tescher
9c6c6bf81a THRIFT-5043 Make TBufferChannel clonable
Client: Rust
Patch: Julian Tescher

This closes #1956

It is useful for `TBufferChannel` to be `Clone` so that you can use it to read bytes that were written by a client for use cases like testing or sending over alternative transports like UDP.
2019-12-02 21:03:35 +01:00
Marcin Pajkowski
b34680f01a THRIFT-4915 Fix encoding/decoding doubles in TCompactProtocol
Client: Rust
Patch: Marcin Pajkowski

This closes #1957
2019-12-02 20:51:14 +01:00
Marcin Pajkowski
c63084193a THRIFT-5042 Fix failing tests
Client: Rust
Patch: Marcin Pajkowski

This closes #1958
2019-12-02 19:29:38 +01:00
Marcin Pajkowski
98ce2c8f2b THRIFT-4995 Use ToSocketAddrs for net addresses 2019-11-29 10:27:26 +01:00
Jens Geyer
a019cda66c THRIFT-5012 Centralize configuration aspects into a commonly used configuration object [ci skip]
Client: Delphi
Patch: Jens Geyer

This closes #1955
2019-11-28 00:52:47 +01:00
Jens Geyer
c140bb90b0 THRIFT-5036 buffered transport over sockets may run into unexpected timeouts [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-11-27 22:24:12 +01:00
wineandcheeze
bf2cad9cfa THRIFT-5031: Fix TIOStreamTransport javadoc
Clarify input/output only transport.

Client: java

This closes #1948.
2019-11-25 21:40:52 +00:00
Andy Seaborne
622937162a THRIFT-5022: Fix TIOStreamTransport.isOpen for input or output only use
Client: java

This closes #1942.
2019-11-25 09:58:52 +00:00
Jens Geyer
5080645cb0 THRIFT-5027 Implement remaining read bytes checks
Client: netstd
Patch: Jens Geyer

This closes #1946
2019-11-23 22:40:53 +01:00
zembord
9d958a3caf THRIFT-5010 BinaryPrimitives.Read/WriteInt32BigEndian should be used to convert to/from network byte order
Client: netstd
Patch: Edward Zhuravlov

This closes #1944
2019-11-23 22:24:52 +01:00
Jens Geyer
eacd1d48c8 THRIFT-5021 Implement MAX_MESSAGE_SIZE and centralize limits into a TConfiguration class
Client: netstd
Patch: Jens Geyer

This closes #1943
2019-11-23 01:15:45 +01:00
Grégoire Seux
8ae80a7f84 THRIFT-4999: Raise proper exception on transport error
Client: ruby
Patch: Grégoire Seux

This closes #1924

Before this patch, any error on the http layer was ignored and usually
seen by the user as ProtocolException instead of TransportException
2019-11-21 22:43:21 +01:00
Jens Geyer
261cad3417 THRIFT-5020 Refactoring & minor fixes for netstd library
Client: netstd
Patch: Jens Geyer

This closes #1941
2019-11-21 22:26:09 +01:00
Duru Can Celasun
f4475ff76f
THRIFT-5019: Duplicate imports from multiple includes from a namespace
If a thrift file includes two files from the same namespace into a
separate file, the generated Go code has duplicate imports for that
namespace. This fixes that.

Client: go
2019-11-20 15:31:35 +00:00
Jens Geyer
225646b554 THRIFT-4862 C++ TBinaryProtocol crashes on port scan
Client: cpp
Patch: Michael Patrick

This closes #1939
2019-11-20 03:04:00 +01:00
Jens Geyer
528a0f0731 THRIFT-5015 WinHTTP QueryDataAvailable cannot be used to retrieve total response size
Client: Delphi
Patch: Jens Geyer
2019-11-18 20:17:03 +01:00
Jens Geyer
41f47aff7c THRIFT-5007 Implement MAX_MESSAGE_SIZE and remaining read bytes control
Client: Delphi
Patch: Jens Geyer

This closes #1932
2019-11-15 23:27:20 +01:00
Jens Geyer
ed99455e2e THRIFT-5009 Serializer implemtation lacks support for layered transports
Client: Delphi
Patch: Jens Geyer
2019-11-14 22:17:39 +01:00
Jens Geyer
2646bd65b5 THRIFT-5006 Implement DEFAULT_MAX_LENGTH at TFramedTransport
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:58 +01:00
Jens Geyer
fad7fd3e5a THRIFT-5005 Refactoring of the Delphi libs [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:58 +01:00
Jens Geyer
9f11c1e545 THRIFT-5004 Make exception implementations more consistent [ci skip]
Client: Delphi
Patch: Jens Geyer
2019-11-13 09:34:57 +01:00
Yuxuan 'fishy' Wang
24fa9d0728 THRIFT-4914: Add GetResponseHeadersFromClient helper function
This is the fourth and final part of THRIFT-4914, which handles the
client reading part in the response (server -> client direction).

Client: go

This closes #1926.
2019-11-09 22:21:09 +00:00