[
https://issues.apache.org/jira/browse/SQOOP-339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106937#comment-13106937
]
[email protected] 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