You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which service(blob, file, queue, table) does this issue concern?
table
Which version of the Azurite was used?
3.17.1
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
npm via Rider Azure plugin
What's the Node.js version?
12.18.3
What problem was encountered?
Duplicate property odata.etag found in serialized json response after querying on RowKey. This leads to a System.Private.CoreLib: Exception while executing function: (...). System.Private.CoreLib: An item with the same key has already been added. Key: odata.etag. in Azure.Data.Tables v12.5.0.
Partial stack trace:
Function '... (Activity)' failed with an error. Reason: System.ArgumentException: An item with the same key has already been added. Key: odata.etag
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Azure.Data.Tables.Models.TableEntityQueryResponse.DeserializeTableEntityQueryResponse(JsonElement element)
at Azure.Data.Tables.TableRestClient.QueryEntitiesAsync(String table, Nullable`1 timeout, String nextPartitionKey, String nextRowKey, QueryOptions queryOptions, CancellationToken cancellationToken)
at Azure.Data.Tables.TableClient.<>c__DisplayClass49_0`1.<<QueryAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Azure.Core.PageableHelpers.FuncAsyncPageable`1.AsPages(String continuationToken, Nullable`1 pageSizeHint)+MoveNext()
at Azure.Core.PageableHelpers.FuncAsyncPageable`1.AsPages(String continuationToken, Nullable`1 pageSizeHint)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+MoveNext()
at Azure.AsyncPageable`1.GetAsyncEnumerator(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
Steps to reproduce the issue?
Start Azurite
Clone a table with Microsoft Azure Storage Explorer v1.23.1
Query the cloned table in code (C#) using Azure.Data.Tables v12.5.0
Workaround is to touch/update the copied rows in local storage because it "resets" the etag value to a non duplicate. But this works only via storage explorer.
I have encountered similar issue with new @azure/data-tables library for node. This new library returns etag as a part of entity like any other property but then by default it is also send in updates. Old emulator or production service just ignores etag property, but Azurite seems to save it. In subsequent updates you start to get 409 if you set etags to match.
To get it working properly you have to remove etag from entity but it is not required on production servers.
This is really the same issue, as i think Azure Storage Explorer uses new @azure/data-tables nodejs library under the hood.
Which service(blob, file, queue, table) does this issue concern?
table
Which version of the Azurite was used?
3.17.1
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
npm via Rider Azure plugin
What's the Node.js version?
12.18.3
What problem was encountered?
Duplicate property
odata.etag
found in serialized json response after querying onRowKey
. This leads to aSystem.Private.CoreLib: Exception while executing function: (...). System.Private.CoreLib: An item with the same key has already been added. Key: odata.etag.
in Azure.Data.Tables v12.5.0.Partial stack trace:
Steps to reproduce the issue?
Extract from Azurite debug log, trimmed:
The relevant details are in the raw response string, formatted. Property
odata.etag
found twice:Have you found a mitigation/solution?
No
The text was updated successfully, but these errors were encountered: