[
https://issues.apache.org/jira/browse/YARN-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15400237#comment-15400237
]
Allen Wittenauer commented on YARN-5121:
----------------------------------------
bq. I just want to double-check with you that the fchmodat.h and fdopendir.h
implementations are not BSD-licensed, and that's why they're not listed in
LICENSE.txt and instead have an Apache license header. Is that correct?
I wrote them based upon the other functions' implementations so I put an ASF
license on them.
bq. Chris D mentioned previously that this might have been a leftover from
debugging. Did you intend to keep it.
I did remove some other debugging code, but that one I thought was useful due
to aggressive use of ternary operators. (UGH! Yes, the code is compact, but
nearly unreadable, when nested! I probably should have rewrote them too but...)
bq. Please check the indentation on the return statement.
Argh. Yes, I'll fix. The formatting of the C code is pretty awful and
definitely caused me issues. haha.
bq. Is "/proc/self/path/a.out" correct? ... Is that a.out like the default gcc
binary output path?
a.out was the file name before gcc existed... ;) Anyway, here's some backing
evidence:
http://docs.oracle.com/cd/E23824_01/html/821-1473/proc-4.html#
Solaris' proc works a bit differently than what one might be used to under
Linux. The keys here are /proc/pid/object and /proc/pid/path. object gives
you access to any mapped or page data that came from file system objects. path
contains symbolic links to all open files and the source files of the content
of the object dir. object/a.out is the executable. Therefore path/a.out is a
symbolic link to the executable itself. With that context, it probably makes a
lot more sense, since there are *two* ways to get to the data, depending upon
your needs.
Anyway, from my home machine (skipping object, since the file names are present
in path):
{code}
sunos/i386 ryoko$ pwd
/proc/6956/path
sunos/i386 ryoko$ ls -l
total 0
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 0 -> /dev/pts/3
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 1 -> /dev/pts/3
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 2 -> /dev/pts/3
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 255 -> /dev/pts/3
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 3 ->
/var/run/ldap_cache_door
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 a.out -> /usr/bin/bash
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 cwd -> /home/allenw
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 root -> /
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.11300 ->
/usr/lib/mps/libnspr4.so
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18905 ->
/lib/libmd.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18918 ->
/lib/libgen.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18920 ->
/lib/libsocket.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18942 ->
/lib/libresolv.so.2
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18950 ->
/lib/nss_files.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18956 ->
/lib/libmp.so.2
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18957 ->
/lib/nss_dns.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18961 ->
/lib/libpthread.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.18964 ->
/lib/libnsl.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.6054 ->
/lib/ld.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.6085 ->
/lib/libcurses.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.6088 ->
/lib/libdl.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.9190 ->
/usr/lib/libc/libc_hwcap1.so.1
lrwxrwxrwx 1 allenw users 0 Jun 21 08:05 zfs.122.65594.9233 ->
/usr/lib/libldap.so.5
{code}
You'll note that a.out points to the bash executable.
(This whole conversation is rather timely, given that Roger Faulkner just
passed away recently.)
I'll do a quick update and post a new patch. Thanks for the review!
> fix some container-executor portability issues
> ----------------------------------------------
>
> Key: YARN-5121
> URL: https://issues.apache.org/jira/browse/YARN-5121
> Project: Hadoop YARN
> Issue Type: Bug
> Components: nodemanager
> Affects Versions: 3.0.0-alpha1
> Reporter: Allen Wittenauer
> Assignee: Allen Wittenauer
> Priority: Blocker
> Attachments: YARN-5121.00.patch, YARN-5121.01.patch,
> YARN-5121.02.patch, YARN-5121.03.patch, YARN-5121.04.patch, YARN-5121.06.patch
>
>
> container-executor has some issues that are preventing it from even compiling
> on the OS X jenkins instance. Let's fix those. While we're there, let's
> also try to take care of some of the other portability problems that have
> crept in over the years, since it used to work great on Solaris but now
> doesn't.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]