Skip to content

[feat][io] AzureDataExplorer/Kusto Sink for Pulsar - #22006

Merged
lhotari merged 5 commits into
apache:masterfrom
asaharn:master
Feb 13, 2024
Merged

[feat][io] AzureDataExplorer/Kusto Sink for Pulsar#22006
lhotari merged 5 commits into
apache:masterfrom
asaharn:master

Conversation

@asaharn

@asaharn asaharn commented Jan 31, 2024

Copy link
Copy Markdown
Contributor

Motivation

This PR introduces an Azure Data Explorer (ADX) sink connector for Apache Pulsar. Streamlining the ingestion process, it solves the challenge of seamlessly transferring data from Pulsar to ADX clusters.

Modifications

We have added a new Azure Data Explorer (ADX) sink connector tailored for Apache Pulsar, enabling smooth and optimized data transfer from Pulsar to ADX clusters. The modification includes the integration of key functionalities and configurations necessary for seamless data ingestion.

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change added tests and can be verified as follows:

  • Added end-2-end tests for the sink and can be tested by setting env vars
      export kustoAadAppId="" 
      export kustoAadAppSecret=""
      export kustoAadAuthorityID="tenentId"
      export kustoDatabase="<dbname>"
      export kustoCluster="https://ingest-<cluster-name>.kusto.windows.net"```
    
    

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository: asaharn#2

…tps://learn.microsoft.com/en-us/azure/data-explorer/) (#2)

* Added ADX Sink for Pulsar
* Added test cases and E2E tests
* Formatting and refactoring
---------

Co-authored-by: Abhishek Saharn <asaharn@microsoft.com>
@github-actions

Copy link
Copy Markdown

@asaharn Please add the following content to your PR description and select a checkbox:

- [ ] `doc` <!-- Your PR contains doc changes -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->

@github-actions github-actions Bot added doc-required Your PR changes impact docs and you will update later. and removed doc-label-missing labels Jan 31, 2024
@asaharn asaharn changed the title [feat][io] New component. AzureDataEXplorer/Kusto sink for pulsar (https://learn.microsoft.com/en-us/azure/data-explorer/) [feat][io] New component. AzureDataExplorer/Kusto sink for pulsar (https://learn.microsoft.com/en-us/azure/data-explorer/) Feb 2, 2024
@github-actions github-actions Bot added doc-not-needed Your PR changes do not impact docs and removed doc-required Your PR changes impact docs and you will update later. labels Feb 7, 2024

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for the contribution @asaharn ! Looks really good in general. A few small details to revisit.

Comment thread pulsar-io/azure-data-explorer/pom.xml Outdated
Comment thread pulsar-io/azure-data-explorer/pom.xml Outdated

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There's one more change needed for handling secrets. I'm sorry I missed that in the initial review.

@david-streamlio david-streamlio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@asaharn

asaharn commented Feb 13, 2024

Copy link
Copy Markdown
Contributor Author

Thanks @david-streamlio.
@lhotari Made the changes for handling secrets.

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A few comments about .gitignore and the mockito-inline dependency that is no longer needed in Mockito 5.x.x.

Comment thread pulsar-io/azure-data-explorer/.gitignore Outdated
Comment thread pulsar-io/azure-data-explorer/pom.xml Outdated
Comment thread pulsar-io/azure-data-explorer/pom.xml Outdated
@codecov-commenter

codecov-commenter commented Feb 13, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 13.81215% with 156 lines in your changes missing coverage. Please review.

Project coverage is 73.58%. Comparing base (1b4127a) to head (6248a25).
Report is 1224 commits behind head on master.

Files with missing lines Patch % Lines
...rg/apache/pulsar/io/azuredataexplorer/ADXSink.java 0.00% 138 Missing ⚠️
...he/pulsar/io/azuredataexplorer/ADXPulsarEvent.java 0.00% 7 Missing ⚠️
...ache/pulsar/io/azuredataexplorer/ADXSinkUtils.java 0.00% 7 Missing ⚠️
...che/pulsar/io/azuredataexplorer/ADXSinkConfig.java 86.20% 3 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##             master   #22006       +/-   ##
=============================================
+ Coverage     36.44%   73.58%   +37.14%     
- Complexity    12369    32572    +20203     
=============================================
  Files          1727     1874      +147     
  Lines        131879   139220     +7341     
  Branches      14419    15260      +841     
=============================================
+ Hits          48057   102445    +54388     
+ Misses        77404    28862    -48542     
- Partials       6418     7913     +1495     
Flag Coverage Δ
inttests 24.67% <ø> (+0.48%) ⬆️
systests 24.36% <ø> (+0.46%) ⬆️
unittests 72.86% <13.81%> (+40.97%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...che/pulsar/io/azuredataexplorer/ADXSinkConfig.java 86.20% <86.20%> (ø)
...he/pulsar/io/azuredataexplorer/ADXPulsarEvent.java 0.00% <0.00%> (ø)
...ache/pulsar/io/azuredataexplorer/ADXSinkUtils.java 0.00% <0.00%> (ø)
...rg/apache/pulsar/io/azuredataexplorer/ADXSink.java 0.00% <0.00%> (ø)

... and 1447 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lhotari

lhotari commented Feb 13, 2024

Copy link
Copy Markdown
Member

Thanks for the great work @asaharn . Merging this.

@lhotari
lhotari merged commit beed0cf into apache:master Feb 13, 2024
@lhotari lhotari changed the title [feat][io] New component. AzureDataExplorer/Kusto sink for pulsar (https://learn.microsoft.com/en-us/azure/data-explorer/) [feat][io] AzureDataExplorer/Kusto Sink for Pulsar Feb 13, 2024
hanmz pushed a commit to hanmz/pulsar that referenced this pull request Feb 12, 2025
- https://learn.microsoft.com/en-us/azure/data-explorer/

Co-authored-by: Ramachandran A G <106139410+ag-ramachandran@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-not-needed Your PR changes do not impact docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants