Skip to content

feat: impl stream and bulk write#12

Merged
killme2008 merged 8 commits intomainfrom
feature/stream-bulk-write
Jan 15, 2026
Merged

feat: impl stream and bulk write#12
killme2008 merged 8 commits intomainfrom
feature/stream-bulk-write

Conversation

@killme2008
Copy link
Contributor

No description provided.

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
@killme2008 killme2008 requested a review from Copilot January 13, 2026 08:34
@github-actions github-actions bot added documentation Improvements or additions to documentation source tests labels Jan 13, 2026
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 pull request implements streaming and bulk write functionality for the GreptimeDB .NET ingester SDK. The changes add two high-throughput data ingestion methods: streaming write via gRPC for concurrent writes from multiple threads with backpressure handling, and bulk write via Apache Arrow Flight for maximum throughput using columnar data transfer.

Changes:

  • Added streaming write capability with StreamIngestWriter using gRPC bidirectional streaming
  • Added bulk write capability with BulkWriter using Apache Arrow Flight protocol
  • Implemented Arrow integration infrastructure including RecordBatchBuilder and ArrowTypeMapper
  • Fixed bug in TypeCoercion.cs for proper DateTime handling
  • Added comprehensive unit and integration tests

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 24 comments.

Show a summary per file
File Description
RecordBatchBuilderTests.cs Comprehensive unit tests for Arrow RecordBatch building
ArrowTypeMapperTests.cs Unit tests for type mapping between GreptimeDB and Arrow types
StreamIngestWriterIntegrationTests.cs Integration tests for streaming writer with various scenarios
BulkWriterIntegrationTests.cs Integration tests for bulk writer including setup patterns
TypeCoercion.cs Fixed DateTime type coercion to use correct timestamp unit
TableBuilder.cs Added GetColumnDefinitions helper method for schema inspection
StreamIngestWriterOptions.cs Configuration options with validation
StreamIngestWriter.cs Thread-safe streaming writer with channel-based backpressure
IStreamIngestWriter.cs Interface defining streaming writer contract
IBulkWriter.cs Interface defining bulk writer contract
GreptimeClient.cs Added factory methods for streaming and bulk writers
BulkWriter.cs Arrow Flight-based bulk writer implementation
RecordBatchBuilder.cs Converts GreptimeDB tables to Arrow RecordBatch format
ArrowTypeMapper.cs Maps GreptimeDB types to Apache Arrow types
README.md Updated documentation with streaming and bulk write examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
@github-actions github-actions bot added the build label Jan 13, 2026
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
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

Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
@killme2008 killme2008 merged commit f17330f into main Jan 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build documentation Improvements or additions to documentation source tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants