-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MarkMappingOffline hangs until timeout #166
Comments
I've encountered the same issue and I have resolved with the downgrade of version. But in my case I needed version 1.3.0 to resolve the timeout.
|
Downgrading to version 1.3.0 didn't work for me on Azure, but downgrading from 1.3.3 to 1.3.1 did work. On version 1.3.3, I also get a timeout error when calling MarkMappingOffline |
Version 1.3.1 worked for me. |
I also experienced timeouts on 1.3.3. Downgrading to 1.3.2 worked as expected. |
Has this been resolved in later builds? I am still on 1.3.2. |
Sorry, no investigation or fix yet. |
According to AppInsights the particular culprit is the following stored proc causing 100% of my timeouts: __ShardManagement.spKillSessionsForShardMappingLocal |
That makes sense. Killing sessions can be slow if you have large transactions that are slow to roll back. |
Is there something I could do to preemptively guard against that? Something I could potentially call to tell me that its not likely to work? |
I believe so, SQL has DMV's that you can query to get information about active sessions/transactions/etc. |
Is there any update/advice for this issue? |
I came across this issue using v2.3.0. I was able to use this method by including the |
In version 1.3.3 MarkMappingOffline just hangs until timeout exception occurs. When downgrading to 1.3.2 it works as expected.
Here is a stacktrace dump:
at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.StoreOperation.Do()
at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.BaseShardMapper.Update[TMapping,TUpdate,TStatus](TMapping currentMapping, TUpdate update, Func
4 constructMapping, Func
2 statusAsInt, Func2 intAsStatus, Guid lockOwnerId) at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.ListShardMapper
1.Update(PointMapping1 currentMapping, PointMappingUpdate update, Guid lockOwnerId) at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.BaseShardMapper.SetStatus[TMapping,TUpdate,TStatus](TMapping mapping, TStatus status, Func
2 getStatus, Func2 createUpdate, Func
4 runUpdate, Guid lockOwnerId)at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.ListShardMapper
1.MarkMappingOffline(PointMapping
1 mapping, Guid lockOwnerId)at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.ListShardMap
1.MarkMappingOffline(PointMapping
1 mapping)The text was updated successfully, but these errors were encountered: