Skip to content

Conversation

@tanmaya-panda1
Copy link
Collaborator

added ingest client abstraction

@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Test Results

529 tests   520 ✅  3m 0s ⏱️
 31 suites    9 💤
 31 files      0 ❌

Results for commit 8f9442f.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Test Results

529 tests   520 ✅  3m 24s ⏱️
 31 suites    9 💤
 31 files      0 ❌

Results for commit 448957c.

Copy link

Copilot AI left a 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 IngestClient for 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.
Copy link

Copilot AI Nov 5, 2025

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'.

Suggested change
* interface with provides core abstraction for ingesting data into Kusto.
* Interface that provides core abstraction for ingesting data into Kusto.

Copilot uses AI. Check for mistakes.
Comment on lines 136 to 138



Copy link

Copilot AI Nov 5, 2025

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.

Suggested change

Copilot uses AI. Check for mistakes.
): StatusResponse {
throw UnsupportedOperationException(
"Streaming ingestion does not support operation status tracking. " +
"Operation ID: $operationId cannot be tracked. "
Copy link

Copilot AI Nov 5, 2025

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.

Suggested change
"Operation ID: $operationId cannot be tracked. "
"Operation ID: $operationId cannot be tracked."

Copilot uses AI. Check for mistakes.
): StatusResponse {
throw UnsupportedOperationException(
"Streaming ingestion does not support detailed operation tracking. " +
"Operation ID: $operationId cannot be tracked. "
Copy link

Copilot AI Nov 5, 2025

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.

Suggested change
"Operation ID: $operationId cannot be tracked. "
"Operation ID: $operationId cannot be tracked."

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants