Merge master

pull/37270/head
tanvi-jagtap 4 months ago
commit 1628fa8ebb
  1. 6
      BUILD
  2. 10
      CMakeLists.txt
  3. 10
      Makefile
  4. 2
      _metadata.py
  5. 2
      build_config.rb
  6. 6
      build_handwritten.yaml
  7. 2
      config.m4
  8. 3
      doc/g_stands_for.md
  9. 2
      gRPC-C++.podspec
  10. 2
      gRPC-Core.podspec
  11. 2
      gRPC-ProtoRPC.podspec
  12. 2
      gRPC-RxLibrary.podspec
  13. 2
      gRPC.podspec
  14. 4
      include/grpcpp/version_info.h
  15. 6
      package.xml
  16. 19
      src/core/ext/transport/chttp2/server/chttp2_server.cc
  17. 13
      src/core/lib/event_engine/ares_resolver.cc
  18. 4
      src/core/lib/surface/version.cc
  19. 2
      src/csharp/build/dependencies.props
  20. 2
      src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
  21. 2
      src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
  22. 2
      src/objective-c/GRPCClient/version.h
  23. 4
      src/objective-c/tests/version.h
  24. 2
      src/php/composer.json
  25. 2
      src/php/ext/grpc/version.h
  26. 1
      src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi
  27. 28
      src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi
  28. 2
      src/python/grpcio/grpc/_grpcio_metadata.py
  29. 2
      src/python/grpcio/grpc_version.py
  30. 2
      src/python/grpcio_admin/grpc_version.py
  31. 2
      src/python/grpcio_channelz/grpc_version.py
  32. 2
      src/python/grpcio_csds/grpc_version.py
  33. 2
      src/python/grpcio_csm_observability/grpc_version.py
  34. 2
      src/python/grpcio_health_checking/grpc_version.py
  35. 2
      src/python/grpcio_observability/grpc_version.py
  36. 2
      src/python/grpcio_reflection/grpc_version.py
  37. 2
      src/python/grpcio_status/grpc_version.py
  38. 2
      src/python/grpcio_testing/grpc_version.py
  39. 2
      src/python/grpcio_tests/grpc_version.py
  40. 2
      src/ruby/lib/grpc/version.rb
  41. 2
      src/ruby/nativedebug/version.rb
  42. 2
      src/ruby/tools/version.rb
  43. 7
      test/core/end2end/tests/no_logging.cc
  44. 26
      tools/codegen/core/experiments_compiler.py
  45. 10
      tools/codegen/core/gen_experiments.py
  46. 2
      tools/distrib/gen_experiments_and_format.sh
  47. 2
      tools/distrib/python/grpc_version.py
  48. 2
      tools/distrib/python/grpcio_tools/grpc_tools/grpc_version.py
  49. 2
      tools/distrib/python/grpcio_tools/grpc_version.py
  50. 2
      tools/distrib/python/xds_protos/grpc_version.py
  51. 2
      tools/doxygen/Doxyfile.c++
  52. 2
      tools/doxygen/Doxyfile.c++.internal
  53. 2
      tools/doxygen/Doxyfile.core
  54. 2
      tools/doxygen/Doxyfile.core.internal
  55. 2
      tools/doxygen/Doxyfile.objc
  56. 2
      tools/doxygen/Doxyfile.objc.internal
  57. 2
      tools/doxygen/Doxyfile.php
  58. 6
      tools/interop_matrix/client_matrix.py

@ -227,11 +227,11 @@ config_setting(
python_config_settings()
# This should be updated along with build_handwritten.yaml
g_stands_for = "gladiator" # @unused
g_stands_for = "gesundheit" # @unused
core_version = "42.0.0" # @unused
core_version = "43.0.0" # @unused
version = "1.66.0-dev" # @unused
version = "1.67.0-dev" # @unused
GPR_PUBLIC_HDRS = [
"include/grpc/support/alloc.h",

10
CMakeLists.txt generated

@ -25,11 +25,11 @@
cmake_minimum_required(VERSION 3.13)
set(PACKAGE_NAME "grpc")
set(PACKAGE_VERSION "1.66.0-dev")
set(gRPC_CORE_VERSION "42.0.0")
set(gRPC_CORE_SOVERSION "42")
set(gRPC_CPP_VERSION "1.66.0-dev")
set(gRPC_CPP_SOVERSION "1.66")
set(PACKAGE_VERSION "1.67.0-dev")
set(gRPC_CORE_VERSION "43.0.0")
set(gRPC_CORE_SOVERSION "43")
set(gRPC_CPP_VERSION "1.67.0-dev")
set(gRPC_CPP_SOVERSION "1.67")
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")

10
Makefile generated

@ -367,8 +367,8 @@ E = @echo
Q = @
endif
CORE_VERSION = 42.0.0
CPP_VERSION = 1.66.0-dev
CORE_VERSION = 43.0.0
CPP_VERSION = 1.67.0-dev
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
SHARED_EXT_CPP = dll
SHARED_PREFIX =
SHARED_VERSION_CORE = -42
SHARED_VERSION_CORE = -43
SHARED_VERSION_CPP = -1
else ifeq ($(SYSTEM),Darwin)
EXECUTABLE_SUFFIX =
@ -1843,8 +1843,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
ifeq ($(SYSTEM),Darwin)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
else
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.42 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.42
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.43 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.43
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
endif
endif

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
__version__ = """1.66.0.dev0"""
__version__ = """1.67.0.dev0"""

@ -13,5 +13,5 @@
# limitations under the License.
module GrpcBuildConfig
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-42.dll'
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-43.dll'
end

@ -12,11 +12,11 @@ settings:
'#08': Use "-preN" suffixes to identify pre-release versions
'#09': Per-language overrides are possible with (eg) ruby_version tag here
'#10': See the expand_version.py for all the quirks here
core_version: 42.0.0
core_version: 43.0.0
csharp_major_version: 2
g_stands_for: gladiator
g_stands_for: gesundheit
protobuf_version: 3.27.2
version: 1.66.0-dev
version: 1.67.0-dev
configs:
asan:
CC: clang

2
config.m4 generated

@ -1391,7 +1391,7 @@ if test "$PHP_GRPC" != "no"; then
-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
-DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.66.0dev\""')
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.67.0dev\""')
PHP_ADD_BUILD_DIR($ext_builddir/src/core/channelz)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel)

@ -65,4 +65,5 @@
- 1.63 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/v1.63.x)
- 1.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/v1.64.x)
- 1.65 'g' stands for ['gnarly'](https://github.com/grpc/grpc/tree/v1.65.x)
- 1.66 'g' stands for ['gladiator'](https://github.com/grpc/grpc/tree/master)
- 1.66 'g' stands for ['gladiator'](https://github.com/grpc/grpc/tree/v1.66.x)
- 1.67 'g' stands for ['gesundheit'](https://github.com/grpc/grpc/tree/master)

2
gRPC-C++.podspec generated

@ -22,7 +22,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-C++'
# TODO (mxyan): use version that match gRPC version when pod is stabilized
version = '1.66.0-dev'
version = '1.67.0-dev'
s.version = version
s.summary = 'gRPC C++ library'
s.homepage = 'https://grpc.io'

2
gRPC-Core.podspec generated

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-Core'
version = '1.66.0-dev'
version = '1.67.0-dev'
s.version = version
s.summary = 'Core cross-platform gRPC library, written in C'
s.homepage = 'https://grpc.io'

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-ProtoRPC'
version = '1.66.0-dev'
version = '1.67.0-dev'
s.version = version
s.summary = 'RPC library for Protocol Buffers, based on gRPC'
s.homepage = 'https://grpc.io'

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-RxLibrary'
version = '1.66.0-dev'
version = '1.67.0-dev'
s.version = version
s.summary = 'Reactive Extensions library for iOS/OSX.'
s.homepage = 'https://grpc.io'

2
gRPC.podspec generated

@ -20,7 +20,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC'
version = '1.66.0-dev'
version = '1.67.0-dev'
s.version = version
s.summary = 'gRPC client library for iOS/OSX'
s.homepage = 'https://grpc.io'

@ -19,9 +19,9 @@
#define GRPCPP_VERSION_INFO_H
#define GRPC_CPP_VERSION_MAJOR 1
#define GRPC_CPP_VERSION_MINOR 66
#define GRPC_CPP_VERSION_MINOR 67
#define GRPC_CPP_VERSION_PATCH 0
#define GRPC_CPP_VERSION_TAG "dev"
#define GRPC_CPP_VERSION_STRING "1.66.0-dev"
#define GRPC_CPP_VERSION_STRING "1.67.0-dev"
#endif // GRPCPP_VERSION_INFO_H

6
package.xml generated

@ -13,8 +13,8 @@
<date>2019-09-24</date>
<time>16:06:07</time>
<version>
<release>1.66.0dev</release>
<api>1.66.0dev</api>
<release>1.67.0dev</release>
<api>1.67.0dev</api>
</version>
<stability>
<release>beta</release>
@ -22,7 +22,7 @@
</stability>
<license>Apache 2.0</license>
<notes>
- gRPC Core 1.66.0 update
- gRPC Core 1.67.0 update
</notes>
<contents>
<dir baseinstalldir="/" name="/">

@ -616,9 +616,6 @@ void Chttp2ServerListener::ActiveConnection::Start(
RefCountedPtr<Chttp2ServerListener> listener,
OrphanablePtr<grpc_endpoint> endpoint, const ChannelArgs& args) {
listener_ = std::move(listener);
if (listener_->tcp_server_ != nullptr) {
grpc_tcp_server_ref(listener_->tcp_server_);
}
RefCountedPtr<HandshakingState> handshaking_state_ref;
{
MutexLock lock(&mu_);
@ -869,16 +866,20 @@ void Chttp2ServerListener::OnAccept(void* arg, grpc_endpoint* tcp,
// connection manager has changed.
if (!self->shutdown_ && self->is_serving_ &&
connection_manager == self->connection_manager_) {
// This ref needs to be taken in the critical region after having made
// sure that the listener has not been Orphaned, so as to avoid
// heap-use-after-free issues where `Ref()` is invoked when the ref of
// tcp_server_ has already reached 0. (Ref() implementation of
// Chttp2ServerListener is grpc_tcp_server_ref().)
// The ref for both the listener and tcp_server need to be taken in the
// critical region after having made sure that the listener has not been
// Orphaned, so as to avoid heap-use-after-free issues where `Ref()` is
// invoked when the listener is already shutdown. Note that the listener
// holds a ref to the tcp_server but this ref is given away when the
// listener is orphaned (shutdown).
if (self->tcp_server_ != nullptr) {
grpc_tcp_server_ref(self->tcp_server_);
}
listener_ref = self->RefAsSubclass<Chttp2ServerListener>();
self->connections_.emplace(connection.get(), std::move(connection));
}
}
if (connection == nullptr) {
if (connection == nullptr && listener_ref != nullptr) {
connection_ref->Start(std::move(listener_ref), std::move(endpoint), args);
}
}

@ -84,6 +84,11 @@ namespace experimental {
namespace {
// A hard limit on the number of records (A/AAAA or SRV) we may get from a
// single response. This is to be defensive to prevent a bad DNS response from
// OOMing the process.
constexpr int kMaxRecordSize = 65536;
absl::Status AresStatusToAbslStatus(int status, absl::string_view error_msg) {
switch (status) {
case ARES_ECANCELLED:
@ -596,6 +601,10 @@ void AresResolver::OnHostbynameDoneLocked(void* arg, int status,
"resolver:%p OnHostbynameDoneLocked name=%s ARES_SUCCESS",
ares_resolver, hostname_qa->query_name.c_str());
for (size_t i = 0; hostent->h_addr_list[i] != nullptr; i++) {
if (hostname_qa->result.size() == kMaxRecordSize) {
LOG(ERROR) << "A/AAAA response exceeds maximum record size of 65536";
break;
}
switch (hostent->h_addrtype) {
case AF_INET6: {
size_t addr_len = sizeof(struct sockaddr_in6);
@ -704,6 +713,10 @@ void AresResolver::OnSRVQueryDoneLocked(void* arg, int status, int /*timeouts*/,
std::vector<EventEngine::DNSResolver::SRVRecord> result;
for (struct ares_srv_reply* srv_it = reply; srv_it != nullptr;
srv_it = srv_it->next) {
if (result.size() == kMaxRecordSize) {
LOG(ERROR) << "SRV response exceeds maximum record size of 65536";
break;
}
EventEngine::DNSResolver::SRVRecord record;
record.host = srv_it->host;
record.port = srv_it->port;

@ -22,6 +22,6 @@
#include <grpc/grpc.h>
#include <grpc/support/port_platform.h>
const char* grpc_version_string(void) { return "42.0.0"; }
const char* grpc_version_string(void) { return "43.0.0"; }
const char* grpc_g_stands_for(void) { return "gladiator"; }
const char* grpc_g_stands_for(void) { return "gesundheit"; }

@ -1,7 +1,7 @@
<!-- This file is generated -->
<Project>
<PropertyGroup>
<GrpcCsharpVersion>2.66.0-dev</GrpcCsharpVersion>
<GrpcCsharpVersion>2.67.0-dev</GrpcCsharpVersion>
<GoogleProtobufVersion>3.27.2</GoogleProtobufVersion>
</PropertyGroup>
</Project>

@ -42,7 +42,7 @@ Pod::Spec.new do |s|
# exclamation mark ensures that other "regular" pods will be able to find it as it'll be installed
# before them.
s.name = '!ProtoCompiler-gRPCCppPlugin'
v = '1.66.0-dev'
v = '1.67.0-dev'
s.version = v
s.summary = 'The gRPC ProtoC plugin generates C++ files from .proto services.'
s.description = <<-DESC

@ -42,7 +42,7 @@ Pod::Spec.new do |s|
# exclamation mark ensures that other "regular" pods will be able to find it as it'll be installed
# before them.
s.name = '!ProtoCompiler-gRPCPlugin'
v = '1.66.0-dev'
v = '1.67.0-dev'
s.version = v
s.summary = 'The gRPC ProtoC plugin generates Objective-C files from .proto services.'
s.description = <<-DESC

@ -22,4 +22,4 @@
// instead. This file can be regenerated from the template by running
// `tools/buildgen/generate_projects.sh`.
#define GRPC_OBJC_VERSION_STRING @"1.66.0-dev"
#define GRPC_OBJC_VERSION_STRING @"1.67.0-dev"

@ -22,5 +22,5 @@
// instead. This file can be regenerated from the template by running
// `tools/buildgen/generate_projects.sh`.
#define GRPC_OBJC_VERSION_STRING @"1.66.0-dev"
#define GRPC_C_VERSION_STRING @"42.0.0"
#define GRPC_OBJC_VERSION_STRING @"1.67.0-dev"
#define GRPC_C_VERSION_STRING @"43.0.0"

@ -2,7 +2,7 @@
"name": "grpc/grpc-dev",
"description": "gRPC library for PHP - for Development use only",
"license": "Apache-2.0",
"version": "1.66.0",
"version": "1.67.0",
"require": {
"php": ">=7.0.0",
"google/protobuf": "^v3.3.0"

@ -20,6 +20,6 @@
#ifndef VERSION_H
#define VERSION_H
#define PHP_GRPC_VERSION "1.66.0dev"
#define PHP_GRPC_VERSION "1.67.0dev"
#endif /* VERSION_H */

@ -31,6 +31,7 @@ cdef class _CallState:
cdef void maybe_save_registered_method(self, bytes method_name) except *
cdef void maybe_set_client_call_tracer_on_call(self, bytes method_name, bytes target) except *
cdef void maybe_delete_call_tracer(self) except *
cdef void delete_call(self) except *
cdef class _ChannelState:

@ -72,6 +72,12 @@ cdef class _CallState:
def __cinit__(self):
self.due = set()
cdef void delete_call(self) except *:
with nogil:
grpc_call_unref(self.c_call)
self.c_call = NULL
self.maybe_delete_call_tracer()
cdef void maybe_delete_call_tracer(self) except *:
if not self.call_tracer_capsule:
return
@ -291,9 +297,7 @@ cdef void _call(
grpc_call_credentials_release(c_call_credentials)
if c_call_error != GRPC_CALL_OK:
#TODO(xuanwn): Expand the scope of nogil
with nogil:
grpc_call_unref(call_state.c_call)
call_state.c_call = NULL
call_state.delete_call()
_raise_call_error_no_metadata(c_call_error)
started_tags = set()
for operations, user_tag in operationses_and_user_tags:
@ -303,9 +307,7 @@ cdef void _call(
else:
grpc_call_cancel(call_state.c_call, NULL)
#TODO(xuanwn): Expand the scope of nogil
with nogil:
grpc_call_unref(call_state.c_call)
call_state.c_call = NULL
call_state.delete_call()
_raise_call_error(c_call_error, metadata)
else:
call_state.due.update(started_tags)
@ -319,10 +321,7 @@ cdef void _process_integrated_call_tag(
cdef _CallState call_state = state.integrated_call_states.pop(tag)
call_state.due.remove(tag)
if not call_state.due:
with nogil:
grpc_call_unref(call_state.c_call)
call_state.c_call = NULL
call_state.maybe_delete_call_tracer()
call_state.delete_call()
cdef class IntegratedCall:
@ -362,10 +361,7 @@ cdef object _process_segregated_call_tag(
call_state.due.remove(tag)
if not call_state.due:
#TODO(xuanwn): Expand the scope of nogil
with nogil:
grpc_call_unref(call_state.c_call)
call_state.c_call = NULL
call_state.maybe_delete_call_tracer()
call_state.delete_call()
state.segregated_call_states.remove(call_state)
_destroy_c_completion_queue(c_completion_queue)
return True
@ -392,9 +388,7 @@ cdef class SegregatedCall:
self._channel_state, self._call_state, self._c_completion_queue, tag)
def on_failure():
self._call_state.due.clear()
with nogil:
grpc_call_unref(self._call_state.c_call)
self._call_state.c_call = NULL
self._call_state.delete_call()
self._channel_state.segregated_call_states.remove(self._call_state)
_destroy_c_completion_queue(self._c_completion_queue)
return _next_call_event(

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc/_grpcio_metadata.py.template`!!!
__version__ = """1.66.0.dev0"""
__version__ = """1.67.0.dev0"""

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_admin/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csds/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csm_observability/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_health_checking/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_observability/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_reflection/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_status/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_testing/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_tests/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,5 +14,5 @@
# GRPC contains the General RPC module.
module GRPC
VERSION = '1.66.0.dev'
VERSION = '1.67.0.dev'
end

@ -14,6 +14,6 @@
module GRPC
module NativeDebug
VERSION = '1.66.0.dev'
VERSION = '1.67.0.dev'
end
end

@ -14,6 +14,6 @@
module GRPC
module Tools
VERSION = '1.66.0.dev'
VERSION = '1.67.0.dev'
end
end

@ -35,8 +35,6 @@
#include "src/core/lib/gprpp/time.h"
#include "test/core/end2end/end2end_tests.h"
void gpr_default_log(gpr_log_func_args* args);
namespace grpc_core {
// This test is currently broken.
// The whole test will be re-written as a part of gpr to absl log conversion.
@ -60,7 +58,6 @@ class Verifier {
}
~Verifier() {
// This is broken. Replace with an absl log sink.
gpr_set_log_function(gpr_default_log);
saved_trace_flags_.Restore();
}
Verifier(const Verifier&) = delete;
@ -90,12 +87,10 @@ class Verifier {
auto it = allowed_logs_by_module->find(filename);
if (it != allowed_logs_by_module->end() &&
std::regex_search(args->message, it->second)) {
gpr_default_log(args);
return;
}
std::string message = absl::StrCat("Unwanted log: ", args->message);
args->message = message.c_str();
gpr_default_log(args);
GTEST_FAIL();
}
@ -110,7 +105,7 @@ class Verifier {
static std::atomic<gpr_log_func> g_log_func_;
};
std::atomic<gpr_log_func> Verifier::g_log_func_(gpr_default_log);
std::atomic<gpr_log_func> Verifier::g_log_func_(NoErrorLog);
void SimpleRequest(CoreEnd2endTest& test) {
auto c = test.NewClientCall("/foo").Timeout(Duration::Seconds(5)).Create();

@ -261,16 +261,17 @@ class ExperimentDefinition(object):
)
self._error = True
return False
is_dict = isinstance(rollout_attributes["default"], dict)
for platform in allowed_platforms:
if is_dict:
if isinstance(rollout_attributes["default"], dict):
value = rollout_attributes["default"].get(platform, False)
if isinstance(value, dict):
# debug is assumed for all rollouts with additional constraints
self._default[platform] = "debug"
self._additional_constraints[platform] = value
continue
else:
value = rollout_attributes["default"]
if isinstance(value, dict):
self._default[platform] = "debug"
self._additional_constraints[platform] = value
elif value not in allowed_defaults:
if value not in allowed_defaults:
print(
"ERROR: default for experiment %s on platform %s "
"is of incorrect format"
@ -278,9 +279,8 @@ class ExperimentDefinition(object):
)
self._error = True
return False
else:
self._default[platform] = value
self._additional_constraints[platform] = {}
self._default[platform] = value
self._additional_constraints[platform] = {}
return True
@property
@ -637,6 +637,14 @@ class ExperimentsCompiler(object):
s.add(req)
return s
def EnsureNoDebugExperiments(self):
for name, exp in self._experiment_definitions.items():
for platform, default in exp._default.items():
if default == "debug":
raise ValueError(
f"Debug experiments are prohibited. '{name}' is configured with {exp._default}"
)
def GenExperimentsBzl(self, mode, output_file):
assert self._FinalizeExperiments()
if self._bzl_list_for_defaults is None:

@ -87,6 +87,12 @@ def ParseCommandLineArguments(args):
action="store_false",
help="If specified, disables checking experiment expiry dates",
)
flag_parser.add_argument(
"--no_dbg_experiments",
action="store_true",
help="Prohibit 'debug' configurations",
default=False,
)
return flag_parser.parse_args(args)
@ -162,6 +168,10 @@ def _GenerateExperimentFiles(args, mode):
print("ERROR adding rollout spec")
sys.exit(1)
if mode != "test" and args.no_dbg_experiments:
print("Ensuring no debug experiments are configured")
compiler.EnsureNoDebugExperiments()
print(f"Mode = {mode} Generating experiments headers")
compiler.GenerateExperimentsHdr(_EXPERIMENTS_HDR_FILE, mode)

@ -15,7 +15,7 @@
set -e
cd $(dirname $0)/../..
tools/codegen/core/gen_experiments.py --check
tools/codegen/core/gen_experiments.py --check --no_dbg_experiments
# clang format
TEST='' \
CHANGED_FILES="$(git status --porcelain | awk '{print $2}' | tr '\n' ' ')" \

@ -14,5 +14,5 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'
PROTOBUF_VERSION = '3.27.2'

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_tools/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'

@ -14,5 +14,5 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'
PROTOBUF_VERSION = '3.27.2'

@ -14,5 +14,5 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
VERSION = '1.66.0.dev0'
VERSION = '1.67.0.dev0'
PROTOBUF_VERSION = '3.27.2'

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.66.0-dev
PROJECT_NUMBER = 1.67.0-dev
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.66.0-dev
PROJECT_NUMBER = 1.67.0-dev
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Core"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 42.0.0
PROJECT_NUMBER = 43.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Core"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 42.0.0
PROJECT_NUMBER = 43.0.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Objective-C"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.66.0-dev
PROJECT_NUMBER = 1.67.0-dev
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC Objective-C"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.66.0-dev
PROJECT_NUMBER = 1.67.0-dev
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC PHP"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.66.0-dev
PROJECT_NUMBER = 1.67.0-dev
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

@ -444,9 +444,9 @@ LANG_RELEASE_MATRIX = {
("v1.59.1", ReleaseInfo()),
("v1.60.1", ReleaseInfo()),
("v1.61.0", ReleaseInfo()),
("v1.63.1", ReleaseInfo()),
("v1.64.0", ReleaseInfo()),
("v1.65.0", ReleaseInfo()),
("v1.63.2", ReleaseInfo()),
("v1.64.2", ReleaseInfo()),
("v1.65.1", ReleaseInfo()),
]
),
"python": OrderedDict(

Loading…
Cancel
Save