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

Replicated log's dependency on leveldb prevents it from being used on Windows

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Invalid
    • None
    • None
    • None

    Description

      The replicated log (in src/log/) depends on leveldb to store and persist data in the replicas.

      This dependency is well-contained within replica.cpp, but until it is abstracted out, it nonetheless prevents the master from being built on Windows, which in turn prevents the agent tests from being built and run on Windows.

      Preliminary investigation shows that we will probably want to split this work into 2 parts:

      • Temporarily remove the ability of the master to use the replicated log on Windows (in master/main.cpp). This should involve 1 conditional where we instantiate a `Log::Log`. This should be enough for us to light up the agent tests.
      • Add leveldb Windows support to Mesos. This involves: adding CMake files to build leveldb source, and adding Windows-specific `port_` files that will map the platform-specific constructs of leveldb to Windows. We can take hints from leveldown and other projects, which add their own `port_` files that suit their purposes (namely, running leveldb, in node, on Windows). NOTE: the leveldb community explicitly calls out in its documentation that it is not interested in non-POSIX changes, so it is likely that this will never be inducted into the mainline leveldb codebase.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              andschwa Andrew Schwartzmeyer
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: