lintingbin opened a new issue, #3587: URL: https://github.com/apache/amoro/issues/3587
### Search before asking - [x] I have searched in the [issues](https://github.com/apache/amoro/issues?q=is%3Aissue) and found no similar issues. ### What would you like to be improved? Clicking on a table name in the Amoro page expands the details of that table, but this detail page often takes tens of seconds to load, and sometimes even fails to load (likely exceeding 45 seconds). After a series of investigations, the issue was ultimately traced to the org.apache.iceberg.ClientPoolImpl:get() function. ``` `---ts=2025-05-30 10:24:43.900;thread_name=async-hive-commit-sync-executor-1;id=51;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@764c12b6 `---[24019.046181ms] org.apache.iceberg.ClientPoolImpl:get() `---[0.00% 0.00637ms ] org.apache.iceberg.relocated.com.google.common.base.Preconditions:checkState() #136 `---ts=2025-05-30 10:24:43.970;thread_name=async-hive-commit-sync-executor-8;id=58;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@764c12b6 `---[24023.81207ms] org.apache.iceberg.ClientPoolImpl:get() `---[0.00% 0.005494ms ] org.apache.iceberg.relocated.com.google.common.base.Preconditions:checkState() #136 `---ts=2025-05-30 10:24:43.970;thread_name=async-table-runtime-refresh-executor-1;id=61;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@764c12b6 `---[24244.33598ms] org.apache.iceberg.ClientPoolImpl:get() `---[0.00% 0.005209ms ] org.apache.iceberg.relocated.com.google.common.base.Preconditions:checkState() #136 ``` Further investigation revealed that the main issue was the excessively small size of the HiveClientPool, with a default value of only 2. ``` [arthas@1]$ vmtool --action getInstances --className org.apache.iceberg.ClientPoolImpl @ClientPoolImpl[][ @HiveClientPool[org.apache.iceberg.hive.HiveClientPool@771a5b18], ] [arthas@1]$ vmtool --action getInstances --className org.apache.iceberg.ClientPoolImpl --express 'instances[0].poolSize()' @Integer[2] ``` After adjusting this value to 20 in the production environment (restarting AMORO was required to modify the clients parameter), the issue was resolved. The table details page now loads within two seconds every time, solving a long-standing problem that had been troubling us. This is a significant improvement in user experience. <img width="1114" alt="Image" src="https://github.com/user-attachments/assets/3ccb8334-4755-4b5a-9663-0ded1d9a82ce" /> ### How should we improve? Essentially, this is a parameter of Iceberg, but it significantly impacts the Amoro experience. I think there are several aspects we can improve: 1. We can provide a default value for Amoro clients when initializing a Hive Metastore-type catalog, which can be configured to 5 or 10. 2. Add an explanation of the clients parameter in the Amoro catalog configuration documentation. <img width="704" alt="Image" src="https://github.com/user-attachments/assets/0233e194-b9ab-40ed-80aa-9686f3bbdd75" /> 3. Currently, the clients parameter requires a restart of Amoro to take effect, but it can be optimized to take effect without restarting. (Optional) ### Are you willing to submit PR? - [x] Yes I am willing to submit a PR! ### Subtasks _No response_ ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
