Skip to content

addressed review comments#463

Merged
tanmaya-panda1 merged 3 commits intofeature/IngestV2from
users/tanmayapanda/fix-review-comments
Feb 18, 2026
Merged

addressed review comments#463
tanmaya-panda1 merged 3 commits intofeature/IngestV2from
users/tanmayapanda/fix-review-comments

Conversation

@tanmaya-panda1
Copy link
Collaborator

@tanmaya-panda1 tanmaya-panda1 commented Jan 29, 2026

This pull request introduces a new utility object for consistent endpoint handling and improves Java interoperability in the Kusto ingest client library. The main changes are the centralization of ingestion/query endpoint logic, simplification of builder classes, and the addition of Java-friendly asynchronous APIs.

Endpoint handling improvements:

  • Added a new IngestClientBase Kotlin object that centralizes logic for converting between cluster, ingestion, and query endpoint URLs, with special handling for reserved hostnames and local development scenarios. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/IngestClientBase.kt)
  • Refactored builder classes (BaseIngestClientBuilder, QueuedIngestClientBuilder, StreamingIngestClientBuilder) to use the new IngestClientBase for endpoint normalization, removing redundant endpoint properties and logic. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/builders/BaseIngestClientBuilder.kt, QueuedIngestClientBuilder.kt, StreamingIngestClientBuilder.kt) [1] [2] [3] [4] [5] [6] [7] [8]

Java interoperability enhancements:

  • Added Java-friendly asynchronous methods (returning CompletableFuture) to the IngestClient and MultiIngestClient interfaces, providing better support for Java consumers and avoiding JVM signature conflicts with suspend functions. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/client/IngestClient.kt) [1] [2] [3]
  • Implemented these new Java-friendly methods in ManagedStreamingIngestClient and QueuedIngestClient, replacing previous @JvmName workarounds with proper interface overrides. (ManagedStreamingIngestClient.kt, QueuedIngestClient.kt) [1] [2] [3] [4] [5] [6]

These changes improve maintainability, ensure endpoint logic is consistent across the codebase, and provide a more robust API for both Kotlin and Java consumers.This pull request introduces a new utility object for consistent endpoint handling and improves Java interoperability in the Kusto ingest client library. The main changes are the centralization of ingestion/query endpoint logic, simplification of builder classes, and the addition of Java-friendly asynchronous APIs.

Endpoint handling improvements:

  • Added a new IngestClientBase Kotlin object that centralizes logic for converting between cluster, ingestion, and query endpoint URLs, with special handling for reserved hostnames and local development scenarios. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/IngestClientBase.kt)
  • Refactored builder classes (BaseIngestClientBuilder, QueuedIngestClientBuilder, StreamingIngestClientBuilder) to use the new IngestClientBase for endpoint normalization, removing redundant endpoint properties and logic. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/builders/BaseIngestClientBuilder.kt, QueuedIngestClientBuilder.kt, StreamingIngestClientBuilder.kt) [1] [2] [3] [4] [5] [6] [7] [8]

Java interoperability enhancements:

  • Added Java-friendly asynchronous methods (returning CompletableFuture) to the IngestClient and MultiIngestClient interfaces, providing better support for Java consumers and avoiding JVM signature conflicts with suspend functions. (ingest-v2/src/main/kotlin/com/microsoft/azure/kusto/ingest/v2/client/IngestClient.kt) [1] [2] [3]
  • Implemented these new Java-friendly methods in ManagedStreamingIngestClient and QueuedIngestClient, replacing previous @JvmName workarounds with proper interface overrides. (ManagedStreamingIngestClient.kt, QueuedIngestClient.kt) [1] [2] [3] [4] [5] [6]

These changes improve maintainability, ensure endpoint logic is consistent across the codebase, and provide a more robust API for both Kotlin and Java consumers.### Added

Changed

Fixed

@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Test Results

530 tests  ±0   521 ✅ ±0   8m 14s ⏱️ -15s
 31 suites ±0     9 💤 ±0 
 31 files   ±0     0 ❌ ±0 

Results for commit 725b2ef. ± Comparison against base commit f61924c.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@AsafMah AsafMah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The round robin builder looks good, but keep in mind the consistency of the code.

@tanmaya-panda1
Copy link
Collaborator Author

The round robin builder looks good, but keep in mind the consistency of the code.

simplified the container selection logic and added tests in the recent commit

@tanmaya-panda1 tanmaya-panda1 merged commit bad4866 into feature/IngestV2 Feb 18, 2026
5 checks passed
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.

2 participants

Comments