allow tags at dataset creation#1540
Conversation
accept header x-p-dataset-tag in dataset creation request supported values - agent-observability, k8s-observability, database-observability anything else, server will log warn and set as null store this field in stream.json (objectstoremetadata) and logstreammetadata (in memory struct)
WalkthroughThis PR introduces dataset tagging support across the log stream infrastructure by adding a Changes
Sequence DiagramsequenceDiagram
participant Client
participant HTTPHandler as HTTP Handler
participant StreamCreation as Stream Creation
participant Storage as Storage Layer
Client->>HTTPHandler: PUT /stream with DATASET_TAG header
HTTPHandler->>HTTPHandler: Parse PutStreamHeaders<br/>(extract dataset_tag)
HTTPHandler->>StreamCreation: create_update_stream<br/>(dataset_tag)
StreamCreation->>StreamCreation: LogStreamMetadata::new<br/>(with dataset_tag)
StreamCreation->>Storage: Serialize ObjectStoreFormat<br/>(with dataset_tag)
Storage->>Storage: Persist metadata to storage
Storage-->>StreamCreation: Success
StreamCreation-->>HTTPHandler: Stream created
HTTPHandler-->>Client: 200 OK
Note over Storage: On recovery/restart
Storage->>StreamCreation: Load ObjectStoreFormat<br/>(with dataset_tag)
StreamCreation->>StreamCreation: Restore LogStreamMetadata<br/>(with dataset_tag)
StreamCreation->>StreamCreation: Stream available with<br/>dataset_tag preserved
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 Comment |
accept header x-p-dataset-tag in dataset creation request
supported values - agent-observability, k8s-observability, database-observability
anything else, server will log warn and set as null
store this field in stream.json (objectstoremetadata) and logstreammetadata (in memory struct)
Summary by CodeRabbit
Release Notes