Describe the bug
DSpace-CRIS uses the method findAllById (while generic DSpace does not do that). Unfortunately, if the page size in the search results is set too high and there are results with too many authors, it may happen, that it contains too many IDs at once. One example, where that happens, is https://tore.tuhh.de/search?query=wiedorn. The result list for this simple query does never return and there is only a never ending loading loop on the result page. The reason for this failing search is the API call for https://tore.tuhh.de/dspace-cris-server/api/core/items/search/findAllById
The query contains 195 id parameters and is throwing a 400 error.
Expected behavior
I would expect, that the query should not fail. I realise, that this problem is not easily resolvable and certainly a little bit special, but maybe it's worth to consider changing the implementation of https://github.com/4Science/DSpace/blob/main-cris/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java#L410. To be honest, I do not have an exact idea about that, but I am almost certain, that it should be possible to improve that (for instance by asking core/items/search/findAllById for only single IDs in the result one after the other or by limiting the query to a fixed maximum number of UUIDs to be queried).
Describe the bug DSpace-CRIS uses the method findAllById (while generic DSpace does not do that). Unfortunately, if the page size in the search results is set too high and there are results with too many authors, it may happen, that it contains too many IDs at once. One example, where that happens, is https://tore.tuhh.de/search?query=wiedorn. The result list for this simple query does never return and there is only a never ending loading loop on the result page. The reason for this failing search is the API call for https://tore.tuhh.de/dspace-cris-server/api/core/items/search/findAllById
The query contains 195 id parameters and is throwing a 400 error.
To Reproduce Steps to reproduce the behavior: See bug description: https://tore.tuhh.de/search?query=wiedorn
Expected behavior I would expect, that the query should not fail. I realise, that this problem is not easily resolvable and certainly a little bit special, but maybe it's worth to consider changing the implementation of https://github.com/4Science/DSpace/blob/main-cris/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java#L410. To be honest, I do not have an exact idea about that, but I am almost certain, that it should be possible to improve that (for instance by asking core/items/search/findAllById for only single IDs in the result one after the other or by limiting the query to a fixed maximum number of UUIDs to be queried).
Related work None I am aware of.