Azure / Azure/elastic-db-tools

MarkMappingOffline hangs until timeout

Open
#166 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
147
Forks
108
PR merge metrics
No merged PRs in 30d

Description

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, Func`2 intAsStatus, Guid lockOwnerId)
at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.ListShardMapper`1.Update(PointMapping`1 currentMapping, PointMappingUpdate update, Guid lockOwnerId)
at Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.BaseShardMapper.SetStatus[TMapping,TUpdate,TStatus](TMapping mapping, TStatus status, Func`2 getStatus, Func`2 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)

Contributor guide

No contributing guide indexed for this repository

Research direction

The report names no file or test; start by reproducing the 1.3.3 regression at ListShardMap.MarkMappingOffline and follow the stacktrace through ListShardMapper.Update, BaseShardMapper.SetStatus, and StoreOperation.Do. Compare the behavior with 1.3.2; done means MarkMappingOffline returns successfully instead of waiting for a timeout.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, sql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.