-
Notifications
You must be signed in to change notification settings - Fork 45
added ingest client abstraction #442
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
base: feature/AddLocalFileSourceV2
Are you sure you want to change the base?
added ingest client abstraction #442
Conversation
Test Results529 tests 520 ✅ 3m 0s ⏱️ Results for commit 8f9442f. ♻️ This comment has been updated with latest results. |
Test Results529 tests 520 ✅ 3m 24s ⏱️ Results for commit 448957c. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the ingestion client architecture by introducing a unified IngestClient interface with three core methods: submitIngestion, getIngestionStatus, and getIngestionDetails. Both StreamingIngestClient and QueuedIngestionClient now implement this common interface to support multiple source types (BlobSourceInfo, FileSourceInfo, StreamSourceInfo).
Key changes:
- Added common interface methods to
IngestClientfor source-agnostic ingestion - Implemented interface methods in both client classes with appropriate delegation to existing logic
- Updated tests to use the interface methods instead of client-specific methods
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| IngestClient.kt | Added interface documentation and three core method signatures for ingestion operations |
| StreamingIngestClient.kt | Implemented interface methods with source type handling and UnsupportedOperationException for tracking methods |
| QueuedIngestionClient.kt | Implemented interface methods by delegating to existing internal methods |
| StreamingIngestClientTest.kt | Updated tests to use interface methods with BlobSourceInfo and StreamSourceInfo |
| QueuedIngestionClientTest.kt | Updated tests to use interface methods and added type casting for client-specific operations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import java.net.ConnectException | ||
|
|
||
| /** | ||
| * interface with provides core abstraction for ingesting data into Kusto. |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grammatical error: 'interface with provides' should be 'Interface that provides' or 'Interface which provides'.
| * interface with provides core abstraction for ingesting data into Kusto. | |
| * Interface that provides core abstraction for ingesting data into Kusto. |
|
|
||
|
|
||
|
|
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unnecessary blank lines (lines 136-138). Remove extra whitespace between method definitions for consistency.
| ): StatusResponse { | ||
| throw UnsupportedOperationException( | ||
| "Streaming ingestion does not support operation status tracking. " + | ||
| "Operation ID: $operationId cannot be tracked. " |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trailing space at the end of the error message string. Remove the trailing space for cleaner error messages.
| "Operation ID: $operationId cannot be tracked. " | |
| "Operation ID: $operationId cannot be tracked." |
| ): StatusResponse { | ||
| throw UnsupportedOperationException( | ||
| "Streaming ingestion does not support detailed operation tracking. " + | ||
| "Operation ID: $operationId cannot be tracked. " |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trailing space at the end of the error message string. Remove the trailing space for cleaner error messages.
| "Operation ID: $operationId cannot be tracked. " | |
| "Operation ID: $operationId cannot be tracked." |
added ingest client abstraction