Fix SessionPool client leak on reconnection and query failures, and preserve server error messages (#44) * Fix SessionPool client leak on reconnection and query failures, and preserve server error messages - Add SessionPoolDepletedException with diagnostic properties for pool depletion scenarios - Add ReconnectionFailedException for type-safe reconnection failure detection - Fix client leak when reconnection succeeds but retry operation fails - Add PoolHealthMetrics for thread-safe health monitoring - Add try-finally protection for Monitor locks in ConcurrentClientQueue - Remove silent failure pattern - always log connection failures - Add CurrentBatchRowCount() method with Obsolete attribute on RowCount() - Improve database switch error handling with partial failure detection * Update src/Apache.IoTDB/SessionPool.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * use try-finally for Return Client * Feature/dotnet format ci (#46) * switch to dotnet format * format --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This is the C# client of Apache IoTDB.
Apache IoTDB (Internet of Things Database) is a data management system for time series data, which can provide users specific services, such as, data collection, storage and analysis. Due to its light weight structure, high performance and usable features together with its seamless integration with the Hadoop and Spark ecology, IoTDB meets the requirements of massive dataset storage, high throughput data input, and complex data analysis in the industrial IoT field.
Apache IoTDB website: https://iotdb.apache.org Apache IoTDB Github: https://github.com/apache/iotdb
We have prepared a Nuget Package for C# users. Users can directly install the Apache IoTDB client using the .NET CLI. To install, simply run the following command in your command line:
dotnet add package Apache.IoTDB
For more details, visit the package on NuGet.
[!NOTE] The
Apache.IoTDBpackage only supports versions greater than.net framework 4.6.1.
.NET SDK Version >= 5.0 .NET Framework >= 4.6.1
Users can quickly get started by referring to the use cases under the Apache-IoTDB-Client-CSharp-UserCase directory. These use cases serve as a useful resource for getting familiar with the client's functionality and capabilities.
For those who wish to delve deeper into the client's usage and explore more advanced features, the samples directory contains additional code samples.
.NET SDK Version >= 5.0 .NET Framework >= 4.6.1 ApacheThrift >= 0.14.1 NLog >= 4.7.9
This project uses dotnet format to enforce consistent code style based on the .editorconfig rules.
dotnet format --verify-no-changes
dotnet format
The CI pipeline will automatically check code formatting on all pull requests. Please ensure your code is properly formatted before submitting a PR.
You can find out how to publish from this doc.