Hi All,
We installed V3.1 Azure Active Directory (MSGraph Connector) on our Identity Cloud instance and started getting “Invalid page size specified: ‘1000’. Must be between 1 and 999 inclusive.” error when running reconciliation. Is there any way to update page size on the connector configuration to bypass this issue?
Here is the error trace for reference:
{
"payload": "org.forgerock.openidm.sync.SynchronizationException: Invalid page size specified: '1000'. Must be between 1 and 999 inclusive.\n\tat org.forgerock.openidm.sync.ReconTypeBase.query(ReconTypeBase.java:324)\n\tat org.forgerock.openidm.sync.ReconTypeByQuery.querySource(ReconTypeByQuery.java:53)\n\tat org.forgerock.openidm.sync.ReconciliationContext.querySourceIter(ReconciliationContext.java:392)\n\tat org.forgerock.openidm.sync.NonClusteredRecon.dispatchRecon(NonClusteredRecon.java:140)\n\tat org.forgerock.openidm.sync.ReconciliationService.lambda$reconcile$10(ReconciliationService.java:561)\n\tat org.forgerock.openidm.metrics.MetricsCollector.time(MetricsCollector.java:112)\n\tat org.forgerock.openidm.sync.ReconciliationService.lambda$reconcile$11(ReconciliationService.java:560)\n\tat java.base/java.util.Optional.map(Unknown Source)\n\tat org.forgerock.openidm.sync.ReconciliationService.reconcile(ReconciliationService.java:560)\n\tat org.forgerock.openidm.sync.ReconciliationService.lambda$reconcileViaExecutor$9(ReconciliationService.java:539)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\nCaused by: org.forgerock.json.resource.BadRequestException: Invalid page size specified: '1000'. Must be between 1 and 999 inclusive.\n\tat org.forgerock.openidm.provisioner.openicf.impl.ObjectClassResourceProvider.handleQuery(ObjectClassResourceProvider.java:580)\n\tat org.forgerock.json.resource.Router.handleQuery(Router.java:314)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:94)\n\tat org.forgerock.json.resource.ResourceApiVersionRoutingFilter.filterQuery(ResourceApiVersionRoutingFilter.java:71)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.FilterChain.handleQuery(FilterChain.java:249)\n\tat org.forgerock.json.resource.Router.handleQuery(Router.java:314)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:94)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.openidm.audit.filter.AuditFilter.lambda$filterQuery$4(AuditFilter.java:143)\n\tat org.forgerock.openidm.audit.filter.AuditFilter.logAuditAccessEntry(AuditFilter.java:175)\n\tat org.forgerock.openidm.audit.filter.AuditFilter.filterQuery(AuditFilter.java:143)\n\tat org.forgerock.openidm.router.filter.MutableFilterDecorator.filterQuery(MutableFilterDecorator.java:90)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:82)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.openidm.servlet.internal.DefaultApiVersionFilter.lambda$filterQuery$6(DefaultApiVersionFilter.java:201)\n\tat org.forgerock.openidm.servlet.internal.DefaultApiVersionFilter.handleRequest(DefaultApiVersionFilter.java:219)\n\tat org.forgerock.openidm.servlet.internal.DefaultApiVersionFilter.filterQuery(DefaultApiVersionFilter.java:201)\n\tat org.forgerock.openidm.router.filter.MutableFilterDecorator.filterQuery(MutableFilterDecorator.java:90)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.openidm.servlet.internal.ResourceFilters$3.lambda$filterQuery$4(ResourceFilters.java:197)\n\tat org.forgerock.openidm.servlet.internal.ResourceFilters$3.handleRequestWithLogging(ResourceFilters.java:225)\n\tat org.forgerock.openidm.servlet.internal.ResourceFilters$3.filterQuery(ResourceFilters.java:197)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.openidm.router.filter.QueryIdToQueryFilterTransformFilter.filterQuery(QueryIdToQueryFilterTransformFilter.java:258)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:82)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.Filters$ConditionalFilter.filterQuery(Filters.java:84)\n\tat org.forgerock.json.resource.FilterChain$Cursor.handleQuery(FilterChain.java:92)\n\tat org.forgerock.json.resource.FilterChain.handleQuery(FilterChain.java:249)\n\tat org.forgerock.json.resource.InternalConnection.queryAsync(InternalConnection.java:74)\n\tat org.forgerock.json.resource.AbstractAsynchronousConnection.query(AbstractAsynchronousConnection.java:72)\n\tat org.forgerock.json.resource.AbstractConnectionWrapper.query(AbstractConnectionWrapper.java:165)\n\tat org.forgerock.openidm.servlet.internal.ServletConnectionFactory$InternalConnectionWrapper.lambda$query$12(ServletConnectionFactory.java:350)\n\tat org.forgerock.openidm.metrics.MetricsCollector.time(MetricsCollector.java:51)\n\tat org.forgerock.openidm.metrics.MetricsCollector.time(MetricsCollector.java:68)\n\tat org.forgerock.openidm.servlet.internal.ServletConnectionFactory$InternalConnectionWrapper.time(ServletConnectionFactory.java:265)\n\tat org.forgerock.openidm.servlet.internal.ServletConnectionFactory$InternalConnectionWrapper.query(ServletConnectionFactory.java:350)\n\tat org.forgerock.json.resource.AbstractConnectionWrapper.query(AbstractConnectionWrapper.java:165)\n\tat org.forgerock.openidm.sync.ReconTypeBase.query(ReconTypeBase.java:285)\n\t... 12 more\nCaused by: java.lang.IllegalArgumentException: Invalid page size specified: '1000'. Must be between 1 and 999 inclusive.\n\tat org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIUtils.adaptedClientException(MSGraphAPIUtils.java:351)\n\tat org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector.executeQuery(MSGraphAPIConnector.java:301)\n\tat org.forgerock.openicf.connectors.msgraphapi.MSGraphAPIConnector.executeQuery(MSGraphAPIConnector.java:1)\n\tat org.identityconnectors.framework.impl.api.local.operations.SearchImpl.rawSearch(SearchImpl.java:162)\n\tat org.identityconnectors.framework.impl.api.local.operations.SearchImpl.search(SearchImpl.java:118)\n\tat jdk.internal.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:104)\n\tat jdk.proxy14/jdk.proxy14.$Proxy89.search(Unknown Source)\n\tat jdk.internal.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:96)\n\tat jdk.proxy14/jdk.proxy14.$Proxy89.search(Unknown Source)\n\tat jdk.internal.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.identityconnectors.framework.impl.api.BufferedResultsProxy$BufferedResultsHandler.run(BufferedResultsProxy.java:157)\nCaused by: com.microsoft.graph.http.GraphServiceException: Error code: Request_UnsupportedQuery",
"timestamp": "2024-04-04T14:21:46.112000822Z",
"type": "text/plain",
"source": "idm-core"
}
{
"payload": "Error message: Invalid page size specified: '1000'. Must be between 1 and 999 inclusive.",
"timestamp": "2024-04-04T14:21:46.112664798Z",
"type": "text/plain",
"source": "idm-core"
}
{
"payload": "GET https://graph.microsoft.com/v1.0/users?%24top=1000&%24select=country%2CpreferredLanguage%2Cmail%2Ccity%2CdisplayName%2CcompanyName%2CjobTitle%2CpostalCode%2CaccountEnabled%2Csurname%2Cstate%2Cdepartment%2CuserPrincipalName%2CmailNickname%2CgivenName%2ConPremisesSecurityIdentifier%2CproxyAddresses%2CotherMails%2CmobilePhone%2CstreetAddress%2ConPremisesImmutableId%2CusageLocation%2CuserType%2Cid",
"timestamp": "2024-04-04T14:21:46.112677621Z",
"type": "text/plain",
"source": "idm-core"
}