diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index 9b6a7326890..841102ed029 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -253,12 +253,12 @@ def grpc_deps():
if "com_google_protobuf" not in native.existing_rules():
http_archive(
name = "com_google_protobuf",
- sha256 = "209385d3c08252e320196b628584c8007f849f9ec8a26c2796a886345ee58bb6",
- strip_prefix = "protobuf-2dca62f7296e5b49d729f7384f975cecb38382a0",
+ sha256 = "76a33e2136f23971ce46c72fd697cd94dc9f73d56ab23b753c3e16854c90ddfd",
+ strip_prefix = "protobuf-2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a",
urls = [
- # https://github.com/protocolbuffers/protobuf/commits/v23.1
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/2dca62f7296e5b49d729f7384f975cecb38382a0.tar.gz",
- "https://github.com/protocolbuffers/protobuf/archive/2dca62f7296e5b49d729f7384f975cecb38382a0.tar.gz",
+ # https://github.com/protocolbuffers/protobuf/commits/v23.4
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a.tar.gz",
+ "https://github.com/protocolbuffers/protobuf/archive/2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a.tar.gz",
],
patches = [
"@com_github_grpc_grpc//third_party:protobuf.patch",
@@ -393,12 +393,12 @@ def grpc_deps():
if "upb" not in native.existing_rules():
http_archive(
name = "upb",
- sha256 = "7d19f2ac9c1e508a86a272913d9aa67c8147827f949035828910bb05d9f2cf03",
- strip_prefix = "upb-61a97efa24a5ce01fb8cc73c9d1e6e7060f8ea98",
+ sha256 = "c29fbd26eb19f388a1894099fae5ae599210be22926e1e1694c0ed1284f1c151",
+ strip_prefix = "upb-455cfdb8ae60a1763e6d924e36851c6897a781bb",
urls = [
# https://github.com/protocolbuffers/upb/commits/23.x
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/61a97efa24a5ce01fb8cc73c9d1e6e7060f8ea98.tar.gz",
- "https://github.com/protocolbuffers/upb/archive/61a97efa24a5ce01fb8cc73c9d1e6e7060f8ea98.tar.gz",
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/455cfdb8ae60a1763e6d924e36851c6897a781bb.tar.gz",
+ "https://github.com/protocolbuffers/upb/archive/455cfdb8ae60a1763e6d924e36851c6897a781bb.tar.gz",
],
)
diff --git a/build_handwritten.yaml b/build_handwritten.yaml
index e88db27b9ca..603f55c9ed0 100644
--- a/build_handwritten.yaml
+++ b/build_handwritten.yaml
@@ -15,7 +15,7 @@ settings:
core_version: 33.0.0
csharp_major_version: 2
g_stands_for: grounded
- protobuf_version: 3.23.1
+ protobuf_version: 3.23.4
version: 1.57.0-dev
configs:
asan:
diff --git a/src/csharp/build/dependencies.props b/src/csharp/build/dependencies.props
index 83c4cd245d9..68ea3c813c5 100644
--- a/src/csharp/build/dependencies.props
+++ b/src/csharp/build/dependencies.props
@@ -2,6 +2,6 @@
2.57.0-dev
- 3.23.1
+ 3.23.4
diff --git a/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec b/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
index 3be7ccee34c..39681971f5e 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.23.1'
+ s.dependency '!ProtoCompiler', '3.23.4'
s.ios.deployment_target = '10.0'
s.osx.deployment_target = '10.12'
diff --git a/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec b/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
index f9b740a8bb2..36844ef4886 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.23.1'
+ s.dependency '!ProtoCompiler', '3.23.4'
s.ios.deployment_target = '10.0'
s.osx.deployment_target = '10.12'
diff --git a/src/objective-c/!ProtoCompiler.podspec b/src/objective-c/!ProtoCompiler.podspec
index 53a4be9fb0c..27a49ea0809 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.23.1'
+ v = '3.23.4'
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 091d90a2add..775112dae3f 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/SimpleRequest.php b/src/php/tests/interop/Grpc/Testing/SimpleRequest.php
index 2f2e5044d32..d09c3ff4df6 100644
--- a/src/php/tests/interop/Grpc/Testing/SimpleRequest.php
+++ b/src/php/tests/interop/Grpc/Testing/SimpleRequest.php
@@ -79,6 +79,18 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message
* Generated from protobuf field bool fill_grpclb_route_type = 10;
*/
protected $fill_grpclb_route_type = false;
+ /**
+ * If set the server should record this metrics report data for the current RPC.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_per_query_report = 11;
+ */
+ protected $orca_per_query_report = null;
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 12;
+ */
+ protected $orca_oob_report = null;
/**
* Constructor.
@@ -110,6 +122,10 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message
* Whether SimpleResponse should include server_id.
* @type bool $fill_grpclb_route_type
* Whether SimpleResponse should include grpclb_route_type.
+ * @type \Grpc\Testing\TestOrcaReport $orca_per_query_report
+ * If set the server should record this metrics report data for the current RPC.
+ * @type \Grpc\Testing\TestOrcaReport $orca_oob_report
+ * If set the server should update this metrics report data at the OOB server.
* }
*/
public function __construct($data = NULL) {
@@ -425,5 +441,77 @@ class SimpleRequest extends \Google\Protobuf\Internal\Message
return $this;
}
+ /**
+ * If set the server should record this metrics report data for the current RPC.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_per_query_report = 11;
+ * @return \Grpc\Testing\TestOrcaReport|null
+ */
+ public function getOrcaPerQueryReport()
+ {
+ return $this->orca_per_query_report;
+ }
+
+ public function hasOrcaPerQueryReport()
+ {
+ return isset($this->orca_per_query_report);
+ }
+
+ public function clearOrcaPerQueryReport()
+ {
+ unset($this->orca_per_query_report);
+ }
+
+ /**
+ * If set the server should record this metrics report data for the current RPC.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_per_query_report = 11;
+ * @param \Grpc\Testing\TestOrcaReport $var
+ * @return $this
+ */
+ public function setOrcaPerQueryReport($var)
+ {
+ GPBUtil::checkMessage($var, \Grpc\Testing\TestOrcaReport::class);
+ $this->orca_per_query_report = $var;
+
+ return $this;
+ }
+
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 12;
+ * @return \Grpc\Testing\TestOrcaReport|null
+ */
+ public function getOrcaOobReport()
+ {
+ return $this->orca_oob_report;
+ }
+
+ public function hasOrcaOobReport()
+ {
+ return isset($this->orca_oob_report);
+ }
+
+ public function clearOrcaOobReport()
+ {
+ unset($this->orca_oob_report);
+ }
+
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 12;
+ * @param \Grpc\Testing\TestOrcaReport $var
+ * @return $this
+ */
+ public function setOrcaOobReport($var)
+ {
+ GPBUtil::checkMessage($var, \Grpc\Testing\TestOrcaReport::class);
+ $this->orca_oob_report = $var;
+
+ return $this;
+ }
+
}
diff --git a/src/php/tests/interop/Grpc/Testing/StreamingOutputCallRequest.php b/src/php/tests/interop/Grpc/Testing/StreamingOutputCallRequest.php
index eb7c29af77c..6f37497ddc5 100644
--- a/src/php/tests/interop/Grpc/Testing/StreamingOutputCallRequest.php
+++ b/src/php/tests/interop/Grpc/Testing/StreamingOutputCallRequest.php
@@ -42,6 +42,12 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .grpc.testing.EchoStatus response_status = 7;
*/
protected $response_status = null;
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 8;
+ */
+ protected $orca_oob_report = null;
/**
* Constructor.
@@ -60,6 +66,8 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message
* Optional input payload sent along with the request.
* @type \Grpc\Testing\EchoStatus $response_status
* Whether server should return a given status
+ * @type \Grpc\Testing\TestOrcaReport $orca_oob_report
+ * If set the server should update this metrics report data at the OOB server.
* }
*/
public function __construct($data = NULL) {
@@ -197,5 +205,41 @@ class StreamingOutputCallRequest extends \Google\Protobuf\Internal\Message
return $this;
}
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 8;
+ * @return \Grpc\Testing\TestOrcaReport|null
+ */
+ public function getOrcaOobReport()
+ {
+ return $this->orca_oob_report;
+ }
+
+ public function hasOrcaOobReport()
+ {
+ return isset($this->orca_oob_report);
+ }
+
+ public function clearOrcaOobReport()
+ {
+ unset($this->orca_oob_report);
+ }
+
+ /**
+ * If set the server should update this metrics report data at the OOB server.
+ *
+ * Generated from protobuf field .grpc.testing.TestOrcaReport orca_oob_report = 8;
+ * @param \Grpc\Testing\TestOrcaReport $var
+ * @return $this
+ */
+ public function setOrcaOobReport($var)
+ {
+ GPBUtil::checkMessage($var, \Grpc\Testing\TestOrcaReport::class);
+ $this->orca_oob_report = $var;
+
+ return $this;
+ }
+
}
diff --git a/src/php/tests/interop/Grpc/Testing/TestOrcaReport.php b/src/php/tests/interop/Grpc/Testing/TestOrcaReport.php
new file mode 100644
index 00000000000..326e9dd0cd8
--- /dev/null
+++ b/src/php/tests/interop/Grpc/Testing/TestOrcaReport.php
@@ -0,0 +1,143 @@
+grpc.testing.TestOrcaReport
+ */
+class TestOrcaReport extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generated from protobuf field double cpu_utilization = 1;
+ */
+ protected $cpu_utilization = 0.0;
+ /**
+ * Generated from protobuf field double memory_utilization = 2;
+ */
+ protected $memory_utilization = 0.0;
+ /**
+ * Generated from protobuf field map request_cost = 3;
+ */
+ private $request_cost;
+ /**
+ * Generated from protobuf field map utilization = 4;
+ */
+ private $utilization;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type float $cpu_utilization
+ * @type float $memory_utilization
+ * @type array|\Google\Protobuf\Internal\MapField $request_cost
+ * @type array|\Google\Protobuf\Internal\MapField $utilization
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Src\Proto\Grpc\Testing\Messages::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field double cpu_utilization = 1;
+ * @return float
+ */
+ public function getCpuUtilization()
+ {
+ return $this->cpu_utilization;
+ }
+
+ /**
+ * Generated from protobuf field double cpu_utilization = 1;
+ * @param float $var
+ * @return $this
+ */
+ public function setCpuUtilization($var)
+ {
+ GPBUtil::checkDouble($var);
+ $this->cpu_utilization = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field double memory_utilization = 2;
+ * @return float
+ */
+ public function getMemoryUtilization()
+ {
+ return $this->memory_utilization;
+ }
+
+ /**
+ * Generated from protobuf field double memory_utilization = 2;
+ * @param float $var
+ * @return $this
+ */
+ public function setMemoryUtilization($var)
+ {
+ GPBUtil::checkDouble($var);
+ $this->memory_utilization = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field map request_cost = 3;
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getRequestCost()
+ {
+ return $this->request_cost;
+ }
+
+ /**
+ * Generated from protobuf field map request_cost = 3;
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ * @return $this
+ */
+ public function setRequestCost($var)
+ {
+ $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::DOUBLE);
+ $this->request_cost = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field map utilization = 4;
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getUtilization()
+ {
+ return $this->utilization;
+ }
+
+ /**
+ * Generated from protobuf field map utilization = 4;
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ * @return $this
+ */
+ public function setUtilization($var)
+ {
+ $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::DOUBLE);
+ $this->utilization = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/src/ruby/bin/math_pb.rb b/src/ruby/bin/math_pb.rb
index a365857c8a5..35c2a9b3e31 100644
--- a/src/ruby/bin/math_pb.rb
+++ b/src/ruby/bin/math_pb.rb
@@ -1,28 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: math.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("math.proto", :syntax => :proto3) do
- add_message "math.DivArgs" do
- optional :dividend, :int64, 1
- optional :divisor, :int64, 2
- end
- add_message "math.DivReply" do
- optional :quotient, :int64, 1
- optional :remainder, :int64, 2
- end
- add_message "math.FibArgs" do
- optional :limit, :int64, 1
- end
- add_message "math.Num" do
- optional :num, :int64, 1
- end
- add_message "math.FibReply" do
- optional :count, :int64, 1
+
+descriptor_data = "\n\nmath.proto\x12\x04math\",\n\x07\x44ivArgs\x12\x10\n\x08\x64ividend\x18\x01 \x01(\x03\x12\x0f\n\x07\x64ivisor\x18\x02 \x01(\x03\"/\n\x08\x44ivReply\x12\x10\n\x08quotient\x18\x01 \x01(\x03\x12\x11\n\tremainder\x18\x02 \x01(\x03\"\x18\n\x07\x46ibArgs\x12\r\n\x05limit\x18\x01 \x01(\x03\"\x12\n\x03Num\x12\x0b\n\x03num\x18\x01 \x01(\x03\"\x19\n\x08\x46ibReply\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x32\xa4\x01\n\x04Math\x12&\n\x03\x44iv\x12\r.math.DivArgs\x1a\x0e.math.DivReply\"\x00\x12.\n\x07\x44ivMany\x12\r.math.DivArgs\x1a\x0e.math.DivReply\"\x00(\x01\x30\x01\x12#\n\x03\x46ib\x12\r.math.FibArgs\x1a\t.math.Num\"\x00\x30\x01\x12\x1f\n\x03Sum\x12\t.math.Num\x1a\t.math.Num\"\x00(\x01\x62\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Math
diff --git a/src/ruby/pb/grpc/health/v1/health_pb.rb b/src/ruby/pb/grpc/health/v1/health_pb.rb
index eb99575ef29..0a676c2a99e 100644
--- a/src/ruby/pb/grpc/health/v1/health_pb.rb
+++ b/src/ruby/pb/grpc/health/v1/health_pb.rb
@@ -1,23 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: grpc/health/v1/health.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("grpc/health/v1/health.proto", :syntax => :proto3) do
- add_message "grpc.health.v1.HealthCheckRequest" do
- optional :service, :string, 1
- end
- add_message "grpc.health.v1.HealthCheckResponse" do
- optional :status, :enum, 1, "grpc.health.v1.HealthCheckResponse.ServingStatus"
- end
- add_enum "grpc.health.v1.HealthCheckResponse.ServingStatus" do
- value :UNKNOWN, 0
- value :SERVING, 1
- value :NOT_SERVING, 2
- value :SERVICE_UNKNOWN, 3
+
+descriptor_data = "\n\x1bgrpc/health/v1/health.proto\x12\x0egrpc.health.v1\"%\n\x12HealthCheckRequest\x12\x0f\n\x07service\x18\x01 \x01(\t\"\xa9\x01\n\x13HealthCheckResponse\x12\x41\n\x06status\x18\x01 \x01(\x0e\x32\x31.grpc.health.v1.HealthCheckResponse.ServingStatus\"O\n\rServingStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SERVING\x10\x01\x12\x0f\n\x0bNOT_SERVING\x10\x02\x12\x13\n\x0fSERVICE_UNKNOWN\x10\x03\x32\xae\x01\n\x06Health\x12P\n\x05\x43heck\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse\x12R\n\x05Watch\x12\".grpc.health.v1.HealthCheckRequest\x1a#.grpc.health.v1.HealthCheckResponse0\x01\x42\x61\n\x11io.grpc.health.v1B\x0bHealthProtoP\x01Z,google.golang.org/grpc/health/grpc_health_v1\xaa\x02\x0eGrpc.Health.V1b\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb b/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb
index 1e36a48e7be..eb477f682d3 100644
--- a/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb
+++ b/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb
@@ -1,13 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/empty.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/empty.proto", :syntax => :proto3) do
- add_message "grpc.testing.Empty" do
+
+descriptor_data = "\n\"src/proto/grpc/testing/empty.proto\x12\x0cgrpc.testing\"\x07\n\x05\x45mptyb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
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 bd5312b1f82..e6c43fc3571 100644
--- a/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
+++ b/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
@@ -1,121 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/messages.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/messages.proto", :syntax => :proto3) do
- add_message "grpc.testing.BoolValue" do
- optional :value, :bool, 1
- end
- add_message "grpc.testing.Payload" do
- optional :type, :enum, 1, "grpc.testing.PayloadType"
- optional :body, :bytes, 2
- end
- add_message "grpc.testing.EchoStatus" do
- optional :code, :int32, 1
- optional :message, :string, 2
- end
- add_message "grpc.testing.SimpleRequest" do
- optional :response_type, :enum, 1, "grpc.testing.PayloadType"
- optional :response_size, :int32, 2
- optional :payload, :message, 3, "grpc.testing.Payload"
- optional :fill_username, :bool, 4
- optional :fill_oauth_scope, :bool, 5
- optional :response_compressed, :message, 6, "grpc.testing.BoolValue"
- optional :response_status, :message, 7, "grpc.testing.EchoStatus"
- optional :expect_compressed, :message, 8, "grpc.testing.BoolValue"
- optional :fill_server_id, :bool, 9
- optional :fill_grpclb_route_type, :bool, 10
- end
- add_message "grpc.testing.SimpleResponse" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- optional :username, :string, 2
- optional :oauth_scope, :string, 3
- optional :server_id, :string, 4
- optional :grpclb_route_type, :enum, 5, "grpc.testing.GrpclbRouteType"
- optional :hostname, :string, 6
- end
- add_message "grpc.testing.StreamingInputCallRequest" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- optional :expect_compressed, :message, 2, "grpc.testing.BoolValue"
- end
- add_message "grpc.testing.StreamingInputCallResponse" do
- optional :aggregated_payload_size, :int32, 1
- end
- add_message "grpc.testing.ResponseParameters" do
- optional :size, :int32, 1
- optional :interval_us, :int32, 2
- optional :compressed, :message, 3, "grpc.testing.BoolValue"
- end
- add_message "grpc.testing.StreamingOutputCallRequest" do
- optional :response_type, :enum, 1, "grpc.testing.PayloadType"
- repeated :response_parameters, :message, 2, "grpc.testing.ResponseParameters"
- optional :payload, :message, 3, "grpc.testing.Payload"
- optional :response_status, :message, 7, "grpc.testing.EchoStatus"
- end
- add_message "grpc.testing.StreamingOutputCallResponse" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- end
- add_message "grpc.testing.ReconnectParams" do
- optional :max_reconnect_backoff_ms, :int32, 1
- end
- add_message "grpc.testing.ReconnectInfo" do
- optional :passed, :bool, 1
- repeated :backoff_ms, :int32, 2
- end
- add_message "grpc.testing.LoadBalancerStatsRequest" do
- optional :num_rpcs, :int32, 1
- optional :timeout_sec, :int32, 2
- end
- add_message "grpc.testing.LoadBalancerStatsResponse" do
- map :rpcs_by_peer, :string, :int32, 1
- optional :num_failures, :int32, 2
- map :rpcs_by_method, :string, :message, 3, "grpc.testing.LoadBalancerStatsResponse.RpcsByPeer"
- end
- add_message "grpc.testing.LoadBalancerStatsResponse.RpcsByPeer" do
- map :rpcs_by_peer, :string, :int32, 1
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsRequest" do
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsResponse" do
- map :num_rpcs_started_by_method, :string, :int32, 1
- map :num_rpcs_succeeded_by_method, :string, :int32, 2
- map :num_rpcs_failed_by_method, :string, :int32, 3
- map :stats_per_method, :string, :message, 4, "grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats"
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats" do
- optional :rpcs_started, :int32, 1
- map :result, :int32, :int32, 2
- end
- add_message "grpc.testing.ClientConfigureRequest" do
- repeated :types, :enum, 1, "grpc.testing.ClientConfigureRequest.RpcType"
- repeated :metadata, :message, 2, "grpc.testing.ClientConfigureRequest.Metadata"
- optional :timeout_sec, :int32, 3
- end
- add_message "grpc.testing.ClientConfigureRequest.Metadata" do
- optional :type, :enum, 1, "grpc.testing.ClientConfigureRequest.RpcType"
- optional :key, :string, 2
- optional :value, :string, 3
- end
- add_enum "grpc.testing.ClientConfigureRequest.RpcType" do
- value :EMPTY_CALL, 0
- value :UNARY_CALL, 1
- 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
- add_enum "grpc.testing.GrpclbRouteType" do
- value :GRPCLB_ROUTE_TYPE_UNKNOWN, 0
- value :GRPCLB_ROUTE_TYPE_FALLBACK, 1
- value :GRPCLB_ROUTE_TYPE_BACKEND, 2
+
+descriptor_data = "\n%src/proto/grpc/testing/messages.proto\x12\x0cgrpc.testing\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"@\n\x07Payload\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x0c\n\x04\x62ody\x18\x02 \x01(\x0c\"+\n\nEchoStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xfa\x03\n\rSimpleRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x15\n\rresponse_size\x18\x02 \x01(\x05\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x15\n\rfill_username\x18\x04 \x01(\x08\x12\x18\n\x10\x66ill_oauth_scope\x18\x05 \x01(\x08\x12\x34\n\x13response_compressed\x18\x06 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x32\n\x11\x65xpect_compressed\x18\x08 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x16\n\x0e\x66ill_server_id\x18\t \x01(\x08\x12\x1e\n\x16\x66ill_grpclb_route_type\x18\n \x01(\x08\x12;\n\x15orca_per_query_report\x18\x0b \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\x12\x35\n\x0forca_oob_report\x18\x0c \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"\xbe\x01\n\x0eSimpleResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0boauth_scope\x18\x03 \x01(\t\x12\x11\n\tserver_id\x18\x04 \x01(\t\x12\x38\n\x11grpclb_route_type\x18\x05 \x01(\x0e\x32\x1d.grpc.testing.GrpclbRouteType\x12\x10\n\x08hostname\x18\x06 \x01(\t\"w\n\x19StreamingInputCallRequest\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x32\n\x11\x65xpect_compressed\x18\x02 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"=\n\x1aStreamingInputCallResponse\x12\x1f\n\x17\x61ggregated_payload_size\x18\x01 \x01(\x05\"d\n\x12ResponseParameters\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x13\n\x0binterval_us\x18\x02 \x01(\x05\x12+\n\ncompressed\x18\x03 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"\x9f\x02\n\x1aStreamingOutputCallRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12=\n\x13response_parameters\x18\x02 \x03(\x0b\x32 .grpc.testing.ResponseParameters\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x35\n\x0forca_oob_report\x18\x08 \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"E\n\x1bStreamingOutputCallResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\"3\n\x0fReconnectParams\x12 \n\x18max_reconnect_backoff_ms\x18\x01 \x01(\x05\"3\n\rReconnectInfo\x12\x0e\n\x06passed\x18\x01 \x01(\x08\x12\x12\n\nbackoff_ms\x18\x02 \x03(\x05\"A\n\x18LoadBalancerStatsRequest\x12\x10\n\x08num_rpcs\x18\x01 \x01(\x05\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\x05\"\x8b\x04\n\x19LoadBalancerStatsResponse\x12M\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x37.grpc.testing.LoadBalancerStatsResponse.RpcsByPeerEntry\x12\x14\n\x0cnum_failures\x18\x02 \x01(\x05\x12Q\n\x0erpcs_by_method\x18\x03 \x03(\x0b\x32\x39.grpc.testing.LoadBalancerStatsResponse.RpcsByMethodEntry\x1a\x99\x01\n\nRpcsByPeer\x12X\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x42.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer.RpcsByPeerEntry\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1ag\n\x11RpcsByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer:\x02\x38\x01\"%\n#LoadBalancerAccumulatedStatsRequest\"\xd8\x07\n$LoadBalancerAccumulatedStatsResponse\x12v\n\x1anum_rpcs_started_by_method\x18\x01 \x03(\x0b\x32N.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsStartedByMethodEntryB\x02\x18\x01\x12z\n\x1cnum_rpcs_succeeded_by_method\x18\x02 \x03(\x0b\x32P.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsSucceededByMethodEntryB\x02\x18\x01\x12t\n\x19num_rpcs_failed_by_method\x18\x03 \x03(\x0b\x32M.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsFailedByMethodEntryB\x02\x18\x01\x12`\n\x10stats_per_method\x18\x04 \x03(\x0b\x32\x46.grpc.testing.LoadBalancerAccumulatedStatsResponse.StatsPerMethodEntry\x1a=\n\x1bNumRpcsStartedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a?\n\x1dNumRpcsSucceededByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a<\n\x1aNumRpcsFailedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\xae\x01\n\x0bMethodStats\x12\x14\n\x0crpcs_started\x18\x01 \x01(\x05\x12Z\n\x06result\x18\x02 \x03(\x0b\x32J.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats.ResultEntry\x1a-\n\x0bResultEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1au\n\x13StatsPerMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats:\x02\x38\x01\"\xba\x02\n\x16\x43lientConfigureRequest\x12;\n\x05types\x18\x01 \x03(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12?\n\x08metadata\x18\x02 \x03(\x0b\x32-.grpc.testing.ClientConfigureRequest.Metadata\x12\x13\n\x0btimeout_sec\x18\x03 \x01(\x05\x1a\x62\n\x08Metadata\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\")\n\x07RpcType\x12\x0e\n\nEMPTY_CALL\x10\x00\x12\x0e\n\nUNARY_CALL\x10\x01\"\x19\n\x17\x43lientConfigureResponse\"\x19\n\nMemorySize\x12\x0b\n\x03rss\x18\x01 \x01(\x03\"\xb6\x02\n\x0eTestOrcaReport\x12\x17\n\x0f\x63pu_utilization\x18\x01 \x01(\x01\x12\x1a\n\x12memory_utilization\x18\x02 \x01(\x01\x12\x43\n\x0crequest_cost\x18\x03 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.RequestCostEntry\x12\x42\n\x0butilization\x18\x04 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.UtilizationEntry\x1a\x32\n\x10RequestCostEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10UtilizationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01*\x1f\n\x0bPayloadType\x12\x10\n\x0c\x43OMPRESSABLE\x10\x00*o\n\x0fGrpclbRouteType\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_UNKNOWN\x10\x00\x12\x1e\n\x1aGRPCLB_ROUTE_TYPE_FALLBACK\x10\x01\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_BACKEND\x10\x02\x42\x1d\n\x1bio.grpc.testing.integrationb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
@@ -143,6 +56,7 @@ module Grpc
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
+ TestOrcaReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.TestOrcaReport").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/pb/src/proto/grpc/testing/test_pb.rb b/src/ruby/pb/src/proto/grpc/testing/test_pb.rb
index 5b77cebe14a..4f1ae087491 100644
--- a/src/ruby/pb/src/proto/grpc/testing/test_pb.rb
+++ b/src/ruby/pb/src/proto/grpc/testing/test_pb.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/test.proto
@@ -6,9 +7,31 @@ require 'google/protobuf'
require 'src/proto/grpc/testing/empty_pb'
require 'src/proto/grpc/testing/messages_pb'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/test.proto", :syntax => :proto3) do
+
+descriptor_data = "\n!src/proto/grpc/testing/test.proto\x12\x0cgrpc.testing\x1a\"src/proto/grpc/testing/empty.proto\x1a%src/proto/grpc/testing/messages.proto2\xcb\x05\n\x0bTestService\x12\x35\n\tEmptyCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12\x46\n\tUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12O\n\x12\x43\x61\x63heableUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12l\n\x13StreamingOutputCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse0\x01\x12i\n\x12StreamingInputCall\x12\'.grpc.testing.StreamingInputCallRequest\x1a(.grpc.testing.StreamingInputCallResponse(\x01\x12i\n\x0e\x46ullDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12i\n\x0eHalfDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2U\n\x14UnimplementedService\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2\x89\x01\n\x10ReconnectService\x12;\n\x05Start\x12\x1d.grpc.testing.ReconnectParams\x1a\x13.grpc.testing.Empty\x12\x38\n\x04Stop\x12\x13.grpc.testing.Empty\x1a\x1b.grpc.testing.ReconnectInfo2\x86\x02\n\x18LoadBalancerStatsService\x12\x63\n\x0eGetClientStats\x12&.grpc.testing.LoadBalancerStatsRequest\x1a\'.grpc.testing.LoadBalancerStatsResponse\"\x00\x12\x84\x01\n\x19GetClientAccumulatedStats\x12\x31.grpc.testing.LoadBalancerAccumulatedStatsRequest\x1a\x32.grpc.testing.LoadBalancerAccumulatedStatsResponse\"\x00\x32\x8b\x01\n\x16XdsUpdateHealthService\x12\x36\n\nSetServing\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12\x39\n\rSetNotServing\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2{\n\x1fXdsUpdateClientConfigureService\x12X\n\tConfigure\x12$.grpc.testing.ClientConfigureRequest\x1a%.grpc.testing.ClientConfigureResponseb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
+ end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/qps/src/proto/grpc/testing/benchmark_service_pb.rb b/src/ruby/qps/src/proto/grpc/testing/benchmark_service_pb.rb
index 959eec9899f..707cbf26b28 100644
--- a/src/ruby/qps/src/proto/grpc/testing/benchmark_service_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/benchmark_service_pb.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/benchmark_service.proto
@@ -5,9 +6,31 @@ require 'google/protobuf'
require 'src/proto/grpc/testing/messages_pb'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/benchmark_service.proto", :syntax => :proto3) do
+
+descriptor_data = "\n.src/proto/grpc/testing/benchmark_service.proto\x12\x0cgrpc.testing\x1a%src/proto/grpc/testing/messages.proto2\xf2\x03\n\x10\x42\x65nchmarkService\x12\x46\n\tUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12N\n\rStreamingCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse(\x01\x30\x01\x12R\n\x13StreamingFromClient\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse(\x01\x12R\n\x13StreamingFromServer\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse0\x01\x12R\n\x11StreamingBothWays\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse(\x01\x30\x01\x12J\n\x11GetBeforeSnapshot\x12\x1b.grpc.testing.SimpleRequest\x1a\x18.grpc.testing.MemorySizeb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
+ end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/qps/src/proto/grpc/testing/control_pb.rb b/src/ruby/qps/src/proto/grpc/testing/control_pb.rb
index 9d3f09542c3..e29a5d7c21b 100644
--- a/src/ruby/qps/src/proto/grpc/testing/control_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/control_pb.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/control.proto
@@ -7,163 +8,34 @@ require 'src/proto/grpc/testing/payloads_pb'
require 'src/proto/grpc/testing/stats_pb'
require 'google/protobuf/timestamp_pb'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/control.proto", :syntax => :proto3) do
- add_message "grpc.testing.PoissonParams" do
- optional :offered_load, :double, 1
- end
- add_message "grpc.testing.ClosedLoopParams" do
- end
- add_message "grpc.testing.LoadParams" do
- oneof :load do
- optional :closed_loop, :message, 1, "grpc.testing.ClosedLoopParams"
- optional :poisson, :message, 2, "grpc.testing.PoissonParams"
- end
- end
- add_message "grpc.testing.SecurityParams" do
- optional :use_test_ca, :bool, 1
- optional :server_host_override, :string, 2
- optional :cred_type, :string, 3
- end
- add_message "grpc.testing.ChannelArg" do
- optional :name, :string, 1
- oneof :value do
- optional :str_value, :string, 2
- optional :int_value, :int32, 3
- end
- end
- add_message "grpc.testing.ClientConfig" do
- repeated :server_targets, :string, 1
- optional :client_type, :enum, 2, "grpc.testing.ClientType"
- optional :security_params, :message, 3, "grpc.testing.SecurityParams"
- optional :outstanding_rpcs_per_channel, :int32, 4
- optional :client_channels, :int32, 5
- optional :async_client_threads, :int32, 7
- optional :rpc_type, :enum, 8, "grpc.testing.RpcType"
- optional :load_params, :message, 10, "grpc.testing.LoadParams"
- optional :payload_config, :message, 11, "grpc.testing.PayloadConfig"
- optional :histogram_params, :message, 12, "grpc.testing.HistogramParams"
- repeated :core_list, :int32, 13
- optional :core_limit, :int32, 14
- optional :other_client_api, :string, 15
- repeated :channel_args, :message, 16, "grpc.testing.ChannelArg"
- optional :threads_per_cq, :int32, 17
- optional :messages_per_stream, :int32, 18
- optional :use_coalesce_api, :bool, 19
- optional :median_latency_collection_interval_millis, :int32, 20
- optional :client_processes, :int32, 21
- end
- add_message "grpc.testing.ClientStatus" do
- optional :stats, :message, 1, "grpc.testing.ClientStats"
- end
- add_message "grpc.testing.Mark" do
- optional :reset, :bool, 1
- end
- add_message "grpc.testing.ClientArgs" do
- oneof :argtype do
- optional :setup, :message, 1, "grpc.testing.ClientConfig"
- optional :mark, :message, 2, "grpc.testing.Mark"
- end
- end
- add_message "grpc.testing.ServerConfig" do
- optional :server_type, :enum, 1, "grpc.testing.ServerType"
- optional :security_params, :message, 2, "grpc.testing.SecurityParams"
- optional :port, :int32, 4
- optional :async_server_threads, :int32, 7
- optional :core_limit, :int32, 8
- optional :payload_config, :message, 9, "grpc.testing.PayloadConfig"
- repeated :core_list, :int32, 10
- optional :other_server_api, :string, 11
- optional :threads_per_cq, :int32, 12
- optional :resource_quota_size, :int32, 1001
- repeated :channel_args, :message, 1002, "grpc.testing.ChannelArg"
- optional :server_processes, :int32, 21
- end
- add_message "grpc.testing.ServerArgs" do
- oneof :argtype do
- optional :setup, :message, 1, "grpc.testing.ServerConfig"
- optional :mark, :message, 2, "grpc.testing.Mark"
- end
- end
- add_message "grpc.testing.ServerStatus" do
- optional :stats, :message, 1, "grpc.testing.ServerStats"
- optional :port, :int32, 2
- optional :cores, :int32, 3
- end
- add_message "grpc.testing.CoreRequest" do
- end
- add_message "grpc.testing.CoreResponse" do
- optional :cores, :int32, 1
- end
- add_message "grpc.testing.Void" do
- end
- add_message "grpc.testing.Scenario" do
- optional :name, :string, 1
- optional :client_config, :message, 2, "grpc.testing.ClientConfig"
- optional :num_clients, :int32, 3
- optional :server_config, :message, 4, "grpc.testing.ServerConfig"
- optional :num_servers, :int32, 5
- optional :warmup_seconds, :int32, 6
- optional :benchmark_seconds, :int32, 7
- optional :spawn_local_worker_count, :int32, 8
- end
- add_message "grpc.testing.Scenarios" do
- repeated :scenarios, :message, 1, "grpc.testing.Scenario"
- end
- add_message "grpc.testing.ScenarioResultSummary" do
- optional :qps, :double, 1
- optional :qps_per_server_core, :double, 2
- optional :server_system_time, :double, 3
- optional :server_user_time, :double, 4
- optional :client_system_time, :double, 5
- optional :client_user_time, :double, 6
- optional :latency_50, :double, 7
- optional :latency_90, :double, 8
- optional :latency_95, :double, 9
- optional :latency_99, :double, 10
- optional :latency_999, :double, 11
- optional :server_cpu_usage, :double, 12
- optional :successful_requests_per_second, :double, 13
- optional :failed_requests_per_second, :double, 14
- optional :client_polls_per_request, :double, 15
- optional :server_polls_per_request, :double, 16
- optional :server_queries_per_cpu_sec, :double, 17
- optional :client_queries_per_cpu_sec, :double, 18
- optional :start_time, :message, 19, "google.protobuf.Timestamp"
- optional :end_time, :message, 20, "google.protobuf.Timestamp"
- end
- add_message "grpc.testing.ScenarioResult" do
- optional :scenario, :message, 1, "grpc.testing.Scenario"
- optional :latencies, :message, 2, "grpc.testing.HistogramData"
- repeated :client_stats, :message, 3, "grpc.testing.ClientStats"
- repeated :server_stats, :message, 4, "grpc.testing.ServerStats"
- repeated :server_cores, :int32, 5
- optional :summary, :message, 6, "grpc.testing.ScenarioResultSummary"
- repeated :client_success, :bool, 7
- repeated :server_success, :bool, 8
- repeated :request_results, :message, 9, "grpc.testing.RequestResultCount"
- end
- add_enum "grpc.testing.ClientType" do
- value :SYNC_CLIENT, 0
- value :ASYNC_CLIENT, 1
- value :OTHER_CLIENT, 2
- value :CALLBACK_CLIENT, 3
- end
- add_enum "grpc.testing.ServerType" do
- value :SYNC_SERVER, 0
- value :ASYNC_SERVER, 1
- value :ASYNC_GENERIC_SERVER, 2
- value :OTHER_SERVER, 3
- value :CALLBACK_SERVER, 4
- end
- add_enum "grpc.testing.RpcType" do
- value :UNARY, 0
- value :STREAMING, 1
- value :STREAMING_FROM_CLIENT, 2
- value :STREAMING_FROM_SERVER, 3
- value :STREAMING_BOTH_WAYS, 4
+
+descriptor_data = "\n$src/proto/grpc/testing/control.proto\x12\x0cgrpc.testing\x1a%src/proto/grpc/testing/payloads.proto\x1a\"src/proto/grpc/testing/stats.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"%\n\rPoissonParams\x12\x14\n\x0coffered_load\x18\x01 \x01(\x01\"\x12\n\x10\x43losedLoopParams\"{\n\nLoadParams\x12\x35\n\x0b\x63losed_loop\x18\x01 \x01(\x0b\x32\x1e.grpc.testing.ClosedLoopParamsH\x00\x12.\n\x07poisson\x18\x02 \x01(\x0b\x32\x1b.grpc.testing.PoissonParamsH\x00\x42\x06\n\x04load\"V\n\x0eSecurityParams\x12\x13\n\x0buse_test_ca\x18\x01 \x01(\x08\x12\x1c\n\x14server_host_override\x18\x02 \x01(\t\x12\x11\n\tcred_type\x18\x03 \x01(\t\"M\n\nChannelArg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x05H\x00\x42\x07\n\x05value\"\xbc\x05\n\x0c\x43lientConfig\x12\x16\n\x0eserver_targets\x18\x01 \x03(\t\x12-\n\x0b\x63lient_type\x18\x02 \x01(\x0e\x32\x18.grpc.testing.ClientType\x12\x35\n\x0fsecurity_params\x18\x03 \x01(\x0b\x32\x1c.grpc.testing.SecurityParams\x12$\n\x1coutstanding_rpcs_per_channel\x18\x04 \x01(\x05\x12\x17\n\x0f\x63lient_channels\x18\x05 \x01(\x05\x12\x1c\n\x14\x61sync_client_threads\x18\x07 \x01(\x05\x12\'\n\x08rpc_type\x18\x08 \x01(\x0e\x32\x15.grpc.testing.RpcType\x12-\n\x0bload_params\x18\n \x01(\x0b\x32\x18.grpc.testing.LoadParams\x12\x33\n\x0epayload_config\x18\x0b \x01(\x0b\x32\x1b.grpc.testing.PayloadConfig\x12\x37\n\x10histogram_params\x18\x0c \x01(\x0b\x32\x1d.grpc.testing.HistogramParams\x12\x11\n\tcore_list\x18\r \x03(\x05\x12\x12\n\ncore_limit\x18\x0e \x01(\x05\x12\x18\n\x10other_client_api\x18\x0f \x01(\t\x12.\n\x0c\x63hannel_args\x18\x10 \x03(\x0b\x32\x18.grpc.testing.ChannelArg\x12\x16\n\x0ethreads_per_cq\x18\x11 \x01(\x05\x12\x1b\n\x13messages_per_stream\x18\x12 \x01(\x05\x12\x18\n\x10use_coalesce_api\x18\x13 \x01(\x08\x12\x31\n)median_latency_collection_interval_millis\x18\x14 \x01(\x05\x12\x18\n\x10\x63lient_processes\x18\x15 \x01(\x05\"8\n\x0c\x43lientStatus\x12(\n\x05stats\x18\x01 \x01(\x0b\x32\x19.grpc.testing.ClientStats\"\x15\n\x04Mark\x12\r\n\x05reset\x18\x01 \x01(\x08\"h\n\nClientArgs\x12+\n\x05setup\x18\x01 \x01(\x0b\x32\x1a.grpc.testing.ClientConfigH\x00\x12\"\n\x04mark\x18\x02 \x01(\x0b\x32\x12.grpc.testing.MarkH\x00\x42\t\n\x07\x61rgtype\"\x97\x03\n\x0cServerConfig\x12-\n\x0bserver_type\x18\x01 \x01(\x0e\x32\x18.grpc.testing.ServerType\x12\x35\n\x0fsecurity_params\x18\x02 \x01(\x0b\x32\x1c.grpc.testing.SecurityParams\x12\x0c\n\x04port\x18\x04 \x01(\x05\x12\x1c\n\x14\x61sync_server_threads\x18\x07 \x01(\x05\x12\x12\n\ncore_limit\x18\x08 \x01(\x05\x12\x33\n\x0epayload_config\x18\t \x01(\x0b\x32\x1b.grpc.testing.PayloadConfig\x12\x11\n\tcore_list\x18\n \x03(\x05\x12\x18\n\x10other_server_api\x18\x0b \x01(\t\x12\x16\n\x0ethreads_per_cq\x18\x0c \x01(\x05\x12\x1c\n\x13resource_quota_size\x18\xe9\x07 \x01(\x05\x12/\n\x0c\x63hannel_args\x18\xea\x07 \x03(\x0b\x32\x18.grpc.testing.ChannelArg\x12\x18\n\x10server_processes\x18\x15 \x01(\x05\"h\n\nServerArgs\x12+\n\x05setup\x18\x01 \x01(\x0b\x32\x1a.grpc.testing.ServerConfigH\x00\x12\"\n\x04mark\x18\x02 \x01(\x0b\x32\x12.grpc.testing.MarkH\x00\x42\t\n\x07\x61rgtype\"U\n\x0cServerStatus\x12(\n\x05stats\x18\x01 \x01(\x0b\x32\x19.grpc.testing.ServerStats\x12\x0c\n\x04port\x18\x02 \x01(\x05\x12\r\n\x05\x63ores\x18\x03 \x01(\x05\"\r\n\x0b\x43oreRequest\"\x1d\n\x0c\x43oreResponse\x12\r\n\x05\x63ores\x18\x01 \x01(\x05\"\x06\n\x04Void\"\xfd\x01\n\x08Scenario\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\rclient_config\x18\x02 \x01(\x0b\x32\x1a.grpc.testing.ClientConfig\x12\x13\n\x0bnum_clients\x18\x03 \x01(\x05\x12\x31\n\rserver_config\x18\x04 \x01(\x0b\x32\x1a.grpc.testing.ServerConfig\x12\x13\n\x0bnum_servers\x18\x05 \x01(\x05\x12\x16\n\x0ewarmup_seconds\x18\x06 \x01(\x05\x12\x19\n\x11\x62\x65nchmark_seconds\x18\x07 \x01(\x05\x12 \n\x18spawn_local_worker_count\x18\x08 \x01(\x05\"6\n\tScenarios\x12)\n\tscenarios\x18\x01 \x03(\x0b\x32\x16.grpc.testing.Scenario\"\xe2\x04\n\x15ScenarioResultSummary\x12\x0b\n\x03qps\x18\x01 \x01(\x01\x12\x1b\n\x13qps_per_server_core\x18\x02 \x01(\x01\x12\x1a\n\x12server_system_time\x18\x03 \x01(\x01\x12\x18\n\x10server_user_time\x18\x04 \x01(\x01\x12\x1a\n\x12\x63lient_system_time\x18\x05 \x01(\x01\x12\x18\n\x10\x63lient_user_time\x18\x06 \x01(\x01\x12\x12\n\nlatency_50\x18\x07 \x01(\x01\x12\x12\n\nlatency_90\x18\x08 \x01(\x01\x12\x12\n\nlatency_95\x18\t \x01(\x01\x12\x12\n\nlatency_99\x18\n \x01(\x01\x12\x13\n\x0blatency_999\x18\x0b \x01(\x01\x12\x18\n\x10server_cpu_usage\x18\x0c \x01(\x01\x12&\n\x1esuccessful_requests_per_second\x18\r \x01(\x01\x12\"\n\x1a\x66\x61iled_requests_per_second\x18\x0e \x01(\x01\x12 \n\x18\x63lient_polls_per_request\x18\x0f \x01(\x01\x12 \n\x18server_polls_per_request\x18\x10 \x01(\x01\x12\"\n\x1aserver_queries_per_cpu_sec\x18\x11 \x01(\x01\x12\"\n\x1a\x63lient_queries_per_cpu_sec\x18\x12 \x01(\x01\x12.\n\nstart_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x83\x03\n\x0eScenarioResult\x12(\n\x08scenario\x18\x01 \x01(\x0b\x32\x16.grpc.testing.Scenario\x12.\n\tlatencies\x18\x02 \x01(\x0b\x32\x1b.grpc.testing.HistogramData\x12/\n\x0c\x63lient_stats\x18\x03 \x03(\x0b\x32\x19.grpc.testing.ClientStats\x12/\n\x0cserver_stats\x18\x04 \x03(\x0b\x32\x19.grpc.testing.ServerStats\x12\x14\n\x0cserver_cores\x18\x05 \x03(\x05\x12\x34\n\x07summary\x18\x06 \x01(\x0b\x32#.grpc.testing.ScenarioResultSummary\x12\x16\n\x0e\x63lient_success\x18\x07 \x03(\x08\x12\x16\n\x0eserver_success\x18\x08 \x03(\x08\x12\x39\n\x0frequest_results\x18\t \x03(\x0b\x32 .grpc.testing.RequestResultCount*V\n\nClientType\x12\x0f\n\x0bSYNC_CLIENT\x10\x00\x12\x10\n\x0c\x41SYNC_CLIENT\x10\x01\x12\x10\n\x0cOTHER_CLIENT\x10\x02\x12\x13\n\x0f\x43\x41LLBACK_CLIENT\x10\x03*p\n\nServerType\x12\x0f\n\x0bSYNC_SERVER\x10\x00\x12\x10\n\x0c\x41SYNC_SERVER\x10\x01\x12\x18\n\x14\x41SYNC_GENERIC_SERVER\x10\x02\x12\x10\n\x0cOTHER_SERVER\x10\x03\x12\x13\n\x0f\x43\x41LLBACK_SERVER\x10\x04*r\n\x07RpcType\x12\t\n\x05UNARY\x10\x00\x12\r\n\tSTREAMING\x10\x01\x12\x19\n\x15STREAMING_FROM_CLIENT\x10\x02\x12\x19\n\x15STREAMING_FROM_SERVER\x10\x03\x12\x17\n\x13STREAMING_BOTH_WAYS\x10\x04\x62\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ["grpc.testing.PayloadConfig", "src/proto/grpc/testing/payloads.proto"],
+ ["grpc.testing.HistogramParams", "src/proto/grpc/testing/stats.proto"],
+ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
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 bd5312b1f82..e6c43fc3571 100644
--- a/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/messages_pb.rb
@@ -1,121 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/messages.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/messages.proto", :syntax => :proto3) do
- add_message "grpc.testing.BoolValue" do
- optional :value, :bool, 1
- end
- add_message "grpc.testing.Payload" do
- optional :type, :enum, 1, "grpc.testing.PayloadType"
- optional :body, :bytes, 2
- end
- add_message "grpc.testing.EchoStatus" do
- optional :code, :int32, 1
- optional :message, :string, 2
- end
- add_message "grpc.testing.SimpleRequest" do
- optional :response_type, :enum, 1, "grpc.testing.PayloadType"
- optional :response_size, :int32, 2
- optional :payload, :message, 3, "grpc.testing.Payload"
- optional :fill_username, :bool, 4
- optional :fill_oauth_scope, :bool, 5
- optional :response_compressed, :message, 6, "grpc.testing.BoolValue"
- optional :response_status, :message, 7, "grpc.testing.EchoStatus"
- optional :expect_compressed, :message, 8, "grpc.testing.BoolValue"
- optional :fill_server_id, :bool, 9
- optional :fill_grpclb_route_type, :bool, 10
- end
- add_message "grpc.testing.SimpleResponse" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- optional :username, :string, 2
- optional :oauth_scope, :string, 3
- optional :server_id, :string, 4
- optional :grpclb_route_type, :enum, 5, "grpc.testing.GrpclbRouteType"
- optional :hostname, :string, 6
- end
- add_message "grpc.testing.StreamingInputCallRequest" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- optional :expect_compressed, :message, 2, "grpc.testing.BoolValue"
- end
- add_message "grpc.testing.StreamingInputCallResponse" do
- optional :aggregated_payload_size, :int32, 1
- end
- add_message "grpc.testing.ResponseParameters" do
- optional :size, :int32, 1
- optional :interval_us, :int32, 2
- optional :compressed, :message, 3, "grpc.testing.BoolValue"
- end
- add_message "grpc.testing.StreamingOutputCallRequest" do
- optional :response_type, :enum, 1, "grpc.testing.PayloadType"
- repeated :response_parameters, :message, 2, "grpc.testing.ResponseParameters"
- optional :payload, :message, 3, "grpc.testing.Payload"
- optional :response_status, :message, 7, "grpc.testing.EchoStatus"
- end
- add_message "grpc.testing.StreamingOutputCallResponse" do
- optional :payload, :message, 1, "grpc.testing.Payload"
- end
- add_message "grpc.testing.ReconnectParams" do
- optional :max_reconnect_backoff_ms, :int32, 1
- end
- add_message "grpc.testing.ReconnectInfo" do
- optional :passed, :bool, 1
- repeated :backoff_ms, :int32, 2
- end
- add_message "grpc.testing.LoadBalancerStatsRequest" do
- optional :num_rpcs, :int32, 1
- optional :timeout_sec, :int32, 2
- end
- add_message "grpc.testing.LoadBalancerStatsResponse" do
- map :rpcs_by_peer, :string, :int32, 1
- optional :num_failures, :int32, 2
- map :rpcs_by_method, :string, :message, 3, "grpc.testing.LoadBalancerStatsResponse.RpcsByPeer"
- end
- add_message "grpc.testing.LoadBalancerStatsResponse.RpcsByPeer" do
- map :rpcs_by_peer, :string, :int32, 1
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsRequest" do
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsResponse" do
- map :num_rpcs_started_by_method, :string, :int32, 1
- map :num_rpcs_succeeded_by_method, :string, :int32, 2
- map :num_rpcs_failed_by_method, :string, :int32, 3
- map :stats_per_method, :string, :message, 4, "grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats"
- end
- add_message "grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats" do
- optional :rpcs_started, :int32, 1
- map :result, :int32, :int32, 2
- end
- add_message "grpc.testing.ClientConfigureRequest" do
- repeated :types, :enum, 1, "grpc.testing.ClientConfigureRequest.RpcType"
- repeated :metadata, :message, 2, "grpc.testing.ClientConfigureRequest.Metadata"
- optional :timeout_sec, :int32, 3
- end
- add_message "grpc.testing.ClientConfigureRequest.Metadata" do
- optional :type, :enum, 1, "grpc.testing.ClientConfigureRequest.RpcType"
- optional :key, :string, 2
- optional :value, :string, 3
- end
- add_enum "grpc.testing.ClientConfigureRequest.RpcType" do
- value :EMPTY_CALL, 0
- value :UNARY_CALL, 1
- 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
- add_enum "grpc.testing.GrpclbRouteType" do
- value :GRPCLB_ROUTE_TYPE_UNKNOWN, 0
- value :GRPCLB_ROUTE_TYPE_FALLBACK, 1
- value :GRPCLB_ROUTE_TYPE_BACKEND, 2
+
+descriptor_data = "\n%src/proto/grpc/testing/messages.proto\x12\x0cgrpc.testing\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"@\n\x07Payload\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x0c\n\x04\x62ody\x18\x02 \x01(\x0c\"+\n\nEchoStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xfa\x03\n\rSimpleRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x15\n\rresponse_size\x18\x02 \x01(\x05\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x15\n\rfill_username\x18\x04 \x01(\x08\x12\x18\n\x10\x66ill_oauth_scope\x18\x05 \x01(\x08\x12\x34\n\x13response_compressed\x18\x06 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x32\n\x11\x65xpect_compressed\x18\x08 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x16\n\x0e\x66ill_server_id\x18\t \x01(\x08\x12\x1e\n\x16\x66ill_grpclb_route_type\x18\n \x01(\x08\x12;\n\x15orca_per_query_report\x18\x0b \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\x12\x35\n\x0forca_oob_report\x18\x0c \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"\xbe\x01\n\x0eSimpleResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0boauth_scope\x18\x03 \x01(\t\x12\x11\n\tserver_id\x18\x04 \x01(\t\x12\x38\n\x11grpclb_route_type\x18\x05 \x01(\x0e\x32\x1d.grpc.testing.GrpclbRouteType\x12\x10\n\x08hostname\x18\x06 \x01(\t\"w\n\x19StreamingInputCallRequest\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x32\n\x11\x65xpect_compressed\x18\x02 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"=\n\x1aStreamingInputCallResponse\x12\x1f\n\x17\x61ggregated_payload_size\x18\x01 \x01(\x05\"d\n\x12ResponseParameters\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x13\n\x0binterval_us\x18\x02 \x01(\x05\x12+\n\ncompressed\x18\x03 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"\x9f\x02\n\x1aStreamingOutputCallRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12=\n\x13response_parameters\x18\x02 \x03(\x0b\x32 .grpc.testing.ResponseParameters\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x35\n\x0forca_oob_report\x18\x08 \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"E\n\x1bStreamingOutputCallResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\"3\n\x0fReconnectParams\x12 \n\x18max_reconnect_backoff_ms\x18\x01 \x01(\x05\"3\n\rReconnectInfo\x12\x0e\n\x06passed\x18\x01 \x01(\x08\x12\x12\n\nbackoff_ms\x18\x02 \x03(\x05\"A\n\x18LoadBalancerStatsRequest\x12\x10\n\x08num_rpcs\x18\x01 \x01(\x05\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\x05\"\x8b\x04\n\x19LoadBalancerStatsResponse\x12M\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x37.grpc.testing.LoadBalancerStatsResponse.RpcsByPeerEntry\x12\x14\n\x0cnum_failures\x18\x02 \x01(\x05\x12Q\n\x0erpcs_by_method\x18\x03 \x03(\x0b\x32\x39.grpc.testing.LoadBalancerStatsResponse.RpcsByMethodEntry\x1a\x99\x01\n\nRpcsByPeer\x12X\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x42.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer.RpcsByPeerEntry\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1ag\n\x11RpcsByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer:\x02\x38\x01\"%\n#LoadBalancerAccumulatedStatsRequest\"\xd8\x07\n$LoadBalancerAccumulatedStatsResponse\x12v\n\x1anum_rpcs_started_by_method\x18\x01 \x03(\x0b\x32N.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsStartedByMethodEntryB\x02\x18\x01\x12z\n\x1cnum_rpcs_succeeded_by_method\x18\x02 \x03(\x0b\x32P.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsSucceededByMethodEntryB\x02\x18\x01\x12t\n\x19num_rpcs_failed_by_method\x18\x03 \x03(\x0b\x32M.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsFailedByMethodEntryB\x02\x18\x01\x12`\n\x10stats_per_method\x18\x04 \x03(\x0b\x32\x46.grpc.testing.LoadBalancerAccumulatedStatsResponse.StatsPerMethodEntry\x1a=\n\x1bNumRpcsStartedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a?\n\x1dNumRpcsSucceededByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a<\n\x1aNumRpcsFailedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\xae\x01\n\x0bMethodStats\x12\x14\n\x0crpcs_started\x18\x01 \x01(\x05\x12Z\n\x06result\x18\x02 \x03(\x0b\x32J.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats.ResultEntry\x1a-\n\x0bResultEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1au\n\x13StatsPerMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats:\x02\x38\x01\"\xba\x02\n\x16\x43lientConfigureRequest\x12;\n\x05types\x18\x01 \x03(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12?\n\x08metadata\x18\x02 \x03(\x0b\x32-.grpc.testing.ClientConfigureRequest.Metadata\x12\x13\n\x0btimeout_sec\x18\x03 \x01(\x05\x1a\x62\n\x08Metadata\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\")\n\x07RpcType\x12\x0e\n\nEMPTY_CALL\x10\x00\x12\x0e\n\nUNARY_CALL\x10\x01\"\x19\n\x17\x43lientConfigureResponse\"\x19\n\nMemorySize\x12\x0b\n\x03rss\x18\x01 \x01(\x03\"\xb6\x02\n\x0eTestOrcaReport\x12\x17\n\x0f\x63pu_utilization\x18\x01 \x01(\x01\x12\x1a\n\x12memory_utilization\x18\x02 \x01(\x01\x12\x43\n\x0crequest_cost\x18\x03 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.RequestCostEntry\x12\x42\n\x0butilization\x18\x04 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.UtilizationEntry\x1a\x32\n\x10RequestCostEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10UtilizationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01*\x1f\n\x0bPayloadType\x12\x10\n\x0c\x43OMPRESSABLE\x10\x00*o\n\x0fGrpclbRouteType\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_UNKNOWN\x10\x00\x12\x1e\n\x1aGRPCLB_ROUTE_TYPE_FALLBACK\x10\x01\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_BACKEND\x10\x02\x42\x1d\n\x1bio.grpc.testing.integrationb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
@@ -143,6 +56,7 @@ module Grpc
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
+ TestOrcaReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.TestOrcaReport").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/payloads_pb.rb b/src/ruby/qps/src/proto/grpc/testing/payloads_pb.rb
index 05f7969c714..e87bc874e2a 100644
--- a/src/ruby/qps/src/proto/grpc/testing/payloads_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/payloads_pb.rb
@@ -1,28 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/payloads.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/payloads.proto", :syntax => :proto3) do
- add_message "grpc.testing.ByteBufferParams" do
- optional :req_size, :int32, 1
- optional :resp_size, :int32, 2
- end
- add_message "grpc.testing.SimpleProtoParams" do
- optional :req_size, :int32, 1
- optional :resp_size, :int32, 2
- end
- add_message "grpc.testing.ComplexProtoParams" do
- end
- add_message "grpc.testing.PayloadConfig" do
- oneof :payload do
- optional :bytebuf_params, :message, 1, "grpc.testing.ByteBufferParams"
- optional :simple_params, :message, 2, "grpc.testing.SimpleProtoParams"
- optional :complex_params, :message, 3, "grpc.testing.ComplexProtoParams"
- end
+
+descriptor_data = "\n%src/proto/grpc/testing/payloads.proto\x12\x0cgrpc.testing\"7\n\x10\x42yteBufferParams\x12\x10\n\x08req_size\x18\x01 \x01(\x05\x12\x11\n\tresp_size\x18\x02 \x01(\x05\"8\n\x11SimpleProtoParams\x12\x10\n\x08req_size\x18\x01 \x01(\x05\x12\x11\n\tresp_size\x18\x02 \x01(\x05\"\x14\n\x12\x43omplexProtoParams\"\xca\x01\n\rPayloadConfig\x12\x38\n\x0e\x62ytebuf_params\x18\x01 \x01(\x0b\x32\x1e.grpc.testing.ByteBufferParamsH\x00\x12\x38\n\rsimple_params\x18\x02 \x01(\x0b\x32\x1f.grpc.testing.SimpleProtoParamsH\x00\x12:\n\x0e\x63omplex_params\x18\x03 \x01(\x0b\x32 .grpc.testing.ComplexProtoParamsH\x00\x42\t\n\x07payloadb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/qps/src/proto/grpc/testing/report_qps_scenario_service_pb.rb b/src/ruby/qps/src/proto/grpc/testing/report_qps_scenario_service_pb.rb
index c47aa17ac8c..bdb0d5d3c32 100644
--- a/src/ruby/qps/src/proto/grpc/testing/report_qps_scenario_service_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/report_qps_scenario_service_pb.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/report_qps_scenario_service.proto
@@ -5,9 +6,31 @@ require 'google/protobuf'
require 'src/proto/grpc/testing/control_pb'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/report_qps_scenario_service.proto", :syntax => :proto3) do
+
+descriptor_data = "\n8src/proto/grpc/testing/report_qps_scenario_service.proto\x12\x0cgrpc.testing\x1a$src/proto/grpc/testing/control.proto2^\n\x18ReportQpsScenarioService\x12\x42\n\x0eReportScenario\x12\x1c.grpc.testing.ScenarioResult\x1a\x12.grpc.testing.Voidb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
+ end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/qps/src/proto/grpc/testing/stats_pb.rb b/src/ruby/qps/src/proto/grpc/testing/stats_pb.rb
index a6b691e81c5..7051f22fdb1 100644
--- a/src/ruby/qps/src/proto/grpc/testing/stats_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/stats_pb.rb
@@ -1,43 +1,34 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/stats.proto
require 'google/protobuf'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/stats.proto", :syntax => :proto3) do
- add_message "grpc.testing.ServerStats" do
- optional :time_elapsed, :double, 1
- optional :time_user, :double, 2
- optional :time_system, :double, 3
- optional :total_cpu_time, :uint64, 4
- optional :idle_cpu_time, :uint64, 5
- optional :cq_poll_count, :uint64, 6
- end
- add_message "grpc.testing.HistogramParams" do
- optional :resolution, :double, 1
- optional :max_possible, :double, 2
- end
- add_message "grpc.testing.HistogramData" do
- repeated :bucket, :uint32, 1
- optional :min_seen, :double, 2
- optional :max_seen, :double, 3
- optional :sum, :double, 4
- optional :sum_of_squares, :double, 5
- optional :count, :double, 6
- end
- add_message "grpc.testing.RequestResultCount" do
- optional :status_code, :int32, 1
- optional :count, :int64, 2
- end
- add_message "grpc.testing.ClientStats" do
- optional :latencies, :message, 1, "grpc.testing.HistogramData"
- optional :time_elapsed, :double, 2
- optional :time_user, :double, 3
- optional :time_system, :double, 4
- repeated :request_results, :message, 5, "grpc.testing.RequestResultCount"
- optional :cq_poll_count, :uint64, 6
+
+descriptor_data = "\n\"src/proto/grpc/testing/stats.proto\x12\x0cgrpc.testing\"\x91\x01\n\x0bServerStats\x12\x14\n\x0ctime_elapsed\x18\x01 \x01(\x01\x12\x11\n\ttime_user\x18\x02 \x01(\x01\x12\x13\n\x0btime_system\x18\x03 \x01(\x01\x12\x16\n\x0etotal_cpu_time\x18\x04 \x01(\x04\x12\x15\n\ridle_cpu_time\x18\x05 \x01(\x04\x12\x15\n\rcq_poll_count\x18\x06 \x01(\x04\";\n\x0fHistogramParams\x12\x12\n\nresolution\x18\x01 \x01(\x01\x12\x14\n\x0cmax_possible\x18\x02 \x01(\x01\"w\n\rHistogramData\x12\x0e\n\x06\x62ucket\x18\x01 \x03(\r\x12\x10\n\x08min_seen\x18\x02 \x01(\x01\x12\x10\n\x08max_seen\x18\x03 \x01(\x01\x12\x0b\n\x03sum\x18\x04 \x01(\x01\x12\x16\n\x0esum_of_squares\x18\x05 \x01(\x01\x12\r\n\x05\x63ount\x18\x06 \x01(\x01\"8\n\x12RequestResultCount\x12\x13\n\x0bstatus_code\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\"\xcd\x01\n\x0b\x43lientStats\x12.\n\tlatencies\x18\x01 \x01(\x0b\x32\x1b.grpc.testing.HistogramData\x12\x14\n\x0ctime_elapsed\x18\x02 \x01(\x01\x12\x11\n\ttime_user\x18\x03 \x01(\x01\x12\x13\n\x0btime_system\x18\x04 \x01(\x01\x12\x39\n\x0frequest_results\x18\x05 \x03(\x0b\x32 .grpc.testing.RequestResultCount\x12\x15\n\rcq_poll_count\x18\x06 \x01(\x04\x62\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/src/ruby/qps/src/proto/grpc/testing/worker_service_pb.rb b/src/ruby/qps/src/proto/grpc/testing/worker_service_pb.rb
index d7c0977294d..be44d3155d1 100644
--- a/src/ruby/qps/src/proto/grpc/testing/worker_service_pb.rb
+++ b/src/ruby/qps/src/proto/grpc/testing/worker_service_pb.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: src/proto/grpc/testing/worker_service.proto
@@ -5,9 +6,31 @@ require 'google/protobuf'
require 'src/proto/grpc/testing/control_pb'
-Google::Protobuf::DescriptorPool.generated_pool.build do
- add_file("src/proto/grpc/testing/worker_service.proto", :syntax => :proto3) do
+
+descriptor_data = "\n+src/proto/grpc/testing/worker_service.proto\x12\x0cgrpc.testing\x1a$src/proto/grpc/testing/control.proto2\x97\x02\n\rWorkerService\x12\x45\n\tRunServer\x12\x18.grpc.testing.ServerArgs\x1a\x1a.grpc.testing.ServerStatus(\x01\x30\x01\x12\x45\n\tRunClient\x12\x18.grpc.testing.ClientArgs\x1a\x1a.grpc.testing.ClientStatus(\x01\x30\x01\x12\x42\n\tCoreCount\x12\x19.grpc.testing.CoreRequest\x1a\x1a.grpc.testing.CoreResponse\x12\x34\n\nQuitWorker\x12\x12.grpc.testing.Void\x1a\x12.grpc.testing.Voidb\x06proto3"
+
+pool = Google::Protobuf::DescriptorPool.generated_pool
+
+begin
+ pool.add_serialized_file(descriptor_data)
+rescue TypeError => e
+ # Compatibility code: will be removed in the next major version.
+ require 'google/protobuf/descriptor_pb'
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
+ parsed.clear_dependency
+ serialized = parsed.class.encode(parsed)
+ file = pool.add_serialized_file(serialized)
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
+ imports = [
+ ]
+ imports.each do |type_name, expected_filename|
+ import_file = pool.lookup(type_name).file_descriptor
+ if import_file.name != expected_filename
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
+ end
end
+ warn "Each proto file must use a consistent fully-qualified name."
+ warn "This will become an error in the next major version."
end
module Grpc
diff --git a/third_party/protobuf b/third_party/protobuf
index 2dca62f7296..2c5fa078d8e 160000
--- a/third_party/protobuf
+++ b/third_party/protobuf
@@ -1 +1 @@
-Subproject commit 2dca62f7296e5b49d729f7384f975cecb38382a0
+Subproject commit 2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a
diff --git a/third_party/protobuf.patch b/third_party/protobuf.patch
index 11b5b2467c0..d4262eed0e8 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.23.1'
+ __version__ = '4.23.4'
+
+if __name__ != '__main__':
+ try:
diff --git a/third_party/upb/bazel/workspace_deps.bzl b/third_party/upb/bazel/workspace_deps.bzl
index 2223e921798..d618cde6343 100644
--- a/third_party/upb/bazel/workspace_deps.bzl
+++ b/third_party/upb/bazel/workspace_deps.bzl
@@ -23,8 +23,8 @@ def upb_deps():
_github_archive,
name = "com_google_protobuf",
repo = "https://github.com/protocolbuffers/protobuf",
- commit = "71fca0ca15ca6f0cfe12c6593e7fc840f7ae0809",
- sha256 = "0b467b7c0b34515cf88a20c2fe5a550ae18cb55dcc76f8e2e659349c1169d48f",
+ commit = "571fae48b0370722e26abb267da5699694ca46e8",
+ sha256 = "74bc7f6ed83927ba2e32fc60ebab9aac28ab40ddffd8922a271a259f4f79911b",
patches = ["@upb//bazel:protobuf.patch"],
)
diff --git a/third_party/upb/upb/collections/map.c b/third_party/upb/upb/collections/map.c
index f076defa4ad..5c3da72e190 100644
--- a/third_party/upb/upb/collections/map.c
+++ b/third_party/upb/upb/collections/map.c
@@ -73,9 +73,9 @@ upb_MapInsertStatus upb_Map_Insert(upb_Map* map, upb_MessageValue key,
bool upb_Map_Delete(upb_Map* map, upb_MessageValue key, upb_MessageValue* val) {
upb_value v;
- const bool ok = _upb_Map_Delete(map, &key, map->key_size, &v);
- if (val) val->uint64_val = v.val;
- return ok;
+ const bool removed = _upb_Map_Delete(map, &key, map->key_size, &v);
+ if (val) _upb_map_fromvalue(v, val, map->val_size);
+ return removed;
}
bool upb_Map_Next(const upb_Map* map, upb_MessageValue* key,
diff --git a/third_party/upb/upb/collections/test.cc b/third_party/upb/upb/collections/test.cc
index d82c7f8a2ca..7046cedf821 100644
--- a/third_party/upb/upb/collections/test.cc
+++ b/third_party/upb/upb/collections/test.cc
@@ -27,7 +27,9 @@
#include "gtest/gtest.h"
#include "upb/base/descriptor_constants.h"
+#include "upb/base/string_view.h"
#include "upb/collections/array.h"
+#include "upb/collections/map.h"
#include "upb/upb.hpp"
TEST(CollectionsTest, Arrays) {
@@ -58,3 +60,20 @@ TEST(CollectionsTest, Arrays) {
EXPECT_EQ(upb_Array_Get(array, 4).int32_val, 0);
EXPECT_EQ(upb_Array_Get(array, 5).int32_val, 0);
}
+
+TEST(CollectionsTest, MapDeleteRegression) {
+ upb::Arena arena;
+ upb_Map* map = upb_Map_New(arena.ptr(), kUpb_CType_Int32, kUpb_CType_String);
+ upb_MessageValue key = {.int32_val = 0};
+ const char str[] = "abcde";
+ upb_MessageValue insert_value = {.str_val = upb_StringView_FromString(str)};
+ upb_MapInsertStatus st = upb_Map_Insert(map, key, insert_value, arena.ptr());
+ EXPECT_EQ(kUpb_MapInsertStatus_Inserted, st);
+
+ upb_MessageValue delete_value;
+ bool removed = upb_Map_Delete(map, key, &delete_value);
+ EXPECT_TRUE(removed);
+
+ EXPECT_TRUE(
+ upb_StringView_IsEqual(insert_value.str_val, delete_value.str_val));
+}
diff --git a/tools/distrib/python/grpc_version.py b/tools/distrib/python/grpc_version.py
index b8711c22c81..ce1329f8b62 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.57.0.dev0'
-PROTOBUF_VERSION = '3.23.1'
+PROTOBUF_VERSION = '3.23.4'
diff --git a/tools/distrib/python/grpcio_tools/grpc_version.py b/tools/distrib/python/grpcio_tools/grpc_version.py
index 8afa8bd1064..70635364ff4 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.57.0.dev0'
-PROTOBUF_VERSION = '3.23.1'
+PROTOBUF_VERSION = '3.23.4'
diff --git a/tools/distrib/python/grpcio_tools/protoc_lib_deps.py b/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
index f1f851ce10e..30fe241d15c 100644
--- a/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
+++ b/tools/distrib/python/grpcio_tools/protoc_lib_deps.py
@@ -303,4 +303,4 @@ CC_INCLUDES=[
]
PROTO_INCLUDE='third_party/protobuf/src'
-PROTOBUF_SUBMODULE_VERSION="2dca62f7296e5b49d729f7384f975cecb38382a0"
+PROTOBUF_SUBMODULE_VERSION="2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a"
diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index 95a0490ef48..ad3a809d22a 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 2dca62f7296e5b49d729f7384f975cecb38382a0
+third_party/protobuf 2c5fa078d8e86e5f4bd34e6f4c9ea9e8d7d4d44a
third_party/re2 0c5616df9c0aaa44c9440d87422012423d91c7d1
third_party/xds e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7
third_party/zlib 04f42ceca40f73e2978b50e93806c2a18c1281fc