Skip to content

Flink integration: InfluxDB v3 Java client fails with gRPC NameResolver 'unix' error (Arrow Flight initialization) #376

@tombk556

Description

@tombk556

Specifications

  • Client Version: 1.8.0
  • InfluxDB Version: v3
  • JDK Version: OpenJDK 17.0.18 Runtime Environment (Red_Hat-17.0.18.0.8-1) (build 17.0.18+8-LTS)
  • Platform: Linux/RedHat
  • Apache Flink Version: 1.18.1

Code sample to reproduce problem

  1. Create a simple Apache Flink streaming job
  2. Implement a custom RichSinkFunction
  3. Initialize the InfluxDB v3 Java client inside open()
public class InfluxSink extends RichSinkFunction<String> {

    private transient InfluxDBClient client;

    @Override
    public void open(Configuration parameters) {

        ClientConfig config = new ClientConfig.Builder()
                .host("https://host:8181")
                .token("TOKEN".toCharArray())
                .database("DB")
                .build();

        this.client = InfluxDBClient.getInstance(config);
    }

    @Override
    public void invoke(String value, Context context) {
        // no-op
    }
}

Expected behavior

The InfluxDB v3 Java client should initialize successfully inside the Flink operator (open()), just like it does in a standalone Java application.

Actual behavior

Client initialization fails with:

java.lang.IllegalArgumentException: Address types of NameResolver 'unix' not supported by transport

Additional info

If the host is provided without scheme host:8181 the following error occurs:

java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected scheme-specific part at index 9: grpc+tcp:

Using: https://host:8181 resolves the URI issue but results in the NameResolver error above.

This appears to be related to gRPC / Apache Arrow Flight initialization within the Flink runtime.
Possible contributing factors:

  • gRPC NameResolver provider selection (unexpected "unix" resolver)
  • ServiceLoader behavior inside Flink (child-first classloading)
  • Classpath or dependency conflicts (gRPC / Netty / Arrow)

Questions:

  • Is the InfluxDB v3 Java client officially supported inside Apache Flink jobs?
  • Are there known issues with Arrow Flight in environments with custom classloaders (e.g., Flink)?
  • Does the client rely on specific gRPC NameResolver providers that might not be available in this context?
  • Is there a way to enforce a specific resolver (e.g., DNS) or transport configuration?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions