Skip to content

Java Gaming Leaderboard — Documentation gap: Change Feed _lsn field undocumented, no deserialization warning for typed consumers (all profiles) #29

@jaydestro

Description

@jaydestro

Documentation gap: Change Feed _lsn field undocumented, no deserialization warning for typed consumers (all profiles)

Field Value
GitHub #29
Type Documentation Gap
Target MS Learn Change Feed pages — missing system metadata field documentation
Action Document _lsn and add deserialization warning for typed POJO consumers
Severity LOW (Agent Kit) / MEDIUM (MS Learn)
Hit Rate Structural gap — affects 32/34 runs (94%) indirectly via #28
Profiles All (systemic documentation gap)
Labels documentation, SCOPE, rule:change-feed, rule:model

Summary

Microsoft Learn Change Feed documentation does not document that Change Feed event payloads include Cosmos DB system metadata fields (_lsn, _rid, _ts, _etag, _self). The Java SDK Change Feed examples are incomplete — they do not show how to handle or ignore these fields during deserialization. This documentation gap is the upstream cause of the @JsonIgnoreProperties failure tracked in #28.

Evidence

System metadata fields present in Change Feed payloads:

Field Documented Source
_rid Yes (resource model) All Cosmos items
_ts Yes (resource model) All Cosmos items
_etag Yes (resource model) All Cosmos items
_self Yes (resource model) All Cosmos items
_lsn No Change Feed-specific

MS Learn documentation gaps:

  1. _lsn undocumented — not listed in Cosmos DB resource model, not mentioned in Change Feed processor or design patterns pages
  2. No deserialization warning — no guidance that raw CF payloads include system fields that break default Jackson deserialization
  3. Java SDK CF examples incomplete — Java tab on CF processor page lacks typed deserialization examples

Runtime Error

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
  Unrecognized field "_lsn" (class com.gameapi.leaderboard.model.ScoreEntry),
  not marked as ignorable

Impact

Recommended Action

This is a documentation gap for the MS Learn / Azure SDK docs team, not an Agent Kit rule change:

  1. Add _lsn to Change Feed documentation as a CF-specific system field
  2. Add a deserialization warning to the CF processor page for typed POJO consumers
  3. Complete the Java SDK tab with typed deserialization examples including @JsonIgnoreProperties

Cross-References

  • #28model-json-serialization rule enhancement (adds @JsonIgnoreProperties requirement)
  • #25pattern-change-feed-materialized-views rule enhancement (adds idempotency guidance)

References

Metadata

Metadata

Assignees

Labels

SCOPEIssues generated by SCOPE tooldocumentationImprovements or additions to documentationrule:change-feedChange Feed rules (pattern-change-feed-*)rule:modelData model and serialization rules (model-*)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions