What do you think about this Vinod?

I think we can remove this major version checking altogether.
Backwards-incompatible changes would warrant a major version bump but not
vise versa. Plus it's more standard to express and check dependency
versions outside of the code but through package metadata.

Yan

On Mon, Jun 6, 2016 at 7:32 PM, Robert Lacroix <rlacr...@apple.com> wrote:

> Hi Vinod,
>
> In convert.cpp
> <https://github.com/apache/mesos/blob/master/src/java/jni/convert.cpp#L153> we
> compare the major versions of the native library and the jar. This makes
> upgrading frameworks unnecessarily hard because you would have to deploy
> Mesos and frameworks in lockstep.
>
> Non-binding -1 😜, as this check isn’t strictly useful - especially given
> this is probably the last major upgrade where libmesos is even relevant.
>
>  Robert
>
> On Jun 1, 2016, at 12:38 AM, Vinod Kone <vinodk...@apache.org> wrote:
>
> Hi all,
>
> Please vote on releasing the following candidate as Apache Mesos 1.0.0.
>
>
> NOTE: The voting period for this release is 3 weeks. Also, we are willing
> to make API changes before the final release. So please test it thoroughly.
>
>
> 1.0.0 includes the following features:
>
>
> --------------------------------------------------------------------------------
>
>  * Scheduler and Executor v1 HTTP APIs are now considered stable.
>
>
>
>
>
>  * [MESOS-4791] - **Experimental** support for v1 Master and Agent APIs.
> These
>
>    APIs let operators and services (monitoring, load balancers) send HTTP
>
>
>    requests to '/api/v1' endpoint on master or agent. These APIs look
> similar
>
>    to the v1 Scheduler and Executor APIs.
>
>
>
>
>
>  * [MESOS-4828] - **Experimental** support for a new `disk/xfs' isolator
>
>
>    has been added to isolate disk resources more efficiently. Please refer
> to
>
>    docs/mesos-containerizer.md for more details.
>
>
>
>
>
>  * [MESOS-4355] - **Experimental** support for Docker volume plugin. We
> added a
>
>    new isolator 'docker/volume' which allows users to use external volumes
> in
>
>    Mesos containerizer. Currently, the isolator interacts with the Docker
>
>
>    volume plugins using a tool called 'dvdcli'. By speaking the Docker
> volume
>
>    plugin API, most of the Docker volume plugins are supported.
>
>
>
>
>
>  * [MESOS-4641] - **Experimental** A new network isolator, the
>
>
>    `network/cni` isolator, has been introduced in the
> `MesosContainerizer`. The
>
>    `network/cni` isolator implements the Container Network Interface (CNI)
>
>
>    specification proposed by CoreOS.  With CNI the `network/cni` isolator
> is
>
>    able to allocate a network namespace to Mesos containers and attach the
>
>
>    container to different types of IP networks by invoking network drivers
>
>
>    called CNI plugins.
>
>
>
>
>
>  * [MESOS-2948, MESOS-5403] - The authorizer interface has been refactored
> in
>
>    order to decouple the ACLs definition language from the interface.
>
>
>    It additionally includes the option of retrieving `ObjectApprover`. An
>
>
>    `ObjectApprover` can be used to synchronously check authorizations for
> a
>
>    given object and is hence useful when authorizing a large number of
> objects
>
>    and/or large objects (which need to be copied using request based
>
>
>    authorization). NOTE: This is a **breaking change** for authorizer
> modules.
>
>
>
>
>  * [MESOS-4931] - Authorization based HTTP endpoint filtering enables
> operators
>
>    to restrict what part of the cluster state a user is authorized to see.
>
>
>    Consider for example the `/state` master endpoint: an operator can now
>
>
>    authorize users to only see a subset of the running frameworks, tasks,
> or
>
>    executors.
>
>
>
>
>
>  * [MESOS-4909] - Tasks can now specify a kill policy. They are
> best-effort,
>
>    because machine failures or forcible terminations may occur. Currently,
> the
>
>    only available kill policy is how long to wait between graceful and
> forcible
>
>    task kill. In the future, more policies may be available (e.g. hitting
> an
>
>    HTTP endpoint, running a command, etc). Note that it is the executor's
>
>
>    responsibility to enforce kill policies. For executor-less
> command-based
>
>    tasks, the kill is performed via sending a signal to the task process:
>
>
>    SIGTERM for the graceful kill and SIGKILL for the forcible kill. For
> docker
>
>    executor-less tasks the grace period is passed to 'docker stop --time'.
> This
>
>    feature supersedes the '--docker_stop_timeout', which is now
> deprecated.
>
>
>
>
>  * [MESOS-4908] - The task kill policy defined within 'TaskInfo' can now
> be
>
>    overridden when the scheduler kills the task. This can be used by
> schedulers
>
>    to forcefully kill a task which is already being killed, e.g. if
> something
>
>    went wrong during a graceful kill and a forcible kill is desired. Note
> that
>
>    it is the executor's responsibility to honor the
> 'Event.kill.kill_policy'
>
>    field and override the task's kill policy and kill policy from a
> previous
>
>    kill task request. To use this feature, schedulers and executors must
>
>
>    support HTTP API; use the '--http_command_executor' agent flag to
> ensure
>
>    the agent launches the HTTP API based command executor.
>
>
>
>
>
>  * [MESOS-4949] - The executor shutdown grace period can now be configured
> in
>
>    `ExecutorInfo`, which overrides the agent flag. When shutting down an
>
>
>    executor the agent will wait in a best-effort manner for the grace
> period
>
>    specified here before forcibly destroying the container. The executor
> must
>
>    not assume that it will always be allotted the full grace period, as
> the
>
>    agent may decide to allot a shorter period and failures / forcible
>
>
>    terminations may occur. Together with kill policies this gives
> frameworks
>
>    flexibility around how to clean up tasks and executors.
>
>
>
>
>
>  * [MESOS-3094] - **Experimental** support for launching mesos tasks on
>
>
>    Windows. Note that there are no isolation guarantees provided yet.
>
>
>
>
>
>  * [MESOS-4090] - The `mesos.native` python module has been split into
> two,
>
>    `mesos.executor` and `mesos.scheduler`. This change also removes
>
>
>    un-necessary 3rd party dependencies from `mesos.executor` and
>
>
>    `mesos.scheduler`. `mesos.native` still exists, combining both modules
> for
>
>    backwards compatibility with existing code.
>
>
>
>
>
>  * [MESOS-1478] - Phase I of the Slave to Agent rename is complete. To
> support
>
>    the rename, new duplicate flags (e.g., --agent_reregister_timeout), new
>
>
>    binaries (e.g., mesos-agent) and WebUI sandbox links have been added.
> All
>
>    the logging output has been updated to use the term 'agent' now. Flags,
>
>
>    binaries and scripts with 'slave' keyword have been deprecated (see
>
>
>    "Deprecations section below").
>
>
>
>
>
>  * [MESOS-4312] - **Experimental** support for building and running mesos
> on
>
>    IBM PowerPC platform.
>
>
>
>
>
>  * [MESOS-4189] - Weights for resource roles can now be configured
> dynamically
>
>    via the new '/weights' endpoint on the master.
>
>
>
>
>
>  * [MESOS-4424] - **Experimental** limited support for using Nvidia GPU as
> a
>
>    resource. This initial support works when there is no container
> filesystem
>
>    isolation in use. Improvements to the support to come in future
> releases.
>
>
>
>
> Deprecations:
>
>
>  * [MESOS-2281] - Deprecated the plain text format for credentials in
> favor of
>
>    the JSON format.
>
>
>
>
>
>  * [MESOS-4910] - Deprecate the --docker_stop_timeout agent flag.
>
>
>
>
>
>  * [MESOS-5001] - The 'allocator/event_queue_dispatches' metric is now
>
>
>    deprecated in favor 'of allocator/mesos/event_queue_dispatches'.
>
>
>
>
>
>  * [MESOS-5029] - Deprecated the ExecutorInfo.source field in favor of
>
>
>    ExecutorInfo.labels.
>
>
>
>
>
>  * [MESOS-3781] - Deprecated flags with keyword 'slave' in favor of
> 'agent'.
>
>
>
>
>  * [MESOS-3779] - Deprecated sandbox links with 'slave' keyword in the
> WebUI.
>
>
>
>
>  * [MESOS-3784] - Deprecated `slave` subcommand for mesos-cli.
>
>
>
>
>
>  * [MESOS-5155] - Deprecated `SET_QUOTA_WITH_ROLE` and
>
>
>    `DESTROY_QUOTA_WITH_PRINCIPAL` authorization actions together with the
>
>
>    corresponding ACLs in favor of a unified `UPDATE_QUOTA_WITH_ROLE`. This
>
>
>    change is applicable to both local authorizer as well as any custom
>
>
>    authorizer module.
>
>
>
>
>
> Additional API Changes:
>
>
>  * [MESOS-4580] - Returning `202` (Accepted) for /reserve and related
> endpoints.
>
>
>
>
>  * [MESOS-4735] - Added 'output_file' field to CommandInfo.URI in
> Scheduler API
>
>    and v1 Scheduler HTTP API.
>
>
>
>
>
>  * [MESOS-5014] - Changes Call and Event Type enums in scheduler.proto
>
>    from required to optional for the purpose of backwards compatibility.
>
>
>
>
>
>  * [MESOS-5015] - Changes Call and Event Type enums in executor.proto
>
>
>    from required to optional for the purpose of backwards compatibility.
>
>
>
>
>
>  * [MESOS-5029] - Added 'labels' to ExecutorInfo.
>
>
>
>
>
>  * [MESOS-5030] - Added non-terminal task metadata to the container
> resource
>
>    usage information.
>
>
>
>
>
>  * [MESOS-5408] - Deleted the /observe HTTP endpoint.
>
>
>
>
>
> 3rd Party Upgrades:
>
>
>  * [MESOS-4805] - Upgraded vendored ry-http-parser-1c3624a to
> nodejs/http-parser 2.6.1.
>
>  * [MESOS-4678] - Upgraded vendored protobuf 2.5.0 to 2.6.1.
>
>
>  * [MESOS-4803] - Upgraded vendored libev 4.15 to 4.22.
>
>
>  * [MESOS-4612] - Upgraded vendored ZooKeeper 3.4.5 to 3.4.8.
>
>
>
>
>
> Binary API Changes:
>
>
>  * [MESOS-5055] - Slave/Agent Rename Phase I - Update strings in the log
> message
>
>    and standard output.
>
>
>  * [MESOS-3782] - Slave/Agent Rename Phase I - Duplicate/Rename binaries.
>
>
>  * [MESOS-5057] - Slave/Agent Rename Phase I - Update strings in error
> messages and
>
>    other strings.
>
>
>  * [MESOS-5230] - Slave/Agent Rename Phase I: Rename
> '/include/mesos/slave' folder
>
>
> The CHANGELOG for the release is available at:
>
>
> https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=1.0.0-rc1
>
>
> --------------------------------------------------------------------------------
>
>
> The candidate for Mesos 1.0.0 release is available at:
>
> https://dist.apache.org/repos/dist/dev/mesos/1.0.0-rc1/mesos-1.0.0.tar.gz
>
>
> The tag to be voted on is 1.0.0-rc1:
>
> https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=commit;h=1.0.0-rc1
>
>
> The MD5 checksum of the tarball can be found at:
>
>
> https://dist.apache.org/repos/dist/dev/mesos/1.0.0-rc1/mesos-1.0.0.tar.gz.md5
>
>
> The signature of the tarball can be found at:
>
>
> https://dist.apache.org/repos/dist/dev/mesos/1.0.0-rc1/mesos-1.0.0.tar.gz.asc
>
>
> The PGP key used to sign the release is here:
>
> https://dist.apache.org/repos/dist/release/mesos/KEYS
>
>
> The JAR is up in Maven in a staging repository here:
>
> https://repository.apache.org/content/repositories/orgapachemesos-1142
>
>
> Please vote on releasing this package as Apache Mesos 1.0.0!
>
>
> The vote is open until *Wed Jun  22 12:00 PM PST 2016* and passes if a
> majority of at least 3 +1 PMC votes are cast.
>
>
> [ ] +1 Release this package as Apache Mesos 1.0.0
>
> [ ] -1 Do not release this package because ...
>
>
> Thanks,
>
>
>

Reply via email to