Forum Discussion
How many sessions I could run in F2 Capacity?
- 1 year ago
Hi AnmolGan81 ,
Thanks for the detailed update and for sharing what you’ve observed, it’s great that you’ve figured out what’s happening with the sessions.
The issue seems to be:
On an F2 SKU, the limited resources (4 Spark vCores) mean you can only run one Spark session at a time, regardless of how many notebooks you’re using. So, if there’s an active session in one notebook, trying to start another session in a different notebook results in the "too many requests" error.
You’re also right that just closing the notebook or stopping the job from the Monitor doesn’t fully terminate the session unless it times out or you explicitly stop it.
A Few Suggestions:
-
Ensure the Session is Stopped:
-Adding spark.stop() to the end of your notebook is the reliable way to free up resources.
-Restarting the capacity works, but that’s more of a workaround than a long-term fix. -
Enable Bursting (with Limitations):
-Bursting temporarily increases the available Spark vCores for your capacity (e.g., an F2 SKU can scale up to 20 Spark vCores during bursts).
-This allows for better concurrency, meaning you may be able to run multiple notebooks simultaneously during a burst period, provided the combined workload does not exceed the burst limit.
-However, bursting is not a permanent solution and can only support short-term spikes in usage. If both jobs are resource-intensive, you might still run into resource contention even with bursting enabled.
-Bursting depends on resource availability, and it's important to note that it only helps with concurrency but doesn't guarantee success for all parallel workloads. -
Upgrade Your Capacity:
-If running multiple sessions in parallel is essential, upgrading to an F4 SKU or higher would provide more Spark vCores and better concurrency support.
Let me know if you need help managing sessions, enabling bursting, or exploring capacity options. Happy to assist further!
If this helps, please accept as solution to help others benefit, a kudos would be appreciated.
Best regards,
Vinay. -
When I try to get into the notebook and try to run the same query I get below error, and nothing is running in job monitor as I checked before running any queries.
JSON { "type": "close", "timeStamp": 108670.20000001788, "code": 1000, "reason": "{\"reason\":\"Session error or stopped.\",\"state\":\"session-completed\"}", "wasClean": true, "target": { "url": "wss://6dc6322c24a042a2828f8e2aa68f9b82.pbidedicated.windows.net/webapi/capacities/6DC6322C-24A0-42A2-828F-8E2AA68F9B82/workloads/Notebook/Data/Direct/api/workspaces/cf8788ae-d2a9-4176-8900-5299acf0cce7/artifacts/0465d3f7-5fa7-4b86-a091-1395eb545a70/jupyterApi/versions/1/api/kernels/abd3f4ed-1da3-4124-a965-ae10fc877312/channels?token=dummy_token&session_id=c9350f12-d2b1-470a-ab6c-a33f1394c6aa", "readyState": 3, "protocolsProfile": [ 7, 3975 ] }, "currentTarget": { "url": "wss://6dc6322c24a042a2828f8e2aa68f9b82.pbidedicated.windows.net/webapi/capacities/6DC6322C-24A0-42A2-828F-8E2AA68F9B82/workloads/Notebook/Data/Direct/api/workspaces/cf8788ae-d2a9-4176-8900-5299acf0cce7/artifacts/0465d3f7-5fa7-4b86-a091-1395eb545a70/jupyterApi/versions/1/api/kernels/abd3f4ed-1da3-4124-a965-ae10fc877312/channels?token=dummy_token&session_id=c9350f12-d2b1-470a-ab6c-a33f1394c6aa", "readyState": 3, "protocolsProfile": [ 7, 3975 ] }, "isTrusted": true } Additional info: InstanceId: e529904c-127d-4fe7-bcfd-99e39c992504
Hi AnmolGan81 ,
Thanks for sharing the error details. Based on the information, it seems that the session might have timed out, been forcibly stopped, or encountered an issue while maintaining resources.
Recommended Actions:
-
Restart the Spark Session:
You can try restarting the session in your notebook by going to Connect > New standard or High Concurrency session. This will create a new session and re-establish the connection.
Alternatively, you can stop all operations, close the notebook, and open it again to start with a fresh session
If the issue persists, you can try enabling Bursting and Auto-scaling as suggested in the previous response.
Hope these help. Please reach out if you face any issues.
If this helps, please accept as solution to help others benefit, a kudos would be appreciated.
Best regards,
Vinay.
- AnmolGan811 year agoAdvocate II
I found what was going wrong, whenever I am terminating the job from monitor and trying to create another session it wont let me do it, so I would have to restart the capacity and actually terminate the spark session from the notebook and can easily restart it whenever needed, also closing the notebook and reopening will not fix the issue until the session has timed out or actually stopped.
funny thing is in F2 SKU if you have not terminated the session for one notebook and try to run the job in another notebook it wont let me do it and give too many requests error, I think that is due to F2 Size..seems cost is very high for an F2 SKU when I can actually run 1 single session on one notebook but seems that is the way to go about it as of now.
Thanks for all help 😀
- v-veshwara-msft1 year agoCommunity Support
Hi AnmolGan81 ,
Thanks for the detailed update and for sharing what you’ve observed, it’s great that you’ve figured out what’s happening with the sessions.
The issue seems to be:
On an F2 SKU, the limited resources (4 Spark vCores) mean you can only run one Spark session at a time, regardless of how many notebooks you’re using. So, if there’s an active session in one notebook, trying to start another session in a different notebook results in the "too many requests" error.
You’re also right that just closing the notebook or stopping the job from the Monitor doesn’t fully terminate the session unless it times out or you explicitly stop it.
A Few Suggestions:
-
Ensure the Session is Stopped:
-Adding spark.stop() to the end of your notebook is the reliable way to free up resources.
-Restarting the capacity works, but that’s more of a workaround than a long-term fix. -
Enable Bursting (with Limitations):
-Bursting temporarily increases the available Spark vCores for your capacity (e.g., an F2 SKU can scale up to 20 Spark vCores during bursts).
-This allows for better concurrency, meaning you may be able to run multiple notebooks simultaneously during a burst period, provided the combined workload does not exceed the burst limit.
-However, bursting is not a permanent solution and can only support short-term spikes in usage. If both jobs are resource-intensive, you might still run into resource contention even with bursting enabled.
-Bursting depends on resource availability, and it's important to note that it only helps with concurrency but doesn't guarantee success for all parallel workloads. -
Upgrade Your Capacity:
-If running multiple sessions in parallel is essential, upgrading to an F4 SKU or higher would provide more Spark vCores and better concurrency support.
Let me know if you need help managing sessions, enabling bursting, or exploring capacity options. Happy to assist further!
If this helps, please accept as solution to help others benefit, a kudos would be appreciated.
Best regards,
Vinay. -
- jennratten1 year agoSuper User
I'm glad it worked out for you.
- AnmolGan811 year agoAdvocate II
I tried creating new sessions and also tried auto scaling and high concurrency but none of it are working and I am getting the same error as before.
- jennratten1 year agoSuper User
AnmolGan81 - Are you specifically running the two queries in two different notebooks? Have you tried putting them in the same notebook and then running the notebook so that both queries are executed? The query you posted is very basic - you shouldn't need to change the capacity settings or scale up to a higher capacity. Since you are just querying the first 1000 rows of data from a lakehouse table, you don't really need ot use spark - you can just use Python. See the snip below. Can you please reply with screenshots showing the language and language version being used? Also please let us know what the Spark settings are - these appear in the workspace settings under Data Engineering. Thanks!
- AnmolGan811 year agoAdvocate II
No I am talking about running 2 queries in different notebook and not same notebook, yes I can very well run in the same notebook but I was trying to see what happens if I run two queries in different notebooks when 1 notebook query session is already active, and I have not changed the capacity setting and all this I am doing in on F2.
Well I found another blog which has faced the similar issue:
Re: Spark Sessions in MS Fabric Fail to Connect - Microsoft Fabric Community