This is an automated email from the ASF dual-hosted git repository.

jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 3e1aba37de make first part of user agent header configurable (#9471)
3e1aba37de is described below

commit 3e1aba37deee21ccb2e764afce789e463098246f
Author: Rino <[email protected]>
AuthorDate: Thu Oct 20 01:00:27 2022 +0200

    make first part of user agent header configurable (#9471)
---
 .../java/org/apache/pinot/client/BrokerCache.java  |  3 ++-
 .../client/JsonAsyncHttpPinotClientTransport.java  | 24 ++++++++++---------
 .../JsonAsyncHttpPinotClientTransportFactory.java  | 27 +++++++++++----------
 .../apache/pinot/client/utils/ConnectionUtils.java | 11 +++++++--
 .../controller/PinotControllerTransport.java       | 28 +++++++++++++---------
 .../PinotControllerTransportFactory.java           | 28 ++++++++++++----------
 .../client/DummyPinotControllerTransport.java      | 14 +++++++----
 .../apache/pinot/client/PinotConnectionTest.java   | 28 ++++++++++++++++++++++
 8 files changed, 107 insertions(+), 56 deletions(-)

diff --git 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
index 98c36d9aa2..7bc2bc9e6f 100644
--- 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
+++ 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
@@ -104,6 +104,7 @@ public class BrokerCache {
         DEFAULT_CONTROLLER_CONNECT_TIMEOUT_MS));
     int handshakeTimeoutMs = 
Integer.parseInt(properties.getProperty("controllerHandshakeTimeoutMs",
         DEFAULT_CONTROLLER_HANDSHAKE_TIMEOUT_MS));
+    String appId = properties.getProperty("appId");
     boolean tlsV10Enabled = 
Boolean.parseBoolean(properties.getProperty("controllerTlsV10Enabled",
         DEFAULT_CONTROLLER_TLS_V10_ENABLED))
         || 
Boolean.parseBoolean(System.getProperties().getProperty("controller.tlsV10Enabled",
@@ -113,7 +114,7 @@ public class BrokerCache {
     builder.setReadTimeout(readTimeoutMs)
         .setConnectTimeout(connectTimeoutMs)
         .setHandshakeTimeout(handshakeTimeoutMs)
-        
.setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua_broker_cache"))
+        
.setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua_broker_cache",
 appId))
         .setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new 
String[0]));
 
     _client = Dsl.asyncHttpClient(builder.build());
diff --git 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransport.java
 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransport.java
index 1bed625f66..cd0e49139a 100644
--- 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransport.java
+++ 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransport.java
@@ -70,7 +70,8 @@ public class JsonAsyncHttpPinotClientTransport implements 
PinotClientTransport {
   }
 
   public JsonAsyncHttpPinotClientTransport(Map<String, String> headers, String 
scheme, String extraOptionString,
-    @Nullable SSLContext sslContext, ConnectionTimeouts connectionTimeouts, 
TlsProtocols tlsProtocols) {
+      @Nullable SSLContext sslContext, ConnectionTimeouts connectionTimeouts, 
TlsProtocols tlsProtocols,
+      @Nullable String appId) {
     _brokerReadTimeout = connectionTimeouts.getReadTimeoutMs();
     _headers = headers;
     _scheme = scheme;
@@ -82,15 +83,16 @@ public class JsonAsyncHttpPinotClientTransport implements 
PinotClientTransport {
     }
 
     builder.setReadTimeout(connectionTimeouts.getReadTimeoutMs())
-            .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
-            .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
-            
.setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua"))
-            
.setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new String[0]));
+        .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
+        .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
+        .setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua", 
appId))
+        .setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new 
String[0]));
     _httpClient = Dsl.asyncHttpClient(builder.build());
   }
 
   public JsonAsyncHttpPinotClientTransport(Map<String, String> headers, String 
scheme, String extraOptionStr,
-    @Nullable SslContext sslContext, ConnectionTimeouts connectionTimeouts, 
TlsProtocols tlsProtocols) {
+      @Nullable SslContext sslContext, ConnectionTimeouts connectionTimeouts, 
TlsProtocols tlsProtocols,
+      @Nullable String appId) {
     _brokerReadTimeout = connectionTimeouts.getReadTimeoutMs();
     _headers = headers;
     _scheme = scheme;
@@ -102,16 +104,16 @@ public class JsonAsyncHttpPinotClientTransport implements 
PinotClientTransport {
     }
 
     builder.setReadTimeout(connectionTimeouts.getReadTimeoutMs())
-            .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
-            .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
-            
.setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua"))
-            
.setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new String[0]));
+        .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
+        .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
+        .setUserAgent(ConnectionUtils.getUserAgentVersionFromClassPath("ua", 
appId))
+        .setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new 
String[0]));
     _httpClient = Dsl.asyncHttpClient(builder.build());
   }
 
   @Override
   public BrokerResponse executeQuery(String brokerAddress, String query)
-    throws PinotClientException {
+      throws PinotClientException {
     try {
       return executeQueryAsync(brokerAddress, query).get(_brokerReadTimeout, 
TimeUnit.MILLISECONDS);
     } catch (Exception e) {
diff --git 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransportFactory.java
 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransportFactory.java
index fd892c5d2e..0adb4e68d3 100644
--- 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransportFactory.java
+++ 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/JsonAsyncHttpPinotClientTransportFactory.java
@@ -43,16 +43,18 @@ public class JsonAsyncHttpPinotClientTransportFactory 
implements PinotClientTran
   private int _readTimeoutMs = 
Integer.parseInt(DEFAULT_BROKER_READ_TIMEOUT_MS);
   private int _connectTimeoutMs = 
Integer.parseInt(DEFAULT_BROKER_READ_TIMEOUT_MS);
   private int _handshakeTimeoutMs = 
Integer.parseInt(DEFAULT_BROKER_HANDSHAKE_TIMEOUT_MS);
+  private String _appId = null;
   private String _extraOptionString;
 
   @Override
   public PinotClientTransport buildTransport() {
-    ConnectionTimeouts connectionTimeouts = 
ConnectionTimeouts.create(_readTimeoutMs, _connectTimeoutMs,
-            _handshakeTimeoutMs);
+    ConnectionTimeouts connectionTimeouts =
+        ConnectionTimeouts.create(_readTimeoutMs, _connectTimeoutMs, 
_handshakeTimeoutMs);
     TlsProtocols tlsProtocols = TlsProtocols.defaultProtocols(_tlsV10Enabled);
     return new JsonAsyncHttpPinotClientTransport(_headers, _scheme, 
_extraOptionString, _sslContext, connectionTimeouts,
-        tlsProtocols);
+        tlsProtocols, _appId);
   }
+
   public Map<String, String> getHeaders() {
     return _headers;
   }
@@ -90,16 +92,15 @@ public class JsonAsyncHttpPinotClientTransportFactory 
implements PinotClientTran
       _sslContext = ConnectionUtils.getSSLContextFromProperties(properties);
     }
 
-    _readTimeoutMs = 
Integer.parseInt(properties.getProperty("brokerReadTimeoutMs",
-            DEFAULT_BROKER_READ_TIMEOUT_MS));
-    _connectTimeoutMs = 
Integer.parseInt(properties.getProperty("brokerConnectTimeoutMs",
-            DEFAULT_BROKER_CONNECT_TIMEOUT_MS));
-    _handshakeTimeoutMs = 
Integer.parseInt(properties.getProperty("brokerHandshakeTimeoutMs",
-            DEFAULT_BROKER_HANDSHAKE_TIMEOUT_MS));
-    _tlsV10Enabled = 
Boolean.parseBoolean(properties.getProperty("brokerTlsV10Enabled",
-            DEFAULT_BROKER_TLS_V10_ENABLED))
-            || 
Boolean.parseBoolean(System.getProperties().getProperty("broker.tlsV10Enabled",
-            DEFAULT_BROKER_TLS_V10_ENABLED));
+    _readTimeoutMs = 
Integer.parseInt(properties.getProperty("brokerReadTimeoutMs", 
DEFAULT_BROKER_READ_TIMEOUT_MS));
+    _connectTimeoutMs =
+        Integer.parseInt(properties.getProperty("brokerConnectTimeoutMs", 
DEFAULT_BROKER_CONNECT_TIMEOUT_MS));
+    _handshakeTimeoutMs =
+        Integer.parseInt(properties.getProperty("brokerHandshakeTimeoutMs", 
DEFAULT_BROKER_HANDSHAKE_TIMEOUT_MS));
+    _appId = properties.getProperty("appId");
+    _tlsV10Enabled = 
Boolean.parseBoolean(properties.getProperty("brokerTlsV10Enabled", 
DEFAULT_BROKER_TLS_V10_ENABLED))
+        || Boolean.parseBoolean(
+        System.getProperties().getProperty("broker.tlsV10Enabled", 
DEFAULT_BROKER_TLS_V10_ENABLED));
 
     _extraOptionString = properties.getProperty("queryOptions", "");
     return this;
diff --git 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/utils/ConnectionUtils.java
 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/utils/ConnectionUtils.java
index 89436acdf2..51b8d57920 100644
--- 
a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/utils/ConnectionUtils.java
+++ 
b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/utils/ConnectionUtils.java
@@ -22,8 +22,10 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Properties;
 import java.util.stream.Collectors;
+import javax.annotation.Nullable;
 import javax.net.ssl.SSLContext;
 import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.pinot.common.config.TlsConfig;
 import org.apache.pinot.common.utils.TlsUtils;
@@ -37,6 +39,7 @@ public class ConnectionUtils {
 
   public static final String INFO_HEADERS = "headers";
   public static final String PINOT_JAVA_TLS_PREFIX = "pinot.java_client.tls";
+  public static final int APP_ID_MAX_CHARS = 256;
 
   private ConnectionUtils() {
   }
@@ -56,7 +59,7 @@ public class ConnectionUtils {
   }
 
 
-  public static String getUserAgentVersionFromClassPath(String userAgentKey) {
+  public static String getUserAgentVersionFromClassPath(String userAgentKey, 
@Nullable String appId) {
     Properties userAgentProperties = new Properties();
     try {
       userAgentProperties.load(ConnectionUtils.class.getClassLoader()
@@ -64,6 +67,10 @@ public class ConnectionUtils {
     } catch (IOException e) {
       LOGGER.warn("Unable to set user agent version");
     }
-    return userAgentProperties.getProperty(userAgentKey, "pinot-java");
+    String userAgentFromProperties = 
userAgentProperties.getProperty(userAgentKey, "unknown");
+    if (StringUtils.isNotEmpty(appId)) {
+      return appId.substring(0, Math.min(APP_ID_MAX_CHARS, appId.length())) + 
"-" + userAgentFromProperties;
+    }
+    return userAgentFromProperties;
   }
 }
diff --git 
a/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransport.java
 
b/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransport.java
index 46c15d4ad3..6fc4679267 100644
--- 
a/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransport.java
+++ 
b/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransport.java
@@ -27,6 +27,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import javax.annotation.Nullable;
 import javax.net.ssl.SSLContext;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.pinot.client.ConnectionTimeouts;
 import org.apache.pinot.client.PinotClientException;
 import org.apache.pinot.client.TlsProtocols;
@@ -50,9 +51,8 @@ public class PinotControllerTransport {
   private final String _scheme;
   private final AsyncHttpClient _httpClient;
 
-
-  public PinotControllerTransport(Map<String, String> headers, String scheme,
-    @Nullable SSLContext sslContext, ConnectionTimeouts connectionTimeouts, 
TlsProtocols tlsProtocols) {
+  public PinotControllerTransport(Map<String, String> headers, String scheme, 
@Nullable SSLContext sslContext,
+      ConnectionTimeouts connectionTimeouts, TlsProtocols tlsProtocols, 
@Nullable String appId) {
     _headers = headers;
     _scheme = scheme;
 
@@ -62,23 +62,29 @@ public class PinotControllerTransport {
     }
 
     builder.setReadTimeout(connectionTimeouts.getReadTimeoutMs())
-            .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
-            .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
-            .setUserAgent(getUserAgentVersionFromClassPath())
-            
.setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new String[0]));
+        .setConnectTimeout(connectionTimeouts.getConnectTimeoutMs())
+        .setHandshakeTimeout(connectionTimeouts.getHandshakeTimeoutMs())
+        .setUserAgent(getUserAgentVersionFromClassPath(appId))
+        .setEnabledProtocols(tlsProtocols.getEnabledProtocols().toArray(new 
String[0]));
 
     _httpClient = Dsl.asyncHttpClient(builder.build());
   }
 
-  private String getUserAgentVersionFromClassPath() {
+  private String getUserAgentVersionFromClassPath(@Nullable String appId) {
     Properties userAgentProperties = new Properties();
     try {
-      userAgentProperties.load(PinotControllerTransport.class.getClassLoader()
-              .getResourceAsStream("version.properties"));
+      userAgentProperties.load(
+          
PinotControllerTransport.class.getClassLoader().getResourceAsStream("version.properties"));
     } catch (IOException e) {
       LOGGER.warn("Unable to set user agent version");
     }
-    return userAgentProperties.getProperty("ua", "unknown");
+    String userAgentFromProperties = userAgentProperties.getProperty("ua", 
"unknown");
+    if (StringUtils.isNotEmpty(appId)) {
+      return
+          appId.substring(0, 
Math.min(org.apache.pinot.client.utils.ConnectionUtils.APP_ID_MAX_CHARS, 
appId.length()))
+              + "-" + userAgentFromProperties;
+    }
+    return userAgentFromProperties;
   }
 
   public TableResponse getAllTables(String controllerAddress) {
diff --git 
a/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransportFactory.java
 
b/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransportFactory.java
index 3dbe899e75..ad142b4bad 100644
--- 
a/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransportFactory.java
+++ 
b/pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransportFactory.java
@@ -41,12 +41,13 @@ public class PinotControllerTransportFactory {
   private int _readTimeoutMs = 
Integer.parseInt(DEFAULT_CONTROLLER_READ_TIMEOUT_MS);
   private int _connectTimeoutMs = 
Integer.parseInt(DEFAULT_CONTROLLER_CONNECT_TIMEOUT_MS);
   private int _handshakeTimeoutMs = 
Integer.parseInt(DEFAULT_CONTROLLER_HANDSHAKE_TIMEOUT_MS);
+  private String _appId = null;
 
   public PinotControllerTransport buildTransport() {
-    ConnectionTimeouts connectionTimeouts = 
ConnectionTimeouts.create(_readTimeoutMs, _connectTimeoutMs,
-            _handshakeTimeoutMs);
+    ConnectionTimeouts connectionTimeouts =
+        ConnectionTimeouts.create(_readTimeoutMs, _connectTimeoutMs, 
_handshakeTimeoutMs);
     TlsProtocols tlsProtocols = TlsProtocols.defaultProtocols(_tlsV10Enabled);
-    return new PinotControllerTransport(_headers, _scheme, _sslContext, 
connectionTimeouts, tlsProtocols);
+    return new PinotControllerTransport(_headers, _scheme, _sslContext, 
connectionTimeouts, tlsProtocols, _appId);
   }
 
   public Map<String, String> getHeaders() {
@@ -74,16 +75,17 @@ public class PinotControllerTransportFactory {
   }
 
   public PinotControllerTransportFactory withConnectionProperties(Properties 
properties) {
-    _readTimeoutMs = 
Integer.parseInt(properties.getProperty("controllerReadTimeoutMs",
-            DEFAULT_CONTROLLER_READ_TIMEOUT_MS));
-    _connectTimeoutMs = 
Integer.parseInt(properties.getProperty("controllerConnectTimeoutMs",
-            DEFAULT_CONTROLLER_CONNECT_TIMEOUT_MS));
-    _handshakeTimeoutMs = 
Integer.parseInt(properties.getProperty("controllerHandshakeTimeoutMs",
-            DEFAULT_CONTROLLER_HANDSHAKE_TIMEOUT_MS));
-    _tlsV10Enabled = 
Boolean.parseBoolean(properties.getProperty("controllerTlsV10Enabled",
-            DEFAULT_CONTROLLER_TLS_V10_ENABLED))
-            || 
Boolean.parseBoolean(System.getProperties().getProperty("controller.tlsV10Enabled",
-            DEFAULT_CONTROLLER_TLS_V10_ENABLED));
+    _readTimeoutMs =
+        Integer.parseInt(properties.getProperty("controllerReadTimeoutMs", 
DEFAULT_CONTROLLER_READ_TIMEOUT_MS));
+    _connectTimeoutMs =
+        Integer.parseInt(properties.getProperty("controllerConnectTimeoutMs", 
DEFAULT_CONTROLLER_CONNECT_TIMEOUT_MS));
+    _handshakeTimeoutMs = Integer.parseInt(
+        properties.getProperty("controllerHandshakeTimeoutMs", 
DEFAULT_CONTROLLER_HANDSHAKE_TIMEOUT_MS));
+    _appId = properties.getProperty("appId");
+    _tlsV10Enabled =
+        Boolean.parseBoolean(properties.getProperty("controllerTlsV10Enabled", 
DEFAULT_CONTROLLER_TLS_V10_ENABLED))
+            || Boolean.parseBoolean(
+            System.getProperties().getProperty("controller.tlsV10Enabled", 
DEFAULT_CONTROLLER_TLS_V10_ENABLED));
     return this;
   }
 }
diff --git 
a/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/DummyPinotControllerTransport.java
 
b/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/DummyPinotControllerTransport.java
index 03e5ad5e76..d5bd91f7cd 100644
--- 
a/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/DummyPinotControllerTransport.java
+++ 
b/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/DummyPinotControllerTransport.java
@@ -29,10 +29,10 @@ import org.apache.pinot.spi.utils.JsonUtils;
 
 public class DummyPinotControllerTransport extends PinotControllerTransport {
 
-  public DummyPinotControllerTransport(Map<String, String> headers, String 
scheme, @Nullable SSLContext sslContext) {
-    super(headers, scheme, sslContext,
-            ConnectionTimeouts.create(1000, 1000, 1000),
-            TlsProtocols.defaultProtocols(true));
+  public DummyPinotControllerTransport(Map<String, String> headers, String 
scheme, @Nullable SSLContext sslContext,
+      @Nullable String appId) {
+    super(headers, scheme, sslContext, ConnectionTimeouts.create(1000, 1000, 
1000), TlsProtocols.defaultProtocols(true),
+        appId);
   }
 
   @Override
@@ -47,6 +47,10 @@ public class DummyPinotControllerTransport extends 
PinotControllerTransport {
   }
 
   public static DummyPinotControllerTransport create() {
-    return new DummyPinotControllerTransport(null, null, null);
+    return create("dummy");
+  }
+
+  public static DummyPinotControllerTransport create(String appId) {
+    return new DummyPinotControllerTransport(null, null, null, appId);
   }
 }
diff --git 
a/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/PinotConnectionTest.java
 
b/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/PinotConnectionTest.java
index 1d783f82f2..ac3a418ccd 100644
--- 
a/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/PinotConnectionTest.java
+++ 
b/pinot-clients/pinot-jdbc-client/src/test/java/org/apache/pinot/client/PinotConnectionTest.java
@@ -35,4 +35,32 @@ public class PinotConnectionTest {
     Statement statement = pinotConnection.createStatement();
     Assert.assertNotNull(statement);
   }
+
+  @Test
+  public void setUserAgentTest()
+      throws Exception {
+    StringBuilder appId = new StringBuilder("appId-");
+    for (int i = 0; i < 256; i++) {
+       appId.append(i);
+    }
+    DummyPinotControllerTransport userAgentPinotControllerTransport = 
DummyPinotControllerTransport
+        .create(appId.toString());
+
+    PinotConnection pinotConnection =
+        new PinotConnection("dummy", _dummyPinotClientTransport, "dummy", 
userAgentPinotControllerTransport);
+    Statement statement = pinotConnection.createStatement();
+    Assert.assertNotNull(statement);
+  }
+
+  @Test
+  public void unsetUserAgentTest()
+      throws Exception {
+    DummyPinotControllerTransport userAgentPinotControllerTransport = 
DummyPinotControllerTransport
+        .create(null);
+
+    PinotConnection pinotConnection =
+        new PinotConnection("dummy", _dummyPinotClientTransport, "dummy", 
userAgentPinotControllerTransport);
+    Statement statement = pinotConnection.createStatement();
+    Assert.assertNotNull(statement);
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to