Skip to content

Reserve UserAgentFeatureFlags bit 6 (Http2PingHealth = 64) cross-SDK with Java #5926

@jeet1995

Description

@jeet1995

Summary

The Java SDK is adding an HTTP/2 PING keepalive (azure-sdk-for-java#49095) and is reserving bit 6 (value 64) in UserAgentFeatureFlags as Http2PingHealth for user-agent telemetry.

Filing this issue so the .NET SDK reserves the same bit before any future flag claims it, keeping the cross-SDK bitmap aligned per the convention noted in UserAgentFeatureFlags.cs.

Current state

Bit Value .NET (UserAgentFeatureFlags.cs) Java (UserAgentFeatureFlags.java)
0 1 PerPartitionAutomaticFailover PerPartitionAutomaticFailover
1 2 PerPartitionCircuitBreaker PerPartitionCircuitBreaker
2 4 ThinClient ThinClient
3 8 BinaryEncoding (reserved comment only)
4 16 Http2 Http2
5 32 (free) RegionScopedSessionCapturing
6 64 (free — request to reserve) Http2PingHealth (this PR)

Ask

Reserve bit 6 = Http2PingHealth = 64 in Microsoft.Azure.Cosmos/src/Diagnostics/UserAgentFeatureFlags.cs, even as a commented-out placeholder, so the bit is not accidentally reused.

Reserving it does not require .NET to implement the HTTP/2 PING feature — only that the bit is claimed so the user-agent |F<hex> decoder remains comparable across SDKs.

Context

A separate cross-SDK reconciliation for bits 3 and 5 (where .NET and Java have already drifted) is out of scope here; raising that as its own discussion if useful.

cc @kushagraThapar

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions