Quick question related to the “Use Async Requests” option in Slice as I couldn’t find any other posts or documentation discussing this option.
At a high level, I understand the difference between synchronous vs async API requests. Trying to apply the same concept to Slice DBRW formulas, I assume that the Async option would not work well if there are dependencies between formulas (i.e., one DBRW value referenced by another DBRW formula). However, if there are no dependencies, Async should theoretically perform faster since it is firing out simultaneous requests.
Another consideration is that if Slice is already batch processing DBRW requests (rather than making separate API calls for each DBRW formula), is there any advantage to enabling Async (assuming there are no dependency issues)?
Overall, just seeking any general suggestions on when (or if) there are any advantages of having Async enabled (and any downsides). Thanks!
Hi @weiview
Use Async Request option changes the way Slice/Arc send requests to TM1. When the option is enabled, instead of waiting for each Rest API request to complete, TM1 sends the response that it accepted the job and we can get the results when it’s done. This is mostly needed for long running request (large mdx queries or execution of processes) against TM1 in the cloud, where servers may cut off requests after 60 seconds of waiting.
It does not affect batching or anything else in Slice.
Thanks,
Andrey
Thanks for the info @aeremenko!
-
If we are running smaller queries, it wouldn’t make a difference whether async is ON or OFF
-
If we have larger queries, Async ON can get around the server cutting off the request.
In both scenarios above, it seems like it wouldn’t hurt to have Async ON right? Would there be any situation where we would want it OFF?
The async request adds a very small overhead to the query. There is no reason to turn it on for on-premise customers. However, if you are on IBM Cloud, you should turn it on to avoid the 60-second timeout.
1 Like