@@ -59,6 +59,9 @@ pub struct RestConfig {
5959pub struct GrpcConfig {
6060 #[ serde( default = "GrpcConfig::default_max_message_size" ) ]
6161 pub max_message_size : ByteSize ,
62+ /// Search server responses can be larger when returning many hits.
63+ #[ serde( default = "GrpcConfig::default_max_search_message_size" ) ]
64+ pub max_search_message_size : ByteSize ,
6265 #[ serde( default ) ]
6366 pub tls : Option < TlsConfig > ,
6467 // If set, keeps idle connection alive by periodically perform a
@@ -104,6 +107,10 @@ impl GrpcConfig {
104107 ByteSize :: mib ( 20 )
105108 }
106109
110+ fn default_max_search_message_size ( ) -> ByteSize {
111+ ByteSize :: mib ( 60 )
112+ }
113+
107114 pub fn validate ( & self ) -> anyhow:: Result < ( ) > {
108115 ensure ! (
109116 self . max_message_size >= ByteSize :: mb( 1 ) ,
@@ -118,6 +125,7 @@ impl Default for GrpcConfig {
118125 fn default ( ) -> Self {
119126 Self {
120127 max_message_size : Self :: default_max_message_size ( ) ,
128+ max_search_message_size : Self :: default_max_search_message_size ( ) ,
121129 tls : None ,
122130 keep_alive : None ,
123131 }
@@ -846,13 +854,15 @@ mod tests {
846854 fn test_grpc_config_validate ( ) {
847855 let grpc_config = GrpcConfig {
848856 max_message_size : ByteSize :: mb ( 1 ) ,
857+ max_search_message_size : ByteSize :: mb ( 1 ) ,
849858 tls : None ,
850859 keep_alive : None ,
851860 } ;
852861 assert ! ( grpc_config. validate( ) . is_ok( ) ) ;
853862
854863 let grpc_config = GrpcConfig {
855864 max_message_size : ByteSize :: kb ( 1 ) ,
865+ max_search_message_size : ByteSize :: kb ( 1 ) ,
856866 tls : None ,
857867 keep_alive : None ,
858868 } ;
0 commit comments