jerryshao opened a new issue, #11136:
URL: https://github.com/apache/gravitino/issues/11136
## Describe the subtask
The `RESTCatalog` instance in `IcebergCatalogUtil.loadRestCatalog` is
initialized with no explicit HTTP timeout configuration, falling back to
Iceberg's `HTTPClient` defaults (~5-minute socket timeout). Any latency or
unresponsiveness at the remote catalog ties up IRC server request threads for
the full default window. Under moderate concurrent load, this exhausts the
thread pool quickly and renders the IRC server unresponsive even when the root
cause is downstream.
**Files:**
-
`iceberg/iceberg-common/src/main/java/org/apache/gravitino/iceberg/common/utils/IcebergCatalogUtil.java`
(`loadRestCatalog` method)
-
`iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/CatalogWrapperForREST.java`
**Fix:** In `loadRestCatalog`, set HTTP timeout properties before calling
`restCatalog.initialize(...)`:
```java
properties.put("rest.client.connect-timeout-ms",
String.valueOf(connectTimeoutMs));
properties.put("rest.client.read-timeout-ms", String.valueOf(readTimeoutMs));
```
Provide sensible defaults (e.g., 10s connect, 60s read) and expose
`IcebergConfig` keys so operators can tune for their network and remote-catalog
characteristics.
## Parent issue
https://github.com/apache/gravitino/issues/11131
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]