Craig Tiller
98cf516874
Remove old backwards compatibility cronet compression workaround code ( #27701 )
3 years ago
Mark D. Roth
464c1c519f
switch to new location of TypedStruct and ORCA protos ( #27700 )
...
* upgrade xDS protos
* switch to new location of TypedStruct and ORCA protos
* fix sanity
3 years ago
Mark D. Roth
e20dfeccc2
upgrade xDS protos ( #27698 )
3 years ago
Craig Tiller
1df153f46e
Revert "Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )" ( #27688 )
...
This reverts commit 0e6ced8800
.
3 years ago
Yash Tibrewal
a61bb8ed5b
Move service config code out of client_client to its own target ( #27683 )
...
* Move service config code out of client_client to its own target
* Fix BUILD
* Fix test build
* Reviewer comments
* Reviewer comments
* Automated change: Fix sanity tests
* Reviewer comments
Co-authored-by: yashykt <yashykt@users.noreply.github.com>
3 years ago
Craig Tiller
0e6ced8800
Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )
...
This reverts commit f57a1f7d8c
.
3 years ago
Craig Tiller
f57a1f7d8c
Move metadata setting into HPackParser ( #27545 )
...
* forward work to get append, limit check into parser
* further cleanup
* Remove chttp2_incoming_metadata_buffer
* Automated change: Fix sanity tests
* test fixes
* fix cronet
* wip
* first pass mementofication of parsing - libgrpc compiles
* further progress
* fixes
* fixes
* fix leak
* Automated change: Fix sanity tests
* fix leak
* fixes
* x
* improve fuzzer
* init ordering fix
* Update hpack_parser_table.h
* Update hpack_parser.cc
* Update hpack_parser_test.cc
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* i mustache myself why
* fix use after free
* Automated change: Fix sanity tests
* fixes
* eliminate second pass metadata - this is an illegal frame and fails the new parser
* handle mementos with size > sizeof(intptr_t)
* fix
* add parsed metadata header, test
* Automated change: Fix sanity tests
* fix includes
* phase1
* phase2
* Update parsed_metadata.h
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
a21ad2c296
Remove UDP code - it's unused ( #27595 )
...
* Remove UDP code - its unused
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
8d8d07139c
Fix client idle filter ( #27611 )
...
* trial-change
* compiles!
* added test
* Automated change: Fix sanity tests
* update test
* Fix slow idle detection
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
79ef60f079
Integrate new resource quota, event engine ( #27522 )
...
* Integrate new resource quota, event engine
* Automated change: Fix sanity tests
* windows fix
* Automated change: Fix sanity tests
* Update memory_allocator.h
* Automated change: Fix sanity tests
* first round review feedback
* review feedback
* Automated change: Fix sanity tests
* Update memory_quota.h
* get re-export formatted right
* Automated change: Fix sanity tests
* Update memory_allocator.cc
* Automated change: Fix sanity tests
* MemoryOwner has-a MemoryAllocator
* using fix
* review feedback
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
3d83dd3776
Revert "Revert "centralize handling of channel's default authority ( #27544 )" ( #27616 )" ( #27624 )
...
This reverts commit 0611f7c9b3
.
3 years ago
Esun Kim
c56b0a3818
Update boringssl to the latest ( #27606 )
...
* Change boringssl branch name
* update submodule boringssl-with-bazel with origin/main-with-bazel
* update boringssl dependency to main-with-bazel commit SHA
* regenerate files
* Increment podspec version
* generate boringssl prefix headers
3 years ago
Mark D. Roth
0611f7c9b3
Revert "centralize handling of channel's default authority ( #27544 )" ( #27616 )
...
This reverts commit f0a0628795
.
3 years ago
Mark D. Roth
f0a0628795
centralize handling of channel's default authority ( #27544 )
...
* centralize handling of channel's default authority
* clang-format
* fix backup poller bug
3 years ago
Stan Hu
106dd2fed8
Drop -msse4 compiler flag ( #27121 )
...
* Drop ABSL_RANDOM_HWAES_FLAGS compiler flags
Older CPUs that do not have SSE4.1 would crash with the Ruby native gem
due to an illegal instruction exception.
The Abseil random library isn't being used at the moment
(https://github.com/grpc/grpc/pull/26476 ), and there's no reason gRPC
needs to force SSE4.1 instructions on all platforms at the moment. There
are other hardware-specific issues that need to be ironed out for this
to work: https://github.com/grpc/grpc/pull/26479
When the `-msse4` compiler flag was enabled, the Abseil code started
using the `pinsrb` instruction:
```
$ elfx86exts abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.o
MODE64 (ret)
CMOV (cmovne)
SSE2 (movdqa)
SSE41 (pinsrb)
SSE1 (movaps)
CPU Generation: Penryn
```
Closes https://github.com/grpc/grpc/issues/27095
* Revert "Drop ABSL_RANDOM_HWAES_FLAGS compiler flags"
This reverts commit 3b7cc74d39
.
* Drop -msse4 compiler flag
Older CPUs that do not have SSE4.1 would crash with the Ruby native gem
due to an illegal instruction exception.
The Abseil random library isn't being used at the moment
(https://github.com/grpc/grpc/pull/26476 ), and there's no reason gRPC
needs to force SSE4.1 instructions on all platforms at the moment. There
are other hardware-specific issues that need to be ironed out for this
to work: https://github.com/grpc/grpc/pull/26479
When the `-msse4` compiler flag was enabled, the Abseil code started
using the `pinsrb` instruction:
```
$ elfx86exts abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.o
MODE64 (ret)
CMOV (cmovne)
SSE2 (movdqa)
SSE41 (pinsrb)
SSE1 (movaps)
CPU Generation: Penryn
```
This was previously needed because gcc 4.8 wouldn't compile without the
`-msse4` and `-maes` flags.
However, per
97db2bf7fb
gcc 5.0+ automatically detects whether these options are enabled.
clang still needs `-maes` since including `wmmintrin.h` expects the AES
option to be enabled.
Closes https://github.com/grpc/grpc/issues/27095
3 years ago
Craig Tiller
9b41852a5e
channel_init --> core configuration system ( #27347 )
...
* channel_init --> core configuration system
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* eliminate grpc_base_c
* fixes
* fix merge
* fix
* update visibility
* fixes
* feedback
* fix comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
c5172a134e
Fix build splitup for slices. ( #27452 )
...
* slice fix
* fix properlike
* Automated change: Fix sanity tests
* actually delete the code that should have been
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d4407b7e59
Revert "Remove dead code ( #27445 )" ( #27461 )
...
This reverts commit 693f36f91c
.
3 years ago
Craig Tiller
693f36f91c
Remove dead code ( #27445 )
...
* Remove dead code
* Automated change: Fix sanity tests
* build
* remove benchmark
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ffa4365031
Separate common slice utilities, grpc_error into their own libraries ( #27441 )
...
* make error independent
* Separate grpc_error into its own library
This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
66ae0d5c08
Separate slices from mdelems for static data ( #27372 )
...
* separate slice into internal and refcount, with refcount being the minimal base
* python3-ize
* Separate slices from mdelems for static data
Allows us to separate a small build target with just some slice basics
from the rest, which will help simplify the build system longer term.
Additionally exposed an opportunity to eliminate an init function.
Should also help in a month or so when it's time to jettison interned
metadata and slices entirely.
* fix compilation
* Automated change: Fix sanity tests
* fixes
* fixfixfix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
donnadionne
30b7f09508
Major bump core major version from 18.0.0 to 19.1.0 ( #27392 )
...
* Bump core version to 19.1.0
* Regenerate projects
3 years ago
donnadionne
b9a997be11
Bump version to v1.41.0 ( #27370 )
...
* Bump version to v1.41.x
* Regenerate projects
3 years ago
Craig Tiller
999e36fb31
Rebuild HPACK encoder table as C++ ( #27192 )
...
* Rebuild HPACK encoder table as C++
* move comment
* incguards
* build
* Automated change: Fix sanity tests
* c++ initialization ftw
* Automated change: Fix sanity tests
* Add missing header
* Add missing header
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
donnadionne
022cff7d7c
update submodule boringssl-with-bazel with origin/master-with-bazel ( #27208 )
...
* update submodule boringssl-with-bazel with origin/master-with-bazel
* update boringssl dependency to master-with-bazel commit SHA
* regenerate files
* Updated sha256
* generate boringssl prefix headers
* Increment podspec version
3 years ago
AJ Heller
2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option ( #27188 )
...
This has been unmaintained for years, last supported in gRPC-core v1.24.
3 years ago
Ashitha Santhosh
1ff1f8fd83
SDK authorization filter. ( #26468 )
...
* SDK authorization filter.
3 years ago
Nicolas 'Pixel' Noble
69661fb82e
Regenerate projects
3 years ago
Craig Tiller
4c8a0d91c6
Call into plugin registry from config code ( #27041 )
...
* Call into plugin registry from config code
* Automated change: Fix sanity tests
* Remove unused name
* Remove unused name
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
aacd32c721
Promise library context management helpers ( #26912 )
...
* Promise library context management helpers
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* missing file
* Automated change: Fix sanity tests
* compatibility
* build
* Automated change: Fix sanity tests
* propagate
* Automated change: Fix sanity tests
* merge with head
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Tamir Duberstein
00c03c55ff
Implement type safety for TLS ( #26942 )
...
* Implement type safety for TLS
This is mostly free when compiler support is available, but requires
careful templating when implemented using pthread.
Significantly slimmed the tls.h interface; it now only defines the "TLS
keyword" for each supported compiler, delegating enforcement of correct
usage (i.e. must be static) to the compiler itself.
Implemented implicit conversion for the pthread wrapper so it can be
used (mostly) the same as native support. Notable exception to this is
that static_cast<void*> is needed when printing a pointer stored in TLS
as %p.
* Use GPR_THREAD_LOCAL macros consistently
3 years ago
Craig Tiller
58d3161aac
Split the filter popularity counting into a separate module ( #26884 )
...
* split hpack encoder filter into a separate class
* chores
* fix
* Automated change: Fix sanity tests
* include guards
* add suppressions
* Update popularity_count_test.cc
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Lidi Zheng
826da6136c
Update Envoy API to the latest version (2021-07-30) ( #26848 )
...
* Bump Envoy and related submodules to latest
* Update googleapis
* Update scripts for newer submodules
* Update udpa
* Add opentelemetry
* Python changes for opentelemetry
* Update udpa in check_submodules
* Add opentelemetry to check submodules
* Regenerate upb files
* Add new proto dependency to upb-gen and Bazel
* Regenerate project
3 years ago
AJ Heller
a10a5bf655
Changes from feedback on gRFC L82: gRPC Core EventEngine API ( #26733 )
3 years ago
apolcyn
0e6c888574
Bump version to 1.40.0-dev ( #26600 )
...
* Bump version to 1.40.0
* Regenerate projects
* Tweak version.cc.template to satisfy formatter
* Regenerate projects
3 years ago
AJ Heller
25d91e3091
New iomgr implementation backed by the EventEngine API ( #26026 )
...
This code adds an iomgr implementation that's backed by an EventEngine. This uses the EventEngine API alone, and separate work will introduce an EventEngine prototype to plug into it.
See also drfloob#1: @nicolasnoble has a pull request against this branch, implementing the libuv-based EventEngine. One goal here is to implement the iomgr code such that it can be merged independently without affecting normal builds.
This implementation can be built using bazel build --cxxopt='-DGRPC_USE_EVENT_ENGINE' :all
Some shortcuts are being taken to get a working, testable version of the engine. EventEngines are not pluggable, for example.
4 years ago
Jan Tattermusch
451127740d
Revert "Replace in-house rand with absl::Random for backoff ( #26463 )" ( #26476 )
...
This reverts commit b5191d0930
.
4 years ago
Esun Kim
b5191d0930
Replace in-house rand with absl::Random for backoff ( #26463 )
...
* Replace in-house rand with absl::Random for backoff
* Run sanity
* Added bscrypt dependency
4 years ago
Ashitha Santhosh
b9a643a817
Static policy provider implementation. ( #26134 )
4 years ago
donnadionne
e22fefb39a
Ring hash implementation ( #26356 )
...
* Ring hash implementation
* Fixing an error caught during import:
ipv6 addresses need small modifications when creating the ring entry.
* fixing an error
* removing debugs
* Remove unnecssary hashing
* small cleanup
4 years ago
donnadionne
2bb20d25a4
Revert "ring_hash LB policy implementation ( #26285 )" ( #26303 )
...
This reverts commit c55c7c065e
.
4 years ago
donnadionne
c55c7c065e
ring_hash LB policy implementation ( #26285 )
...
* ring_hash LB policy (#25697 )
* Ring Hash Policy implementation
* Code review comment fixing
* Fixing code review comments.
* Code review comment fixing
* Fixing reconnect logic
* adding helper method for pick
* Holding on to ref to parent
* first attempt at calling AttemptToConnect
* Fixing state change
* Fixing code review comments
* Fixing the reconnect from channel watcher code
* Fixing the BUILD to include new policy
* Fixing major code review suggestion
* Fixing code review comments
* Fixing code review suggestions
* Initial 2 tests.
* Adding channel id case.
* Fixing code review comments.
* Small change to get the spread of backends
* Add header hashing tests
* Added more tests and debugging
* Fixing Header hash
* Added more tests
* cleanup
* removing debugs
* Fixing code review comments.
* code review fixing
* combining code and match design
* fixing code review comments.
* Fixed IDLE case
* Moving tests
* Fixing code review comments
* Adding more tests according to code review comments.
* Added tests with differetn types of weights
* Adding terminal policy case
* Remove hash_func as there is only 1
* Added nack invalid hash function
* Added NACK cases
* fixing build error
* fixing build
* small warning
* adding regex test
* Adding policy tests
* fixing warning
* fixing warning
* fixing code reivew comments.
* fixing IDLE case
* Code review comments.
* fixing code review comments
* Making a helper function
* fixing reattempt case
* Added afew more tests.
* Adding more tests
* Added backward compatible test
* FIxing the reattempt test
* Clean up
* fixing clang error
* fixing clang error
* Fix logic discovered during code review
* code review comments
* code review comments
* code review comment
* clean up tests
* fixing code review comments
* clean up tests
* Separated test
* Fixing test
* fixing test
* fixing clang error
* Addressing code review suggestions
* Fixing last bit of code review comments
* Fixing flaky tests
* Fixing last bit of code review comments
* clean debugs
* Remove a verbose log
* Relaxing deadline exceeded for 1st RPC until ring is optimized.
Making Hash more efficient for random case.
4 years ago
donnadionne
f36a31b6aa
Revert "ring_hash LB policy ( #25697 )" ( #26238 )
...
This reverts commit 2aefb26f5d
.
4 years ago
donnadionne
2aefb26f5d
ring_hash LB policy ( #25697 )
...
* Ring Hash Policy implementation
* Code review comment fixing
* Fixing code review comments.
* Code review comment fixing
* Fixing reconnect logic
* adding helper method for pick
* Holding on to ref to parent
* first attempt at calling AttemptToConnect
* Fixing state change
* Fixing code review comments
* Fixing the reconnect from channel watcher code
* Fixing the BUILD to include new policy
* Fixing major code review suggestion
* Fixing code review comments
* Fixing code review suggestions
* Initial 2 tests.
* Adding channel id case.
* Fixing code review comments.
* Small change to get the spread of backends
* Add header hashing tests
* Added more tests and debugging
* Fixing Header hash
* Added more tests
* cleanup
* removing debugs
* Fixing code review comments.
* code review fixing
* combining code and match design
* fixing code review comments.
* Fixed IDLE case
* Moving tests
* Fixing code review comments
* Adding more tests according to code review comments.
* Added tests with differetn types of weights
* Adding terminal policy case
* Remove hash_func as there is only 1
* Added nack invalid hash function
* Added NACK cases
* fixing build error
* fixing build
* small warning
* adding regex test
* Adding policy tests
* fixing warning
* fixing warning
* fixing code reivew comments.
* fixing IDLE case
* Code review comments.
* fixing code review comments
* Making a helper function
* fixing reattempt case
* Added afew more tests.
* Adding more tests
* Added backward compatible test
* FIxing the reattempt test
* Clean up
* fixing clang error
* fixing clang error
* Fix logic discovered during code review
* code review comments
* code review comments
* code review comment
* clean up tests
* fixing code review comments
* clean up tests
* Separated test
* Fixing test
* fixing test
* fixing clang error
* Addressing code review suggestions
* Fixing last bit of code review comments
* Fixing flaky tests
* Fixing last bit of code review comments
* clean debugs
* Remove a verbose log
4 years ago
Yash Tibrewal
a989179ace
Bump master to v1.39.0 ( #26207 )
...
* Bump version to v1.39.0
* Regenerate projects
* Buildifier format
4 years ago
Mark D. Roth
4c40ee3f78
move parse_address and sockaddr_utils out of iomgr directory ( #26077 )
...
* move parse_address and sockaddr_utils out of iomgr directory
* clang-format
* fix python
* fix for import
* fix build file for import
4 years ago
Yash Tibrewal
fe56d1a39a
Update boringssl submodule ( #26101 )
...
* update submodule boringssl-with-bazel with origin/master-with-bazel
* Update boringssl dependency to master-with-bazel commit SHA
* Generate projects
* Updated boringssl sha256
* Generate boringssl prefix headers
* Increment podspec version
4 years ago
Esun Kim
2d8936b097
Added status_helper ( #25901 )
...
Added status_util
4 years ago
AJ Heller
4c59b17d40
Remove eventmanager_libuv code ( #25811 )
...
Reintroduces this code removal after a failed import. This needed special handling via cherry pick.
4 years ago
AJ Heller
03adef1d3c
Move platform-specific sockaddr logic out of port_platform for EventEngine ( #25886 )
4 years ago