[ 
https://issues.apache.org/jira/browse/CALCITE-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

yayuyao updated CALCITE-1974:
-----------------------------
    Priority: Minor  (was: Major)

> Can not query Druid table just inserted few minutes ago
> -------------------------------------------------------
>
>                 Key: CALCITE-1974
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1974
>             Project: Calcite
>          Issue Type: Bug
>          Components: druid
>    Affects Versions: 1.13.0
>            Reporter: yayuyao
>            Assignee: Julian Hyde
>            Priority: Minor
>              Labels: easyfix
>
> I use Tranquility to insert a new table to Druid. After the Druid cluster 
> receiving the data, I can query data via http://Broker:8082.
> But Calcite-Druid can not query Druid table at this time. And waiting for a 
> few moment, when I can check the table name from http://Coordinator:8081, the 
> Calcite-Druid can query the data.
> In 
> calcite/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java:561:
> {code:java}
> Set<String> tableNames() {
>     final Map<String, String> requestHeaders =
>         ImmutableMap.of("Content-Type", "application/json");
>     final String data = null;
>     final String url = coordinatorUrl + 
> "/druid/coordinator/v1/metadata/datasources";
>     if (CalcitePrepareImpl.DEBUG) {
>       System.out.println("Druid: table names" + data + "; " + url);
>     }
>     try (InputStream in0 = post(url, data, requestHeaders, 10000, 1800000);
>          InputStream in = traceResponse(in0)) {
>       final ObjectMapper mapper = new ObjectMapper();
>       final CollectionType listType =
>           mapper.getTypeFactory().constructCollectionType(List.class,
>               String.class);
>       final List<String> list = mapper.readValue(in, listType);
>       return ImmutableSet.copyOf(list);
>     } catch (IOException e) {
>       throw new RuntimeException(e);
>     }
>   }
> {code}
> We can see in Line 5 above, the program uses the URL of Coordinator to get 
> the table names. But after inserting the data, this URL can not return the 
> new table name, actually URL of Broker can return the inserted table name 
> just. 
> And after data persistence, we can check data source name in Coordinate. And 
> Calcite-Druid can query too.
> In Druid document, I find that:
> {panel:title=Broker Page}
> /druid/v2/datasources
> Returns a list of queryable datasources.
> {panel}
> {panel:title=Coordinator Page}
> /druid/coordinator/v1/metadata/datasources
> Returns a list of the names of enabled datasources in the cluster.{panel}
> So, what is the difference between "queryable" and "enabled". I think we 
> should support to query queryable table.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to