Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-3002

Rename Option<T>::get(const T& _t) to getOrElse() broke network isolator

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 0.24.0
    • 0.24.0
    • containerization
    • Mesosphere Sprint 14
    • 1

    Description

      Change to Option from get() to getOrElse() breaks network isolator. Building with '../configure --with-network-isolator' generates the following error:

      ../../src/slave/containerizer/isolators/network/port_mapping.cpp: In static member function 'static Try<mesos::slave::Isolator*> mesos::internal::slave::PortMappingIsolatorProcess::create(const mesos::internal::slave::Flags&)':
      ../../src/slave/containerizer/isolators/network/port_mapping.cpp:1103:29: error: no matching function for call to 'Option<std::basic_string<char> >::get(const char [1]) const'
      flags.resources.get(""),
      ^
      ../../src/slave/containerizer/isolators/network/port_mapping.cpp:1103:29: note: candidates are:
      In file included from ../../3rdparty/libprocess/3rdparty/stout/include/stout/check.hpp:26:0,
      from ../../3rdparty/libprocess/include/process/check.hpp:19,
      from ../../3rdparty/libprocess/include/process/collect.hpp:7,
      from ../../src/slave/containerizer/isolators/network/port_mapping.cpp:30:
      ../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:130:12: note: const T& Option<T>::get() const [with T = std::basic_string<char>]
      const T& get() const

      { assert(isSome()); return t; }
      ^
      ../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:130:12: note: candidate expects 0 arguments, 1 provided
      ../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:131:6: note: T& Option<T>::get() [with T = std::basic_string<char>]
      T& get() { assert(isSome()); return t; }

      ^
      ../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:131:6: note: candidate expects 0 arguments, 1 provided
      make[2]: *** [slave/containerizer/isolators/network/libmesos_no_3rdparty_la-port_mapping.lo] Error 1
      make[2]: Leaving directory `/home/pbrett/sandbox/mesos.master/build/src'
      make[1]: *** [check] Error 2
      make[1]: Leaving directory `/home/pbrett/sandbox/mesos.master/build/src'
      make: *** [check-recursive] Error 1

      Attachments

        Issue Links

          Activity

            People

              jvanremoortere Joris Van Remoortere
              pbrett Paul Brett
              Benjamin Hindman Benjamin Hindman
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: