You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@gobblin.apache.org by "Wenqin Wang (Jira)" <ji...@apache.org> on 2020/11/24 18:32:00 UTC

[jira] [Resolved] (GOBBLIN-1323) make columnListInQuery in RestApiExtractor overridable in child class for Dynamics Extractor

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

Wenqin Wang resolved GOBBLIN-1323.
----------------------------------
    Resolution: Fixed

Issue resolved by pul request #3156

https://github.com/apache/incubator-gobblin/pull/3156

> make columnListInQuery in RestApiExtractor overridable in child class for Dynamics Extractor
> --------------------------------------------------------------------------------------------
>
>                 Key: GOBBLIN-1323
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1323
>             Project: Apache Gobblin
>          Issue Type: Bug
>          Components: gobblin-core
>            Reporter: Wenqin Wang
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Recently we've discovered that in our Dynamics ingestion pipeline, we would not remove invalid fields in our query before pulling data for dynamics entities, and therefore gobblin ingestion would fail due to field not found error. This feature is implemented for Salesforce in RestApiExtrator.java, and the logic is specifically tailored for Salesforce. Therefore i'm proposing some changes and hope to get Gobblin dev's guidance and reviews.
> For Dynamics, to enable this feature, here is the solution that I think works the best:
> since the query looks different from Salesforce query, we need to change the way we extract fields from client-specified-query. I will make a protected method in RestApiExtractor.java to wrap this Utils.getColumnListFromQuery, and override it in DynamicsExtractor.java (the child class) to write specific logic for dynamics use case. After that, we can override the buildDataQuery method in DynamicsExtractor.java ourselves to replace user-specified-query with validated fields. This way it would not affect other extractors.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)