Skip to content

Commit d13eea5

Browse files
Document GRPC settings and default values in README (opensearch-project#18506)
Signed-off-by: Karen Xu <[email protected]> Co-authored-by: Karen Xu <[email protected]>Signed-off-by: TJ Neuenfeldt <[email protected]>
1 parent 846d314 commit d13eea5

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

plugins/transport-grpc/README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
An auxiliary transport which runs in parallel to the REST API.
44
The `transport-grpc` plugin initializes a new client/server transport implementing a gRPC protocol on Netty4.
5-
5+
## GRPC Settings
66
Enable this transport with:
77

88
```
@@ -17,8 +17,30 @@ setting 'aux.transport.types', '[experiment
1717
setting 'aux.transport.experimental-secure-transport-grpc.port', '9400-9500' //optional
1818
```
1919

20-
Other gRPC settings:
2120

21+
### Other gRPC Settings
22+
23+
| Setting Name | Description | Example Value | Default Value |
24+
|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|
25+
| **grpc.publish_port** | The external port number that this node uses to publish itself to peers for gRPC transport. | `9400` | `-1` (disabled) |
26+
| **grpc.host** | List of addresses the gRPC server will bind to. | `["0.0.0.0"]` | `[]` |
27+
| **grpc.bind_host** | List of addresses to bind the gRPC server to. Can be distinct from publish hosts. | `["0.0.0.0", "::"]` | Value of `grpc.host` |
28+
| **grpc.publish_host** | List of hostnames or IPs published to peers for client connections. | `["thisnode.example.com"]` | Value of `grpc.host` |
29+
| **grpc.netty.worker_count** | Number of Netty worker threads for the gRPC server. Controls concurrency and parallelism. | `2` | Number of processors |
30+
| **grpc.netty.max_concurrent_connection_calls** | Maximum number of simultaneous in-flight requests allowed per client connection. | `200` | `100` |
31+
| **grpc.netty.max_connection_age** | Maximum age a connection is allowed before being gracefully closed. Supports time units like `ms`, `s`, `m`. | `500ms` | Not set (no limit) |
32+
| **grpc.netty.max_connection_idle** | Maximum duration a connection can be idle before being closed. Supports time units like `ms`, `s`, `m`. | `2m` | Not set (no limit) |
33+
| **grpc.netty.keepalive_timeout** | Time to wait for keepalive ping acknowledgment before closing the connection. Supports time units. | `1s` | Not set |
34+
| **grpc.netty.max_msg_size** | Maximum inbound message size for gRPC requests. Supports units like `b`, `kb`, `mb`, `gb`. | `10mb` or `10485760` | `10mb` |
35+
36+
---
37+
38+
### Notes:
39+
- For duration-based settings (e.g., `max_connection_age`), you can use units such as `ms` (milliseconds), `s` (seconds), `m` (minutes), etc.
40+
- For size-based settings (e.g., `max_msg_size`), you can use units such as `b` (bytes), `kb`, `mb`, `gb`, etc.
41+
- All settings are node-scoped unless otherwise specified.
42+
43+
### Example configurations:
2244
```
2345
setting 'grpc.publish_port', '9400'
2446
setting 'grpc.host', '["0.0.0.0"]'
@@ -28,6 +50,7 @@ setting 'grpc.netty.worker_count', '2'
2850
setting 'grpc.netty.max_concurrent_connection_calls', '200'
2951
setting 'grpc.netty.max_connection_age', '500ms'
3052
setting 'grpc.netty.max_connection_idle', '2m'
53+
setting 'grpc.netty.max_msg_size: '10mb'
3154
setting 'grpc.netty.keepalive_timeout', '1s'
3255
```
3356

0 commit comments

Comments
 (0)