sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SQOOP-339) Use of non-portable mknod utility causes build problems on Mac OS X
Date Sat, 17 Sep 2011 00:13:11 GMT

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

jiraposter@reviews.apache.org commented on SQOOP-339:
-----------------------------------------------------



bq.  On 2011-09-16 23:17:01, Arvind Prabhakar wrote:
bq.  > src/java/com/cloudera/sqoop/io/NamedFifo.java, line 74
bq.  > <https://reviews.apache.org/r/1938/diff/2/?file=41551#file41551line74>
bq.  >
bq.  >     Thanks for making this change. Considering that there is at least one more system
where this problem shows up, I suggest that we add an evnironment variable check, something
like sqoop.use.mkfifo, which if set turns this behavior.
bq.  
bq.  Joey Echeverria wrote:
bq.      I don't like making things require a configuration if we don't need to. How about
I just check to see what's in the path? If mknod is there, if not pick mkfifo. If neither
is available, throw an error? Less work for the user, works everywhere. I can do the check
once when the class is loaded and then just remember my choice.
bq.  
bq.  Joseph Boyd wrote:
bq.      mknod exists on mac os x, it just can't create a FIFO.
bq.      
bq.      I suggested in the JIRA that we try running mknod and then fall back to running mkfifo
if the mknod call returns a non-zero exit code.

I saw that after I posted. I could switch the logic and search for mkfifo first. I assume
that mkfifo can always make a fifo, right ;)


- Joey


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


On 2011-09-16 22:14:55, 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-16 22:14:55)
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
>
>
> 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

        

Mime
View raw message