You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2013/04/23 20:53:17 UTC

[jira] [Updated] (MESOS-448) Make hadoop-* is broken on trunk.

     [ https://issues.apache.org/jira/browse/MESOS-448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Mahler updated MESOS-448:
----------------------------------

    Description: 
This was broken by: https://reviews.apache.org/r/10581 (which I think was benh's change originally).

Currently all TaskTrackers fail to launch with the following:
Failed to determine the canonical path of mesos-launcher: No such file or directory

I augmented the logging with the following in process_isolator.cpp:
    // Determine path for mesos-launcher.
    Try<string> realpath = os::realpath(
        path::join(flags.launcher_dir, "mesos-launcher"));

    if (realpath.isError()) {
      EXIT(1) << "Failed to determine the canonical path of '"
              << path::join(flags.launcher_dir, "mesos-launcher")
              << "': " << realpath.error();
    }

Which now gets me the launcher path it's looking at:
"Failed to determine the canonical path of '/usr/local/libexec/mesos/mesos-launcher': No such file or directory"

Are we expecting a make install for this to work? Shouldn't this be working out of the build directory when no make install has taken place?

On my system, I only have:
$ sudo find / -name "mesos-launcher"
/Users/bmahler/git/mesos/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos/build/src/mesos-launcher
/Users/bmahler/git/mesos3/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos3/build/src/mesos-launcher
/usr/local.old/libexec/mesos/mesos-launcher  // Possibly leftover from a OSX upgrade..

The launcher directory is set from this flag:
    add(&Flags::launcher_dir, // TODO(benh): This needs a better name.
        "launcher_dir",
        "Location of Mesos binaries",
        MESOS_LIBEXECDIR);

And in the Makefile.am:
MESOS_CPPFLAGS += -DMESOS_LIBEXECDIR=\"$(pkglibexecdir)\"

Looking at killtree() in process_utils.hpp, do we want to do something similar for the launcher?
  if (os::hasenv("MESOS_KILLTREE")) {
    // Set by mesos-build-env.sh.
    cmdline = os::getenv("MESOS_KILLTREE");
  } else if (os::hasenv("MESOS_SOURCE_DIR")) {
    // Set by test harness for external tests.
    cmdline = os::getenv("MESOS_SOURCE_DIR") +
      "/src/scripts/killtree.sh";
  } else {
    cmdline = MESOS_LIBEXECDIR "/killtree.sh";
  }

  was:
This was broken by: https://reviews.apache.org/r/10581 (which I think was benh's change originally).

I augmented the logging with the following in process_isolator.cpp:
    // Determine path for mesos-launcher.
    Try<string> realpath = os::realpath(
        path::join(flags.launcher_dir, "mesos-launcher"));

    if (realpath.isError()) {
      EXIT(1) << "Failed to determine the canonical path of '"
              << path::join(flags.launcher_dir, "mesos-launcher")
              << "': " << realpath.error();
    }

Which now gets me the launcher path it's looking at:
"Failed to determine the canonical path of '/usr/local/libexec/mesos/mesos-launcher': No such file or directory"

Are we expecting a make install for this to work? Shouldn't this be working out of the build directory when no make install has taken place?

On my system, I only have:
$ sudo find / -name "mesos-launcher"
/Users/bmahler/git/mesos/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos/build/src/mesos-launcher
/Users/bmahler/git/mesos3/build/src/.libs/mesos-launcher
/Users/bmahler/git/mesos3/build/src/mesos-launcher
/usr/local.old/libexec/mesos/mesos-launcher  // Possibly leftover from a OSX upgrade..

The launcher directory is set from this flag:
    add(&Flags::launcher_dir, // TODO(benh): This needs a better name.
        "launcher_dir",
        "Location of Mesos binaries",
        MESOS_LIBEXECDIR);

And in the Makefile.am:
MESOS_CPPFLAGS += -DMESOS_LIBEXECDIR=\"$(pkglibexecdir)\"

Looking at killtree() in process_utils.hpp, do we want to do something similar for the launcher?
  if (os::hasenv("MESOS_KILLTREE")) {
    // Set by mesos-build-env.sh.
    cmdline = os::getenv("MESOS_KILLTREE");
  } else if (os::hasenv("MESOS_SOURCE_DIR")) {
    // Set by test harness for external tests.
    cmdline = os::getenv("MESOS_SOURCE_DIR") +
      "/src/scripts/killtree.sh";
  } else {
    cmdline = MESOS_LIBEXECDIR "/killtree.sh";
  }

    
> Make hadoop-* is broken on trunk.
> ---------------------------------
>
>                 Key: MESOS-448
>                 URL: https://issues.apache.org/jira/browse/MESOS-448
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Benjamin Mahler
>            Assignee: Benjamin Hindman
>            Priority: Critical
>
> This was broken by: https://reviews.apache.org/r/10581 (which I think was benh's change originally).
> Currently all TaskTrackers fail to launch with the following:
> Failed to determine the canonical path of mesos-launcher: No such file or directory
> I augmented the logging with the following in process_isolator.cpp:
>     // Determine path for mesos-launcher.
>     Try<string> realpath = os::realpath(
>         path::join(flags.launcher_dir, "mesos-launcher"));
>     if (realpath.isError()) {
>       EXIT(1) << "Failed to determine the canonical path of '"
>               << path::join(flags.launcher_dir, "mesos-launcher")
>               << "': " << realpath.error();
>     }
> Which now gets me the launcher path it's looking at:
> "Failed to determine the canonical path of '/usr/local/libexec/mesos/mesos-launcher': No such file or directory"
> Are we expecting a make install for this to work? Shouldn't this be working out of the build directory when no make install has taken place?
> On my system, I only have:
> $ sudo find / -name "mesos-launcher"
> /Users/bmahler/git/mesos/build/src/.libs/mesos-launcher
> /Users/bmahler/git/mesos/build/src/mesos-launcher
> /Users/bmahler/git/mesos3/build/src/.libs/mesos-launcher
> /Users/bmahler/git/mesos3/build/src/mesos-launcher
> /usr/local.old/libexec/mesos/mesos-launcher  // Possibly leftover from a OSX upgrade..
> The launcher directory is set from this flag:
>     add(&Flags::launcher_dir, // TODO(benh): This needs a better name.
>         "launcher_dir",
>         "Location of Mesos binaries",
>         MESOS_LIBEXECDIR);
> And in the Makefile.am:
> MESOS_CPPFLAGS += -DMESOS_LIBEXECDIR=\"$(pkglibexecdir)\"
> Looking at killtree() in process_utils.hpp, do we want to do something similar for the launcher?
>   if (os::hasenv("MESOS_KILLTREE")) {
>     // Set by mesos-build-env.sh.
>     cmdline = os::getenv("MESOS_KILLTREE");
>   } else if (os::hasenv("MESOS_SOURCE_DIR")) {
>     // Set by test harness for external tests.
>     cmdline = os::getenv("MESOS_SOURCE_DIR") +
>       "/src/scripts/killtree.sh";
>   } else {
>     cmdline = MESOS_LIBEXECDIR "/killtree.sh";
>   }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira