Zhimin Wu created KYLIN-5834:
--------------------------------
Summary: The system reports error when the number of models
exported exceeds 256 at a time
Key: KYLIN-5834
URL: https://issues.apache.org/jira/browse/KYLIN-5834
Project: Kylin
Issue Type: Bug
Components: Metadata
Affects Versions: 5.0-beta
Reporter: Zhimin Wu
Assignee: Zhimin Wu
Fix For: 5.0.0
*Back Ground*
Kylin's model export feature generates a compressed package containing all
selected models for export. However, when the number of selected models exceeds
256, the export function will fail and display an unfriendly error message to
the user on a separate page, indicating an "IndexOutOfBoundsException: Index:
256".
*Root Cause*
The size of the list received from the frontend has exceeded the maximum limit
set for form-urlencoded request parameters in Spring. The default limit for the
automatic growth of arrays and collections in Spring's DataBinder class is 256.
*Dev Design*
A new system configuration item,
"kylin.web.data-binder.auto-grow-collection-limit", has been added to
"KylinConfigBase.java". This item allows users to set the limit for the size of
array lists when handling request parameters. The default value is 256.
In the base controller class "NBasicController.java", the parameter
"autoGrowCollectionLimit" is set to the value of the system configuration item
"kylin.web.data-binder.auto-grow-collection-limit". It should be noted that
setting this value too high could potentially lead to out of memory errors if
the application is subject to network attacks, such as a request containing
"ids[100000]". This change will affect all subclasses that inherit from the
base controller class.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)