Hi there,
i have reviewed the official Okta Template for Anything as a Source and noticed a logic gap in the session sizing calculation that might lead to unnecessary import sessions being created.
All XaaS templates follows the same underlying logic so I use as an example the XaaS for SmartHR.
xaasPagingV2.folder (222.2 KB)
Orchestrate Import from SmartHR
When calculating with the Calculate # session card, it only calculates based on maxRecordPerSession, but each session can take multiple bulk-loads up to the bulk-load limit, so we need to factor in the maxRecordPerBulkImport limit as well. So #session should be: Divide: Record Streamed by (maxRecordPerSessions*maxRecordsPerBulkImport)
numRecordsAlreadyProcessed should be = to Index*maxRecordsPerSession*maxRecordsPerSessionXaaS Import Session Handler
In the Calculate # bulk imports, numRecordsAlreadyProcessed should be Multiply Index*maxRecordsPerSession*maxRecordsPerBulkImport for the same reason as previous flow.
In the branching assign card (Calculate bulk imports) maxRecordPerSession is hardcoded to 50 instead of using the workflows variable, so it basically always use 50 sessions even when another number is being specified.
Attached my modified copy of the Implement Anything-as-a-Service (XaaS) with SmartHR
that leverageS a google spreadsheet as Input instead of SmartHR just to show you the logic