Hide Forgot
I see this in ResourceGroup entity: public static final String QUERY_DELETE_EXPLICIT_BY_RESOURCE_IDS = "DELETE FROM RHQ_RESOURCE_GROUP_RES_EXP_MAP WHERE RESOURCE_ID IN ( :resourceIds )"; public static final String QUERY_DELETE_IMPLICIT_BY_RESOURCE_IDS = "DELETE FROM RHQ_RESOURCE_GROUP_RES_IMP_MAP WHERE RESOURCE_ID IN ( :resourceIds )"; Anyone using this with a list of more than 1000 resources will hit the Oracle 1000-limit. We need to refactor these queries out or at least chunk their usage.
ahh. never mind. looks like the only place we end up using this comes from this chunked code: while (i < toBeDeletedResourceIds.size()) { int j = i + 1000; if (j > toBeDeletedResourceIds.size()) j = toBeDeletedResourceIds.size(); List<Integer> idsToDelete = toBeDeletedResourceIds.subList(i, j); log.debug("== Bounds " + i + ", " + j); boolean hasErrors = uninventoryResourcesBulkDelete(overlord, idsToDelete); if (hasErrors) { throw new IllegalArgumentException("Could not remove resources from their containing groups"); } i = j; } we should at least javadoc all the locations that use those queries to be careful not to use them as-is - they need to be chunked.