Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Java SDK] Implement async/non-blocking client for better performance #2201

@chiradip

Description

@chiradip

Title: [Java SDK] Implement async/non-blocking client for better performance
Description:
The current Java SDK only provides blocking I/O operations through IggyTcpClient and IggyHttpClient. This severely limits performance in stream processing frameworks like Apache Flink.

Current State:

// Only blocking operations available
PolledMessages messages = client.messages().pollMessages(...); // Blocks thread

Proposed Solution:

// Add async operations
CompletableFuture<PolledMessages> future = client.messages().pollMessagesAsync(...);

Impact:

  • Multi x performance improvement expected (To be measured)
  • Essential for External (e.g Flink) connector efficiency
  • Reduces thread usage from 10-15 to 2-4 per task

Implementation Suggestions:

  • Use Netty for non-blocking I/O
  • Provide CompletableFuture-based API
  • Maintain backward compatibility with blocking client

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementA change that improves our (or users) QoLjavaIssues related to Java SDK

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions