summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fixed double newline at end of generated python service files (#2236)Jonathan Mackenzie2020-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | Generated python files have a blank line at the end of files, except for service files where there are two blank lines, this change makes these service files consistent. This change is trivial and thus does not require a ticket.
* | | fix CI: add Erlang crashes to known failuresJens Geyer2020-09-121-323/+335
| | |
* | | THRIFT-5217 Deprecated boost headerzeshuai0072020-09-1211-11/+11
| | | | | | | | | | | | | | | | | | | | | Client: cpp Patch: Zezeng Wang This closes #2158
* | | THRIFT-5260 Fix the thrift compiler generate problematic lua code for the ↵longzhiri2020-09-124-26/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oneway method Client: lua Patch: longzhiri <persistentsnail@gmail.com> This closes #2212 The oneway method's processor has no need to write the result to client, but it is necessary to return values of each handler's return.
* | | Deprecated WinXP and Server2003 methodsMario Emmenlauer2020-09-124-70/+5
| |/ |/| | | | | | | | | | | Client: cpp Patch: Mario Emmenlauer This closes #2165
* | THRIFT-5158 Update Rust generator and Rust lib,test,tutorial to only support ↵Allen George2020-09-0235-353/+355
| | | | | | | | | | | | | | | | | | 2018 edition Client: rs Patch: Allen George This closes #2078
* | THRIFT-5136: Fix memory leak in thrift_multiplexed_processor_process_impl()wangyunjian2020-09-022-7/+3
| | | | | | | | | | | | | | | | | | Client: c_glib Patch: wangyunjian <wangyunjian@huawei.com> This closes #2052 Signed-off-by: wangyunjian <wangyunjian@huawei.com>
* | THRIFT-5255: Fix stack overflow in framed transportwangyunjian2020-09-021-3/+4
| | | | | | | | | | | | | | | | | | Client: c_glib Patch: wangyunjian <wangyunjian@huawei.com> This closes #2206 Signed-off-by: wangyunjian <wangyunjian@huawei.com>
* | THRIFT-5259 Fix "Transport endpoint is not connected " error when running ↵Zero2020-08-311-6/+0
| | | | | | | | | | | | | | | | | | lua test server accepts a connection Client: lua Patch: Zero <longzhiri@gmail.com> This closes #2211
* | THRIFT-5262 Fix a encoding struct bug in the compact protocol implementation ↵longzhiri2020-08-311-1/+1
| | | | | | | | | | | | | | | | | | to lua Client: lua Patch: longzhiri <persistentsnail@gmail.com> This closes #2214
* | Fix appveryor checkzeshuai0072020-08-311-1/+1
| | | | | | | | | | | | Patch: Zezeng Wang This closes #2220
* | THRIFT-5268 Fix some file loss ")" in definezeshuai0072020-08-313-3/+3
| | | | | | | | | | | | | | Client: c_glib Patch: Zezeng Wang This closes #2218
* | THRIFT-5270: Fix wrong int to string conversionsYuxuan 'fishy' Wang2020-08-295-84/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Client: go Starting from go 1.15, go test starts to complain about wrongly used int to string conversions: ./field.go:58:83: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ./numeric.go:72:12: conversion from int64 to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ./json_protocol_test.go:612:92: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) ./simple_json_protocol_test.go:685:96: conversion from int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) json_protocol_test and simple_json_protocol_test usages are actually already in format arg so just remove the conversion is good enough. field is no longer used anywhere so just removed it (there's one line of commented out code in compact_protocol so remove that line as well). The one in numeric.go is actually a bug. We didn't set sValue correctly in NewNumericFromI64 and NewNumericFromI32 functions.
* | THRIFT-5132 Warning in TSocket when using ssl connectionpanivko2020-08-251-2/+3
|/ | | | | | | Client: PHP Patch: Vladimir Panivko This closes #2160
* THRIFT-5237 Implement MAX_MESSAGE_SIZE and consolidate limits into a ↵zeshuai0072020-08-0727-40/+2607
| | | | | | | | | TConfiguration class Client: c_glib Patch: Zezeng Wang This closes #2208
* THRIFT-5248: Python: Make TSocket.isOpen check if server still connectedNeil Williams2020-08-063-1/+83
| | | | | | | | | | | | | Client: py This is inspired by changes to the Go library (THRIFT-5214) and, by proxy, this blog post[1]. The idea is that if the other end of the socket has closed their end of the connection, we can figure that out by doing a non-blocking read on our socket before we waste time serializing and sending a message just to find out the socket is closed when we try to read the response. [1]: https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/
* THRIFT-5261 Support for deprecated methods (via annotation)Jens Geyer2020-08-056-14/+76
| | | | | | | Client: Delphi Patch: Jens Geyer This closes #2213
* THRIFT-5214: Use peek to implement socket connectivity checkYuxuan 'fishy' Wang2020-08-033-27/+8
| | | | | | | | | Client: go In previous implementation of socket connectivity check, we try to read 1 byte and put it into buffer when succeeded. The buffer complicates the implementation of Read function. Change to use syscall.Recvfrom with MSG_PEEK flag instead so that the buffer is no longer needed.
* THRIFT-5257: Fix Go THeaderTransport endOfFrame handlingYuxuan 'fishy' Wang2020-07-292-2/+77
| | | | | | | | | | | Client: go In the current implementation, we only call endOfFrame when we hit EOF when reading from the frameReader. The problem is in go stdlib the Read call finished reading the remaining data from frameReader will not return EOF, the next Read will. This caused us in most cases only call endOfFrame at the beginning of the next frame, which could cause troubles because we didn't read the beginning of the frame properly.
* THRIFT-5237 Implement MAX_MESSAGE_SIZE and consolidate limits into a ↵zeshuai0072020-07-2546-151/+1004
| | | | | | | | | TConfiguration class Client: cpp Patch: Zezeng Wang This closes #2185
* THRIFT-5254 Member name cannot be Isset (unless it is an "required" member)Jens Geyer2020-07-163-17/+24
| | | | | | | Client: netstd Patch: Jens Geyer This closes #2203
* THRIFT-5253 using Result in result name generates wrong IAsync interfaceJens Geyer2020-07-164-9/+124
| | | | | | | Client: netstd Patch: Jens Geyer This closes #2202
* THRIFT-5252 Make CreateHttpClientHandler() method virtualJens Geyer2020-07-141-1/+1
| | | | | | | Client: netstd Patch: Jens Geyer This closes #2201
* THRIFT-5251 StringUtils<T>.ToString() raises an exception for enum values ↵Jens Geyer2020-07-134-47/+209
| | | | | | | outside range Client: Delphi Patch: Jens Geyer
* THRIFT-5247 Avoiding meaningless System.copyzeshuai0072020-07-071-3/+4
| | | | | | | Client: java Patch: Zezeng Wang This closes #2196
* Fix FrameWriter.java typodugenkui2020-07-031-1/+1
| | | | | | | Client: java Patch: dugenkui <dugenkui@meituan.com> This closes #2193
* THRIFT-5118: Fix memory leak when the handler method return a exceptionwangyunjian2020-07-011-0/+1
| | | | | | | | | Client: c_glib Patch: wangyunjian This closes #2035 Signed-off-by: wangyunjian <wangyunjian@huawei.com>
* THRIFT-5329: Add THttpTransport constructor with HttpClientResDiaryLewis2020-07-011-12/+61
| | | | | | | Client: netstd Patch: Lewis Jackson This closes #2188
* THRIFT-5240: Do connectivity check in Go serverYuxuan 'fishy' Wang2020-07-014-4/+118
| | | | | | | | | | | | Client: go In compiler generated TProcessorFunction implementations, add a goroutine after read the request to do connectivity check on the input transport. If the transport is no longer open, cancel the context object passed into the handler implementation. Also define ErrAbandonRequest error, to help TSimpleServer closing client connections that's already closed on the other end.
* THRIFT-5152: Separate timeout in TSSLSocketYuxuan 'fishy' Wang2020-06-303-19/+43
| | | | | | | | | | | | | | | | | | Client: go We separated timeout in go's TSocket into connect timeout and socket timeout in 81334cd, this change does the same for TSSLSocket to keep them consistent. Also rename the arg in NewTSocketFromConnTimeout from connTimeout to socketTimeout, because in that function we already have a connection, so connect timeout is never used again. The timeout passed into that function is really for socket timeout, not connect timeout. The name of that function actually means "New TSocket From Conn (with) Timeout", not "New TSocket From ConnTimeout" (I guess that's where the original confusion came from). Also add the missing change note for the breaking change.
* THRIFT-5190: StringUtils haven't take `(offset + length) > bytes.length` ↵dugenkui2020-06-282-0/+28
| | | | | | | | | into account Client: java Patch: dugenkui <dugenkui@meituan.com> This closes #2125
* THRIFT-5144: Fix memory leak when generate deserialize list elementwangyunjian2020-06-271-0/+1
| | | | | | | | | Client: c_glib Patch: wangyunjian This closes #2064 Signed-off-by: wangyunjian <wangyunjian@huawei.com>
* Fix README.md typoSalah Ghanim2020-06-251-1/+1
| | | | | | Patch: Salah Ghanim This closes #2186
* THRIFT-5238 GetHashCode can throw NullReferenceExceptionJens Geyer2020-06-253-72/+158
| | | | | | | Client: netstd Patch: Jens Geyer This closes #2187
* THRIFT-2087 Python compiler replace non utf-8 char with defaultEmmanuel Brard2020-06-221-1/+1
| | | | | | | Client: py Patch: Emmanuel Brard This closes #2184
* THRIFT-5233: Handle I/O timeouts in go library (#2181)Duru Can Celasun2020-06-1828-1256/+1342
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Client: go As discussed in the JIRA ticket, this commit changes how we handle I/O timeouts in the go library. This is a breaking change that adds context to all Read*, Write*, and Skip functions to TProtocol, along with the compiler change to support that, and also adds context to TStandardClient.Recv, TDeserializer, TStruct, and a few others. Along with the function signature changes, this commit also implements context cancellation check in the following TProtocol's ReadMessageBegin implementations: - TBinaryProtocol - TCompactProtocol - THeaderProtocol In those ReadMessageBegin implementations, if the passed in context object has a deadline attached, it will keep retrying the I/O timeout errors, until the deadline on the context object passed. They won't retry I/O timeout errors if the passed in context does not have a deadline attached (still return on the first error).
| * THRIFT-5233: Handle I/O timeouts in go libraryYuxuan 'fishy' Wang2020-06-1528-1256/+1342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Client: go As discussed in the JIRA ticket, this commit changes how we handle I/O timeouts in the go library. This is a breaking change that adds context to all Read*, Write*, and Skip functions to TProtocol, along with the compiler change to support that, and also adds context to TStandardClient.Recv, TDeserializer, TStruct, and a few others. Along with the function signature changes, this commit also implements context cancellation check in the following TProtocol's ReadMessageBegin implementations: - TBinaryProtocol - TCompactProtocol - THeaderProtocol In those ReadMessageBegin implementations, if the passed in context object has a deadline attached, it will keep retrying the I/O timeout errors, until the deadline on the context object passed. They won't retry I/O timeout errors if the passed in context does not have a deadline attached (still return on the first error).
* | THRIFT-5221: Fix stack overflow when reading bufferwangyunjian2020-06-181-2/+5
| | | | | | | | | | | | | | | | | | Client: c_glib Patch: wangyunjian This closes #2161 Signed-off-by: wangyunjian <wangyunjian@huawei.com>
* | THRIFT-5235 Add property setter for isset flagsJens Geyer2020-06-181-8/+19
| | | | | | | | | | Client: delphi Patch: Jens Geyer
* | THRIFT-5234 Fix a number of js/ts generation issuesPhil Price2020-06-181-16/+59
| | | | | | | | | | Client: js/ts Patch: Phil Price
* | THRIFT-5229 Deprecate as3 supportJens Geyer2020-06-162-8/+7
| | | | | | | | | | | | | | Client: as3 Patch: Jens Geyer This closes #2182
* | Thrift.csproj: Stop writing AssemblyAttributes.cs to /tmpMarco Schroeter2020-06-151-0/+5
| | | | | | | | | | | | | | Client: netstd Patch: Marco Schroeter This closes #2167
* | THRIFT-5225: Use nullptr instead of NULLzeshuai0072020-06-1473-511/+511
|/ | | | | | Patch: Zezeng Wang This closes #2168
* THRIFT-5082 Add a Class reference for PHP enum $_TSPECStanislav Markevic2020-06-091-2/+2
| | | | | | | Client: php Patch: Stanislav Markevic This closes #2000
* THRIFT-5186: Rewrite address resolution in T{Nonblocking,}ServerSocketmax ulidtko2020-06-097-266/+452
| | | | | | | Client: cpp Patch: Max Ulidtko This closes #2151
* THRIFT-5214: Reset read deadline in socketConnYuxuan 'fishy' Wang2020-06-094-25/+23
| | | | | | | | | | | | | | | | | | | | Client: go This is a slightly different, and less error-prone approach from the fix in e382275b. The previous approach relies on passing the set socket timeout into the underlying socketConn from TSocket and TSSLSocket. But since we have so many different constructors for TSocket and TSSLSocket, some makes the initial connection in the constructor and some does not, there are so many different places we would need to remember to pass socketTimeout into socketConn. In the future, when we add another constructor to them, we could either forget to pass the socket timeout into socketConn, or try to pass it while we haven't constructed socketConn yet (which will cause panic), both are bad. In this approach we just clear the read deadline in the connectivity check read. Because that's a non-blocking read, it would work just fine without a read deadline.
* THRIFT-5214: Push read deadline in socketConnYuxuan 'fishy' Wang2020-06-084-7/+31
| | | | | | | | | Client: go We added socketConn to go library for connectivity check in https://github.com/apache/thrift/pull/2153, but forgot to push read deadline on the socket when doing the connectivity checks. This caused the issue of large number of connectivity checks to fail with I/O timeout errors.
* THRIFT-5214: Partial rewrite of TFramedTransportYuxuan 'fishy' Wang2020-06-081-64/+44
| | | | | | | | | | | | | | | | | | | Client: go While debugging the issue in THRIFT-5214, I original thought that was a bug in TFramedTransport implementation, so I took some time scrutinize the TFramedTransport code. Although in the end there's no bug, the current implementation of TFramedTransport, especially in the Read function, has some weird handling while at frame boundary, which is both error-prone and hard to follow (I did found and fixed one bug there in https://github.com/apache/thrift/pull/1810 before). The new implementation reads the whole frame into a buffer, which would use slightly more memory, but it follows the pattern of TFramedTransport implementation of other languages (e.g. Java), and also the pattern we handle frame in THeaderTransport. It also reduced the complexity and weirdness of the frame boundary handling in Read implementation. This rewrite also removes the print call from library code.
* Use io.CopyN to simplify THeaderTransport codeYuxuan 'fishy' Wang2020-06-081-5/+2
| | | | | | | | | | | | Client: go In THeaderTransport implementation, use io.CopyN instead of io.Copy+io.LimitReader. Underlying io.CopyN is actually implemented with io.Copy+io.LimitReader [0], but it also does some extra checks we can take advantage of. It also simplifies the code in thrift repo. [0]: https://github.com/golang/go/blob/83b181c68bf332ac7948f145f33d128377a09c42/src/io/io.go#L340
* THRIFT-5200 Thrift compiler will generate incorrect code when add ↵zeshuai0072020-06-041-3/+38
| | | | | | | | | 'cob_style' option Client: cpp Patch: Zezeng Wang This closes #2144