[ 
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" : "foo" , type : "String" , value : "default"}

{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" :{ "name" : "bar" , type : "Integer" , value : "newValue"}
{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, 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}



> 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" : "foo" , type : "String" , value : "default"}
> {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" :{ "name" : "bar" , type : "Integer" , value : "newValue"}
> {code}
> Delete a key
> {code}
>  foo : "" ( empty) value
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to