Skip to content
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

Id and PartitionKey properties are missing on ChangeFeedMetadata class #4933

Open
JensSchadron opened this issue Dec 18, 2024 · 2 comments
Open
Labels
customer-reported Issue created by a customer needs-investigation

Comments

@JensSchadron
Copy link

We are continuously addressing and improving the SDK, if possible, make sure the problem persist in the latest SDK version.

Describe the bug
When using the full fidelity change feed mode (AllVersionsAndDeletions), I'm using the ChangeFeedItem<T> wrapper class to receive either the creation, update or deletion of the a document. However, upon deletion, I should be able to receive the id and partitionkey of the deleted document in the ChangeFeedMetadata property as stated in the docs. (https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/change-feed-modes?tabs=all-versions-and-deletes#parse-the-response-object-1) However, those 2 specific properties are missing on the object.

To Reproduce

  1. Set up an AllVersionsAndDeletions changefeed
  2. Delete a document from the collection being observed by the changefeed
  3. Observe ChangeFeedMetadata property of ChangeFeedItem for the deleted document

Expected behavior
I can use the id and partitionkey properties from the ChangeFeedMetadata class.

Actual behavior
The 2 mentioned properties are missing.

Environment summary
SDK Version: 3.47.0-preview.0

Additional context
N/A

@JensSchadron
Copy link
Author

Also noticed that the Previous property of ChangeFeedItem<T> is seemingly never filled in, despite the XML docs mentioning that it should be the case.

/// <summary>
/// For delete operations, previous image is always going to be provided. The previous image on replace operations is not going to be exposed by default and requires account-level or container-level opt-in.
/// </summary>
[JsonProperty(PropertyName = "previous", NullValueHandling = NullValueHandling.Ignore)]
[JsonPropertyName("previous")]
public T Previous { get; set; }

@JensSchadron
Copy link
Author

And... just noticed that there's apparently a PR (#4922, albeit drafted) that should resolve the original issue (as well as the XML doc that I just mentioned)...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer-reported Issue created by a customer needs-investigation
Projects
None yet
Development

No branches or pull requests

1 participant