Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-28 Thread Boglarka Egyed

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/#review205509
---


Ship it!




Ship It!

- Boglarka Egyed


On June 28, 2018, 12:29 p.m., Fero Szabo wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67675/
> ---
> 
> (Updated June 28, 2018, 12:29 p.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3332
> https://issues.apache.org/jira/browse/SQOOP-3332
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> ---
> 
> This is the documentation part of SQOOP-.
> 
> 
> Diffs
> -
> 
>   src/docs/user/connectors.txt f1c7aebe 
>   src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
>   src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
> cf58f631 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
> fc1c4895 
> 
> 
> Diff: https://reviews.apache.org/r/67675/diff/3/
> 
> 
> Testing
> ---
> 
> Unit tests, 3rdparty tests, ant docs.
> 
> I've also investigated how export and import works: 
> 
> Import has it's retry mechanism in 
> org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
> In case of error, it re-calculates the db query, thus the implicit 
> requirements
> 
> Export has it's retry loop in 
> org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
> It doesn't recalculate the query, thus is a lot safer.
> 
> 
> Thanks,
> 
> Fero Szabo
> 
>



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-28 Thread daniel voros

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/#review205504
---


Ship it!




Ship It!

- daniel voros


On June 28, 2018, 12:29 p.m., Fero Szabo wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67675/
> ---
> 
> (Updated June 28, 2018, 12:29 p.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3332
> https://issues.apache.org/jira/browse/SQOOP-3332
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> ---
> 
> This is the documentation part of SQOOP-.
> 
> 
> Diffs
> -
> 
>   src/docs/user/connectors.txt f1c7aebe 
>   src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
>   src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
> cf58f631 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
> fc1c4895 
> 
> 
> Diff: https://reviews.apache.org/r/67675/diff/3/
> 
> 
> Testing
> ---
> 
> Unit tests, 3rdparty tests, ant docs.
> 
> I've also investigated how export and import works: 
> 
> Import has it's retry mechanism in 
> org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
> In case of error, it re-calculates the db query, thus the implicit 
> requirements
> 
> Export has it's retry loop in 
> org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
> It doesn't recalculate the query, thus is a lot safer.
> 
> 
> Thanks,
> 
> Fero Szabo
> 
>



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-28 Thread Fero Szabo via Review Board

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/
---

(Updated June 28, 2018, 12:29 p.m.)


Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.


Changes
---

small correction to make the implicit requirement a little bit clearer.


Bugs: SQOOP-3332
https://issues.apache.org/jira/browse/SQOOP-3332


Repository: sqoop-trunk


Description
---

This is the documentation part of SQOOP-.


Diffs (updated)
-

  src/docs/user/connectors.txt f1c7aebe 
  src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
  src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
cf58f631 
  src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
fc1c4895 


Diff: https://reviews.apache.org/r/67675/diff/3/

Changes: https://reviews.apache.org/r/67675/diff/2-3/


Testing
---

Unit tests, 3rdparty tests, ant docs.

I've also investigated how export and import works: 

Import has it's retry mechanism in 
org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
In case of error, it re-calculates the db query, thus the implicit requirements

Export has it's retry loop in 
org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
It doesn't recalculate the query, thus is a lot safer.


Thanks,

Fero Szabo



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-28 Thread Fero Szabo via Review Board


> On June 28, 2018, 8:42 a.m., daniel voros wrote:
> > Hi Fero,
> > 
> > If I understand correclty, with this patch we're only displaying a warning 
> > when using --resilient to let the users know they should add --split-by 
> > (even if they do so?).
> > 
> > In the documentation you're saying omitting --split-by can lead to 
> > lost/duplicated records. Shouldn't we stop the importing if there's no 
> > --split-by then? I understand we can't enforce the uniqeness and ascending 
> > order though, so keeping some kind of warning could make sense too.
> > 
> > What do you think?
> > 
> > Regards,
> > Daniel

Hi Dani,

Thank you for the review!

Yes, so, the warning message is always the same, though I wanted to put the 
emphasis on the implicit requirements of import (unique and ascending values in 
the split-by column). Happy to change the message if you've a better suggestion!

I haven't written anything about omitting --split-by, at least it wasn't my 
intention to. The first sentence (that I added) says:
"In case of import however, one has to use both the +--resilient+ option and 
specify the +--split-by+ column to trigger the retry mechanism."

Import doesn't use resilient operations if there is no --split-by option. 
Though I believe that it falls back to non-resilient (default) behavior.

So, what I intended to say was the same as what you're suggesting here, but it 
might be confusing, then. Do you think I should change anything?


- Fero


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/#review205494
---


On June 25, 2018, 3:17 p.m., Fero Szabo wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67675/
> ---
> 
> (Updated June 25, 2018, 3:17 p.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3332
> https://issues.apache.org/jira/browse/SQOOP-3332
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> ---
> 
> This is the documentation part of SQOOP-.
> 
> 
> Diffs
> -
> 
>   src/docs/user/connectors.txt f1c7aebe 
>   src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
>   src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
> cf58f631 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
> fc1c4895 
> 
> 
> Diff: https://reviews.apache.org/r/67675/diff/2/
> 
> 
> Testing
> ---
> 
> Unit tests, 3rdparty tests, ant docs.
> 
> I've also investigated how export and import works: 
> 
> Import has it's retry mechanism in 
> org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
> In case of error, it re-calculates the db query, thus the implicit 
> requirements
> 
> Export has it's retry loop in 
> org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
> It doesn't recalculate the query, thus is a lot safer.
> 
> 
> Thanks,
> 
> Fero Szabo
> 
>



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-28 Thread daniel voros

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/#review205494
---



Hi Fero,

If I understand correclty, with this patch we're only displaying a warning when 
using --resilient to let the users know they should add --split-by (even if 
they do so?).

In the documentation you're saying omitting --split-by can lead to 
lost/duplicated records. Shouldn't we stop the importing if there's no 
--split-by then? I understand we can't enforce the uniqeness and ascending 
order though, so keeping some kind of warning could make sense too.

What do you think?

Regards,
Daniel

- daniel voros


On June 25, 2018, 3:17 p.m., Fero Szabo wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67675/
> ---
> 
> (Updated June 25, 2018, 3:17 p.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3332
> https://issues.apache.org/jira/browse/SQOOP-3332
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> ---
> 
> This is the documentation part of SQOOP-.
> 
> 
> Diffs
> -
> 
>   src/docs/user/connectors.txt f1c7aebe 
>   src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
>   src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
> cf58f631 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
> fc1c4895 
> 
> 
> Diff: https://reviews.apache.org/r/67675/diff/2/
> 
> 
> Testing
> ---
> 
> Unit tests, 3rdparty tests, ant docs.
> 
> I've also investigated how export and import works: 
> 
> Import has it's retry mechanism in 
> org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
> In case of error, it re-calculates the db query, thus the implicit 
> requirements
> 
> Export has it's retry loop in 
> org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
> It doesn't recalculate the query, thus is a lot safer.
> 
> 
> Thanks,
> 
> Fero Szabo
> 
>



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-25 Thread Szabolcs Vasas

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/#review205291
---


Ship it!




Ship It!

- Szabolcs Vasas


On June 25, 2018, 3:17 p.m., Fero Szabo wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67675/
> ---
> 
> (Updated June 25, 2018, 3:17 p.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3332
> https://issues.apache.org/jira/browse/SQOOP-3332
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> ---
> 
> This is the documentation part of SQOOP-.
> 
> 
> Diffs
> -
> 
>   src/docs/user/connectors.txt f1c7aebe 
>   src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
>   src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
> cf58f631 
>   src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
> fc1c4895 
> 
> 
> Diff: https://reviews.apache.org/r/67675/diff/2/
> 
> 
> Testing
> ---
> 
> Unit tests, 3rdparty tests, ant docs.
> 
> I've also investigated how export and import works: 
> 
> Import has it's retry mechanism in 
> org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
> In case of error, it re-calculates the db query, thus the implicit 
> requirements
> 
> Export has it's retry loop in 
> org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
> It doesn't recalculate the query, thus is a lot safer.
> 
> 
> Thanks,
> 
> Fero Szabo
> 
>



Re: Review Request 67675: SQOOP-3332 Extend Documentation of --resilient flag and add warning message when detected

2018-06-25 Thread Fero Szabo via Review Board

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67675/
---

(Updated June 25, 2018, 3:17 p.m.)


Review request for Sqoop, Boglarka Egyed, daniel voros, and Szabolcs Vasas.


Changes
---

Added a fix for a bug in SQLServerManagerImportTest, introduced in SQOOP-: 
while the constructor of the testclass is invoked for every test again and a 
again, the configuration object are only instatiated once. Thus 5 tests were 
reusing the same configuration references, polluting the builders. 
(in the end the builder contained the following tool options: --table-hints 
NOLOCK --table-hints NOLOCK,NOWAIT --non-resilient --resilient)

This fix avoids that by creating a new copy of the builder, each time the 
constructor is invoked


Bugs: SQOOP-3332
https://issues.apache.org/jira/browse/SQOOP-3332


Repository: sqoop-trunk


Description
---

This is the documentation part of SQOOP-.


Diffs (updated)
-

  src/docs/user/connectors.txt f1c7aebe 
  src/java/org/apache/sqoop/manager/SQLServerManager.java c98ad2db 
  src/java/org/apache/sqoop/manager/SqlServerManagerContextConfigurator.java 
cf58f631 
  src/test/org/apache/sqoop/manager/sqlserver/SQLServerManagerImportTest.java 
fc1c4895 


Diff: https://reviews.apache.org/r/67675/diff/2/

Changes: https://reviews.apache.org/r/67675/diff/1-2/


Testing
---

Unit tests, 3rdparty tests, ant docs.

I've also investigated how export and import works: 

Import has it's retry mechanism in 
org.apache.sqoop.mapreduce.db.SQLServerDBRecordReader#nextKeyValue
In case of error, it re-calculates the db query, thus the implicit requirements

Export has it's retry loop in 
org.apache.sqoop.mapreduce.SQLServerAsyncDBExecThread#write
It doesn't recalculate the query, thus is a lot safer.


Thanks,

Fero Szabo