[ 
https://issues.apache.org/jira/browse/SQOOP-339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13112177#comment-13112177
 ] 

[email protected] commented on SQOOP-339:
-----------------------------------------------------


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


Code change looks good. On my linux system I tested it out by removing (1) 
mknod completely from the path, (2) keeping it but revoking the execute 
permissions, (3) replacing it with a dummy script that does nothing, and (4) 
replacing it with a dummy script that returned an non-zero exit code. In all 
but (3), the test failed since the Shell.execCommand() raised an exception 
(IOException in cases 1,2 and Shell$ExitCodeException in 4). This implies that 
if the mknod command fails, the routine will exit with error rather than retry 
it.

One way to address it would be to put the Shell.exec in try/catch and log the 
first exception before retry. If it fails again with mkfifo, the exception can 
bubble up to the caller.

- Arvind


On 2011-09-21 17:13:30, Joey Echeverria wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1938/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-09-21 17:13:30)
bq.  
bq.  
bq.  Review request for Sqoop.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Replaced the use of mknod with mkfifo in NamedFifo to improve 
compatibility with Mac OS X.
bq.  
bq.  
bq.  This addresses bug SQOOP-339.
bq.      https://issues.apache.org/jira/browse/SQOOP-339
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    src/java/com/cloudera/sqoop/io/NamedFifo.java 38656cb 
bq.  
bq.  Diff: https://reviews.apache.org/r/1938/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  No new tests as the functionality is covered by an existing unit test. I 
ran the existing unit test and it worked. I don't have a Mac to test on right 
now, so it might be good to run the unit tests on one before commit.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Joey
bq.  
bq.



> Use of non-portable mknod utility causes build problems on Mac OS X
> -------------------------------------------------------------------
>
>                 Key: SQOOP-339
>                 URL: https://issues.apache.org/jira/browse/SQOOP-339
>             Project: Sqoop
>          Issue Type: Bug
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Joseph Boyd
>            Assignee: Joey Echeverria
>            Priority: Minor
>         Attachments: SQOOP-339-1.patch, SQOOP-339-2.patch, SQOOP-339-3.patch, 
> SQOOP-339-4.patch
>
>
> Duplicating this issue from SQOOP-175, which is in the cloudera JIRA
> From SQOOP-175's description by Ken Krugler :
> On Mac OS X 10.6.3, the TestNamedFifo.testNamedFifo() test fails. The error 
> is caused by the Shell.execCommand() use of mknod, since (at least on my Mac) 
> mknod doesn't know about the --mode=xxx parameter or the -p parameters.
> Based on 
> http://stackoverflow.com/questions/4546356/is-mknod-portable-if-not-what-is-the-alternative,
>  I switched the code to use mkfifo and it now passes all tests.
> The change to NamedFifo.create() is trivial:
> Shell.execCommand("mkfifo", "-m", "0" + modeStr, filename);
> But I have no way of trying this out on other OSes, so it might create a 
> different compatibility issue.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to