Esun Kim
4c6a6b5a52
Clean up transport tests
4 years ago
Yash Tibrewal
2c5291ff71
Plumb absl::Status through connectivity state notifiers
4 years ago
Mark D. Roth
9404f66f70
Replace most uses of gpr_asprintf() with absl calls.
4 years ago
Yash Tibrewal
f8b7fef753
Fix connect deadline issue in settings_timeout_test
4 years ago
Yash Tibrewal
234d64859f
Add some additional comments
5 years ago
Yash Tibrewal
722f1e937a
Reviewer comments
5 years ago
Yash Tibrewal
f41694ad64
Add the missing reset for ping clocks to avoid mistakenly sending GOAWAY
...
frames due to 'too_many_pings'
5 years ago
Yash Tibrewal
376d8689d2
Fix #19094 and #21947 - Fix HTTP status conversion inconsistencies
5 years ago
Brian O'Connor
d38f7cfe5e
Fixing bug with END_STREAM if header has continuations
...
- The HEADER frame should get the END_STREAM flag per the HTTP/2 spec;
the old code put END_STREAM on the last CONTINUATION frame.
- Removing deprecated parameter, is_last_in_stream, from finish_frame();
it has been superseded by the is_end_of_stream member of the framer_state
struct.
- Adding some gRPC frame validation tests to hpack_encoder_test.cc,
and explicting checking that the END_STREAM flag is not on the
CONTINUATION frame.
fixes #21436
5 years ago
Donna Dionne
46439bcb0f
Fixing the settings_timeout_test flake by reducing pollset_work deadline
...
Intermittently (when we run the test 100 times) we see that at times
we are not notified about successful socket connection even within 1
second.
The pollset_work deadline is set to 1 second, so when our connection
timeout is also set to 1 second, we only had 1 poll. And if that poll
didn't let us know about the socket, we didn't get another chance.
Reducing the pollset_work deadline to 100ms, now the test runs faster
and pass consistently:
result for 500 runs:
https://source.cloud.google.com/results/invocations/dd1b38f4-0f28-470b-a78b-b485445e44f2/targets/%2F%2Ftest%2Fcore%2Ftransport%2Fchttp2:settings_timeout_test/tests
5 years ago
Jan Tattermusch
cbb0ef2717
try marking some offenders as flaky
5 years ago
yang-g
5bc57b64fe
InitGoogleTest before grpc_init
5 years ago
Esun Kim
74d2fb842e
Timeout for shutdown!
5 years ago
Esun Kim
9ae81e1d3f
Make test code use TestEnvironment
5 years ago
Esun Kim
3a519a0b64
Replaced grpc_core New & Delete with C++ new & delete
5 years ago
Lidi Zheng
c34bef4ca4
Format all Bazel files with buildifier
5 years ago
Vijay Pai
2477b966e2
Remove unused-parameter warnings, round 2 (17 of 19)
5 years ago
Vijay Pai
17c8c4c4f2
Remove unused parameter warning (13 of 20)
5 years ago
Vijay Pai
c3faf1c3b8
Remove unused parameter warning (12 of 20)
5 years ago
Mark D. Roth
5e9404e41a
Fix polymorphism for UniquePtr<> and OrphanablePtr<>.
5 years ago
Mark D. Roth
dbad2db848
Immediately orphan watcher if state is SHUTDOWN when it is added.
5 years ago
Mark D. Roth
cb67811c47
Revert "Merge pull request #20407 from markdroth/transport_connectivity_state_watcher_revert"
...
This reverts commit 48550de866
, reversing
changes made to 24b529e408
.
5 years ago
Mark D. Roth
33f139b6e6
Revert "Merge pull request #20255 from markdroth/transport_connectivity_state_watcher"
...
This reverts commit 0f5a111aad
, reversing
changes made to 1276a8f628
.
5 years ago
Jan Tattermusch
8e79705d29
disable fuzzers on windows
5 years ago
Jan Tattermusch
b8a32c0cff
temporarily disable failing tests on windows
5 years ago
Mark D. Roth
ece8fd6642
Change transport connectivity watch API to not be lossy.
5 years ago
Vijay Pai
5d7e4bb301
Stop using deprecated gtest macros
5 years ago
Jan Tattermusch
6ebc1c616f
set uses_polling=False for some bazel tests
5 years ago
Esun Kim
3c6bb96a1f
Add test for static elements
5 years ago
Arjun Roy
b46e3668d3
s/branch/tail_call/ for CH2 on_hdr().
...
on_hdr() checks if a void-return function pointer is null before jumping to it.
If it is null, it returns an error; else it executes that function and returns
success.
This change converts the void-returning function to one that returns a
grpc_error* and thus saves a branch in on_hdr() (since we're branching once by
following the function pointer anyways, we're effectively coalescing these two
branches).
5 years ago
Arjun Roy
2767accc1b
Fixed init-order-fiasco for static slice table.
...
Fixes init-order bug affecting https://github.com/grpc/grpc/issues/19819 which
was first exposed by this commit:
857375a142
5 years ago
Hope Casey-Allen
59564ebd96
Fix warnings to unblock gcc8 support
5 years ago
Arjun Roy
b2cda1e185
Reduced ops for grpc_chttp2_stream_map_find().
...
Several asserts in grpc_chttp2_stream_map_find() can be converted to debug
asserts. This PR also templatizes the internal find() method to have it be
strict in the delete case (which saves some branches).
5 years ago
Yash Tibrewal
2d498d2b6c
Add a few tests for ContextList and BufferList. Also, check that
...
timestamps is non-null before modifying it.
5 years ago
Arjun Roy
b1d73a01f1
Removed duplicate static table from hpack table. Removed an or instruction for
...
every usage of static grpc metadata. Inlined hpack table lookups for static
metadata.
This leads to faster hpack parser creation:
BM_HpackParserInitDestroy 5.32µs ± 1% 0.06µs ± 1% -98.91% (p=0.000 n=18+19)
And slightly faster parsing:
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader>
456ns ± 1% 435ns ± 1% -4.74% (p=0.000 n=18+19)
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata,
OnInitialHeader>
1.06µs ± 2% 1.04µs ± 2% -1.82% (p=0.000 n=19+20)
It also yields a slight (0.5 - 1.0 microsecond) reduction in CPU time for
fullstack unary pingpong:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512
[polls/iter:3.0001 ] 23.9µs ± 2%
23.0µs ± 1% -3.63% (p=0.002 n=6+6)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.00015 ] 35.1µs ± 1%
34.2µs ± 1% -2.57% (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00011 ] 21.7µs ± 3%
21.2µs ± 2% -2.44% (p=0.017 n=6+5)
5 years ago
yang-g
e291396644
Cap deadline to 99999999 seconds on wire
6 years ago
Arjun Roy
7d946633ea
grpc_slice_refcount devirtualization
6 years ago
Mark D. Roth
432c97e1ba
Remove error from connectivity state tracking.
6 years ago
Soheil Hassas Yeganeh
18b19105f2
Implement TCP_INQ for gRPC in Linux
...
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.
Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.
This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:
Before:
l_50: 61.3584984733
l_90: 94.8328711277
l_99: 126.211351174
l_999: 158.722406029
After:
l_50: 51.3546011488 (-16%)
l_90: 72.3420731581 (-23%)
l_99: 103.280218974 (-18%)
l_999: 130.905689996 (-17%)
6 years ago
Mark D. Roth
a04b0646de
Don't use a separate call context for subchannel calls.
6 years ago
Yash Tibrewal
30e1991bf9
Update context list test
6 years ago
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
6 years ago
yang-g
e75fc243da
change tests to use the new class instead of grpc_test_init
6 years ago
Yash Tibrewal
77ba25ab72
s/int/uint32_t
6 years ago
Yash Tibrewal
9506d35674
Add a byte counter to chttp2_stream and use that for timestamps
6 years ago
Yash Tibrewal
c7e92f26eb
Reviewer comments
6 years ago
Yash Tibrewal
bab043e865
Cleanup
6 years ago
Guantao Liu
0c18293e55
Fix the test failure with callback-based polling.
6 years ago
Hope Casey-Allen
4cc1cd7baa
Add needed include
6 years ago
Hope Casey-Allen
327c514fe7
Some reorganizing to respond to code review comments
6 years ago