Strange behaviour with Microstrategy + Dremio JDBC Client

Hi Team,

I tried to connect Dremio from MSTR using ODBC flight driver. As I see there is a lot of lag to transfer the data from Dremio, I switched to JDBC Client. Downstream block issue is resolved, but I see there are a couple of NA and SET exec.query.return_result_set_for_ddl=false statements. Please help me how to resolve the issue.


@rammi16 Are you able to send both the Flight and JDBC profiles?


Profiles are below.
ODBC Arrow Flight: (44.5 KB)

JDBC Client: (37.1 KB)

NA Statement Profile: (6.0 KB)

SET exec.query.return_result_set_for_ddl=false profile : (4.3 KB) is just a query that MSTR sends to get list of tables/columns from Dremio, this is a very standard query. [Get Server Meta] is again sent by MSTR and probably due to the Drill driver, I will file a ticket for this internally

Looks like Dremio is waiting on the ODBC client (MSTR) to consume the records sent 10 MB of data, Is the MSTR server in a different network?

@balaji.ramaswamy Thank you for the quick response.

I noticed SET exec.query.return_result_set_for_ddl =false is executing before for every statement. I see this behavior only for JDBC Client. Is there a way to avoid this?

MSTR is in a different network, but I don’t see any issue if I use the JDBC client. I was assuming ODBC Arrow Flight will give better performance than the JDBC.

My Other questions are…

  1. Is there a way to connect arrow flight port(32010) using JDBC?
  2. Can we configure connection pooling or keep the connections alive in JDBC/ODBC? I see every statement is a new connection. In my MSTR dossier has multiple widgets and each time the report fires multiple( approx 20) statements to Dremio.

@rammi16 #1 is still not there, how do you see every connection is a new connection?