diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index 7ea0383ccdf86..e125eb558ece3 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -208,11 +208,11 @@ def grpc_deps():
if "com_google_protobuf" not in native.existing_rules():
http_archive(
name = "com_google_protobuf",
- sha256 = "fc4e76d540ade9a3a45cc6baf6d7c60eae2a414e2a454529b97b5364b9141ea9",
- strip_prefix = "protobuf-c9869dc7803eb0a21d7e589c40ff4f9288cd34ae",
+ sha256 = "6b6c30c00eacbc888414916c9784fd2159b5f4a7b7200d947a19dfdf70eef6ff",
+ strip_prefix = "protobuf-ab840345966d0fa8e7100d771c92a73bfbadd25c",
urls = [
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/c9869dc7803eb0a21d7e589c40ff4f9288cd34ae.tar.gz",
- "https://github.com/protocolbuffers/protobuf/archive/c9869dc7803eb0a21d7e589c40ff4f9288cd34ae.tar.gz",
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/ab840345966d0fa8e7100d771c92a73bfbadd25c.tar.gz",
+ "https://github.com/protocolbuffers/protobuf/archive/ab840345966d0fa8e7100d771c92a73bfbadd25c.tar.gz",
],
patches = ["@com_github_grpc_grpc//third_party:protobuf.patch"],
patch_args = ["-p1"],
diff --git a/build_handwritten.yaml b/build_handwritten.yaml
index e5e450632663a..8d932a6f19166 100644
--- a/build_handwritten.yaml
+++ b/build_handwritten.yaml
@@ -15,7 +15,7 @@ settings:
core_version: 26.0.0
csharp_major_version: 2
g_stands_for: gamma
- protobuf_version: 3.21.4
+ protobuf_version: 3.21.5
version: 1.49.0-dev
targets:
- name: gen_hpack_tables
diff --git a/src/csharp/build/dependencies.props b/src/csharp/build/dependencies.props
index 7c1ac8532f9ba..2980108299b5d 100644
--- a/src/csharp/build/dependencies.props
+++ b/src/csharp/build/dependencies.props
@@ -2,6 +2,6 @@
2.49.0-dev
- 3.21.4
+ 3.21.5
diff --git a/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec b/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
index b1488f3293301..bcd88f9f0ba66 100644
--- a/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
+++ b/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
@@ -100,7 +100,7 @@ Pod::Spec.new do |s|
s.preserve_paths = plugin
# Restrict the protoc version to the one supported by this plugin.
- s.dependency '!ProtoCompiler', '3.21.4'
+ s.dependency '!ProtoCompiler', '3.21.5'
# For the Protobuf dependency not to complain:
s.ios.deployment_target = '9.0'
s.osx.deployment_target = '10.10'
diff --git a/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec b/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
index 1bcfaaaaac4dd..4afb96b3ae2cd 100644
--- a/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
+++ b/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
@@ -102,7 +102,7 @@ Pod::Spec.new do |s|
s.preserve_paths = plugin
# Restrict the protoc version to the one supported by this plugin.
- s.dependency '!ProtoCompiler', '3.21.4'
+ s.dependency '!ProtoCompiler', '3.21.5'
# For the Protobuf dependency not to complain:
s.ios.deployment_target = '9.0'
s.osx.deployment_target = '10.10'
diff --git a/src/objective-c/!ProtoCompiler.podspec b/src/objective-c/!ProtoCompiler.podspec
index 4cd6f29ba71f9..6bab96dab39c1 100644
--- a/src/objective-c/!ProtoCompiler.podspec
+++ b/src/objective-c/!ProtoCompiler.podspec
@@ -36,7 +36,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'
- v = '3.21.4'
+ v = '3.21.5'
s.version = v
s.summary = 'The Protobuf Compiler (protoc) generates Objective-C files from .proto files'
s.description = <<-DESC
diff --git a/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Messages.php b/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Messages.php
index 17367829406a0..091d90a2adddc 100644
Binary files a/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Messages.php and b/src/php/tests/interop/GPBMetadata/Src/Proto/Grpc/Testing/Messages.php differ
diff --git a/src/php/tests/interop/Grpc/Testing/MemorySize.php b/src/php/tests/interop/Grpc/Testing/MemorySize.php
new file mode 100644
index 0000000000000..d5b1429539a61
--- /dev/null
+++ b/src/php/tests/interop/Grpc/Testing/MemorySize.php
@@ -0,0 +1,58 @@
+grpc.testing.MemorySize
+ */
+class MemorySize extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generated from protobuf field int64 rss = 1;
+ */
+ protected $rss = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $rss
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Src\Proto\Grpc\Testing\Messages::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field int64 rss = 1;
+ * @return int|string
+ */
+ public function getRss()
+ {
+ return $this->rss;
+ }
+
+ /**
+ * Generated from protobuf field int64 rss = 1;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setRss($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->rss = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb b/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
index 5b8b5cc3b0444..bd5312b1f829e 100644
--- a/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
+++ b/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
@@ -104,6 +104,9 @@
end
add_message "grpc.testing.ClientConfigureResponse" do
end
+ add_message "grpc.testing.MemorySize" do
+ optional :rss, :int64, 1
+ end
add_enum "grpc.testing.PayloadType" do
value :COMPRESSABLE, 0
end
@@ -139,6 +142,7 @@ module Testing
ClientConfigureRequest::Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.Metadata").msgclass
ClientConfigureRequest::RpcType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.RpcType").enummodule
ClientConfigureResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureResponse").msgclass
+ MemorySize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.MemorySize").msgclass
PayloadType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
GrpclbRouteType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.GrpclbRouteType").enummodule
end
diff --git a/src/ruby/qps/src/proto/grpc/testing/benchmark_service_services_pb.rb b/src/ruby/qps/src/proto/grpc/testing/benchmark_service_services_pb.rb
index 9439fe5029354..95fa4ec886bb0 100644
--- a/src/ruby/qps/src/proto/grpc/testing/benchmark_service_services_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/benchmark_service_services_pb.rb
@@ -48,6 +48,8 @@ class Service
# Two-sided unbounded streaming between server to client
# Both sides send the content of their own choice to the other
rpc :StreamingBothWays, stream(::Grpc::Testing::SimpleRequest), stream(::Grpc::Testing::SimpleResponse)
+ # Get the memory usage of process before server is made
+ rpc :GetBeforeSnapshot, ::Grpc::Testing::SimpleRequest, ::Grpc::Testing::MemorySize
end
Stub = Service.rpc_stub_class
diff --git a/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb b/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb
index 5b8b5cc3b0444..bd5312b1f829e 100644
--- a/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb
@@ -104,6 +104,9 @@
end
add_message "grpc.testing.ClientConfigureResponse" do
end
+ add_message "grpc.testing.MemorySize" do
+ optional :rss, :int64, 1
+ end
add_enum "grpc.testing.PayloadType" do
value :COMPRESSABLE, 0
end
@@ -139,6 +142,7 @@ module Testing
ClientConfigureRequest::Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.Metadata").msgclass
ClientConfigureRequest::RpcType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.RpcType").enummodule
ClientConfigureResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureResponse").msgclass
+ MemorySize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.MemorySize").msgclass
PayloadType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
GrpclbRouteType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.GrpclbRouteType").enummodule
end
diff --git a/third_party/protobuf b/third_party/protobuf
index c9869dc7803eb..ab840345966d0 160000
--- a/third_party/protobuf
+++ b/third_party/protobuf
@@ -1 +1 @@
-Subproject commit c9869dc7803eb0a21d7e589c40ff4f9288cd34ae
+Subproject commit ab840345966d0fa8e7100d771c92a73bfbadd25c
diff --git a/third_party/protobuf.patch b/third_party/protobuf.patch
index 62ca8adcd3cd5..c7790043f5eef 100644
--- a/third_party/protobuf.patch
+++ b/third_party/protobuf.patch
@@ -5,7 +5,7 @@ index 97ac28028..8b7585d9d 100644
@@ -31,3 +31,9 @@
# Copyright 2007 Google Inc. All Rights Reserved.
- __version__ = '4.21.4'
+ __version__ = '4.21.5'
+
+if __name__ != '__main__':
+ try:
diff --git a/tools/distrib/python/grpc_version.py b/tools/distrib/python/grpc_version.py
index 6ac57967089d2..ab81bd64f4fb2 100644
--- a/tools/distrib/python/grpc_version.py
+++ b/tools/distrib/python/grpc_version.py
@@ -15,4 +15,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
VERSION = '1.49.0.dev0'
-PROTOBUF_VERSION = '3.21.4'
+PROTOBUF_VERSION = '3.21.5'
diff --git a/tools/distrib/python/grpcio_tools/grpc_version.py b/tools/distrib/python/grpcio_tools/grpc_version.py
index d4fccd399244c..a331a8b01cc92 100644
--- a/tools/distrib/python/grpcio_tools/grpc_version.py
+++ b/tools/distrib/python/grpcio_tools/grpc_version.py
@@ -15,4 +15,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
VERSION = '1.49.0.dev0'
-PROTOBUF_VERSION = '3.21.4'
+PROTOBUF_VERSION = '3.21.5'
diff --git a/tools/distrib/python/grpcio_tools/protoc_lib_deps.py b/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
index e55192f1e13fb..1f6318eb5d391 100644
--- a/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
+++ b/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
@@ -20,4 +20,4 @@
CC_INCLUDE='third_party/protobuf/src'
PROTO_INCLUDE='third_party/protobuf/src'
-PROTOBUF_SUBMODULE_VERSION="c9869dc7803eb0a21d7e589c40ff4f9288cd34ae"
+PROTOBUF_SUBMODULE_VERSION="ab840345966d0fa8e7100d771c92a73bfbadd25c"
diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index f07bc39382ad3..73bf970fcb0dd 100755
--- a/tools/run_tests/sanity/check_submodules.sh
+++ b/tools/run_tests/sanity/check_submodules.sh
@@ -36,7 +36,7 @@ third_party/googletest 0e402173c97aea7a00749e825b194bfede4f2e45
third_party/libuv 02a9e1be252b623ee032a3137c0b0c94afbe6809
third_party/opencensus-proto 4aa53e15cbf1a47bc9087e6cfdca214c1eea4e89
third_party/opentelemetry 60fa8754d890b5c55949a8c68dcfd7ab5c2395df
-third_party/protobuf c9869dc7803eb0a21d7e589c40ff4f9288cd34ae
+third_party/protobuf ab840345966d0fa8e7100d771c92a73bfbadd25c
third_party/re2 8e08f47b11b413302749c0d8b17a1c94777495d5
third_party/xds cb28da3451f158a947dfc45090fe92b07b243bc1
third_party/zlib 21767c654d31d2dccdde4330529775c6c5fd5389