[ https://issues.apache.org/jira/browse/SQOOP-2047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Veena Basavaraj updated SQOOP-2047: ----------------------------------- Description: As described in the parent ticket, the connector upgrade code can become a bit more smarter. It does not have to dump every single input/ config and its values on every connector upgrade path, irrespective of anything changed or not. We can just ask the connector to provide a list of keys that changed. for new ones, for old ones and the deleted ones New one, assuming foo does not exist, a new record will be created {code} "foo" : { "name" : "bar" , type : "String"} {code} Modified one, assuming foo exists, we will look up and modify, per connector per job ( since it will modify for all jobs anyways, there is no way to have a different input name for job 1 and job2 ) {code "foo" : JSON map of the input attributes {code} Delete a key {code} foo : "" ( empty) value {code} was: As described in the parent ticket, the connector upgrade code can become a bit more smarter. It does not have to dump every single input/ config and its values on every connector upgrade path, irrespective of anything changed or not. We can just ask the connector to provide a list of keys that changed. for new ones, for old ones and the deleted ones New one "foo" : JSON map of the input attributes > Optimal Connector Upgrade API > ----------------------------- > > Key: SQOOP-2047 > URL: https://issues.apache.org/jira/browse/SQOOP-2047 > Project: Sqoop > Issue Type: Sub-task > Reporter: Veena Basavaraj > Assignee: Veena Basavaraj > Fix For: 2.0.0 > > > As described in the parent ticket, the connector upgrade code can become a > bit more smarter. > It does not have to dump every single input/ config and its values on every > connector upgrade path, irrespective of anything changed or not. > We can just ask the connector to provide a list of keys that changed. > for new ones, for old ones and the deleted ones > New one, assuming foo does not exist, a new record will be created > {code} > "foo" : { "name" : "bar" , type : "String"} > {code} > Modified one, assuming foo exists, we will look up and modify, per connector > per job ( since it will modify for all jobs anyways, there is no way to have > a different input name for job 1 and job2 ) > {code > "foo" : JSON map of the input attributes > {code} > Delete a key > {code} > foo : "" ( empty) value > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)