[ https://issues.apache.org/jira/browse/SQOOP-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14360643#comment-14360643 ]
Veena Basavaraj commented on SQOOP-1803: ---------------------------------------- Here are some details of #4. [~jarcec] Discussing the option 4 a bit more. if we restrict the "state" to be set in the Initializer ( to begin with rather than using the persistent store ), the current mutable context api should support it. Related question: "MutableContext" api "may" need to be extended to support adding any value, and not just a "string" current code always stores the object as a string, not sure if this is a limitation {code} public MutableMapContext() { this(new HashMap<String, String>()); } {code} Lets take a concrete use case of GenericJdbcFromInitializer, where once the "last" value is determined it is put into this context. I do not see a need for any api change, since the following can be done. This mean we pre determine the last value before the actual mappers execute. {code} /** * Set long value for given key. * * @param key Key * @param value New value */ public void setLong(String key, long value); {code} So in the initializer code we do... {code} context.setLong(...) {code} The job manager code already has access to this context object. {code} // Initialize submission from the connector perspective initializer.initialize(initializerContext, jobRequest.getConnectorLinkConfig(direction), jobRequest.getJobConfig(direction)); {code} So this means if the job succeeded we call the repository api to persist this in the repo. {code} RepositoryManager.getInstance().getRepository().updateJobConfig( ...) {code} Let me know if this makes sense? or needs more details? > JobManager and Execution Engine changes: Support for a injecting and pulling > out configs and job output in connectors > ---------------------------------------------------------------------------------------------------------------------- > > Key: SQOOP-1803 > URL: https://issues.apache.org/jira/browse/SQOOP-1803 > Project: Sqoop > Issue Type: Sub-task > Reporter: Veena Basavaraj > Assignee: Veena Basavaraj > Fix For: 1.99.6 > > > The details are in the design wiki, as the implementation happens more > discussions can happen here. > https://cwiki.apache.org/confluence/display/SQOOP/Delta+Fetch+And+Merge+Design#DeltaFetchAndMergeDesign-Howtogetoutputfromconnectortosqoop? > The goal is to dynamically inject a IncrementalConfig instance into the > FromJobConfiguration. The current MFromConfig and MToConfig can already hold > a list of configs, and a strong sentiment was expressed to keep it as a list, > why not for the first time actually make use of it and group the incremental > related configs in one config object > This task will prepare the FromJobConfiguration from the job config data, > ExtractorContext with the relevant values from the prev job run > This task will prepare the ToJobConfiguration from the job config data, > LoaderContext with the relevant values from the prev job run if any > We will use DistributedCache to get State information from the Extractor and > Loader out and finally persist it into the sqoop repository depending on > SQOOP-1804 once the outputcommitter commit is called -- This message was sent by Atlassian JIRA (v6.3.4#6332)