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]

Reply via email to