Add .NET Sdk#187
Conversation
teodordelibasic-db
left a comment
There was a problem hiding this comment.
Thanks a lot for contributing and sorry for the delayed review, we've been quite overwhelmed with product stabilization these past few weeks. I'll prioritize now so that we can get it in, a few other customers also want to use it. I am nowhere near a C#/.NET expert so I am reviewing mostly with LLM help.
A few more general comments below as well:
We should integrate the .NET CI into general repo CI. Currently PRs touching only dotnet/** pass CI without any checks and Rust FFI changes don't trigger cross-SDK .NET tests. In .github/workflows/push.yml we should add:
dotnetoutput in thechangesjob.dotnetpath filter (dotnet/**+.github/workflows/ci-dotnet.yml)dotnetjob callingci-dotnet.ymldotnetin thegatejob'sneedsarray + result check loopcross-sdk-dotnetjob (mirroringcross-sdk-go) triggered whenrust/**changes
A couple of missing misc files in the dotnet/ directory that we have in other SDKs:
CONTRIBUTING.md- guidelines how to setup a devloop for making changes and contributing them for this SDK.NEXT_CHANGELOG.md- used by the release process for unreleased changesNOTICE- license/attribution file
As far as I understand, this is a sync-only API, LLM suggests we could benefit from an API returning Task object for methods CreateStream, WaitForOffset, Flush, and Close. ASP.NET Core users calling current API on request threads will block thread pool threads.
Not a blocker obviously, just want to cross-check with you if it makes sense to add it in the future.
|
|
||
| return new CStreamConfigurationOptions | ||
| { | ||
| MaxInflightRequests = (nuint)(options.MaxInflightRequests > 0 |
There was a problem hiding this comment.
Setting RecoveryRetries = 0 (meaning "don't retry") silently falls back to the default of 4. The Go SDK has the same bug (comment at go/ffi.go:193). We can add a code comment acknowledging this or use nullable types (uint?) to distinguish "unset" from "explicitly zero".
|
Any progress, PR has been parked for 2 months now? |
What changes are proposed in this pull request?
Initial Databricks Zerobus Ingest SDK for .NET to ingest data from .NET applications
How is this tested?