In S3 external dam we have an issue displaying the asset tree for the first time. When there are many buckets, it takes a very long time to render the tree for the first time. Then the assets are cached and we don’t have this issue anymore. Also opening other folders has no problem.
The main issue is vaadin needs to know whether each folder has children or not. To do so, vaadin calls sequentially the hasChildren method in the corresponding HierarchicalDataProvider for the view. This is always translated into a remote API call. Thus, in case of having several buckets, rendering the tree when is not cached could take a long time.
- Verify whether a bucket has children or not within the getAllBuckets method. We do this in parallel instead of sequentially
- Override HierarchicalS3DataProvider.hasChildren to use this new property when available.
Notice it was not possible to override hasChildren, as it was never used. See
MGNLUI-6229 for more details.