Merge branch 'release-6.0' of github.com:apple/foundationdb into release-6.0

This commit is contained in:
Evan Tschannen 2018-10-12 14:56:19 -07:00
commit 8ed4ce183c
8 changed files with 38 additions and 23 deletions

View File

@ -7,7 +7,7 @@ This package requires:
- Go 1.1+ with CGO enabled
- [Mono](http://www.mono-project.com/) (macOS or Windows) or [Visual Studio](https://www.visualstudio.com/) (Windows) (build-time only)
- FoundationDB C API 2.0.x, 3.0.x, or 4.x.y (part of the [FoundationDB clients package](https://apple.github.io/foundationdb/downloads.html#c))
- FoundationDB C API 2.0.x-6.0.x (part of the [FoundationDB clients package](https://apple.github.io/foundationdb/downloads.html#c))
Use of this package requires the selection of a FoundationDB API version at runtime. This package currently supports FoundationDB API versions 200-600.

View File

@ -87,6 +87,13 @@ func fdb_future_block_until_ready(f *C.FDBFuture) {
return
}
// The mutex here is used as a signal that the callback is complete.
// We first lock it, then pass it to the callback, and then lock it
// again. The second call to lock won't return until the callback has
// fired.
//
// See https://groups.google.com/forum/#!topic/golang-nuts/SPjQEcsdORA
// for the history of why this pattern came to be used.
m := &sync.Mutex{}
m.Lock()
C.go_set_callback(unsafe.Pointer(f), unsafe.Pointer(m))

View File

@ -1524,15 +1524,20 @@ def init(event_model=None):
pass
class ThreadEvent(object):
has_async_ = hasattr(gevent.get_hub().loop, 'async_')
def __init__(self):
self.async = gevent.get_hub().loop.async()
self.async.start(nullf)
if ThreadEvent.has_async_:
self.gevent_async = gevent.get_hub().loop.async_()
else:
self.gevent_async = getattr(gevent.get_hub().loop, 'async')()
self.gevent_async.start(nullf)
def set(self):
self.async.send()
self.gevent_async.send()
def wait(self):
gevent.get_hub().wait(self.async)
gevent.get_hub().wait(self.gevent_async)
else:
# gevent 0.x doesn't have async, so use a pipe. This doesn't work on Windows.
if platform.system() == 'Windows':

View File

@ -10,38 +10,38 @@ macOS
The macOS installation package is supported on macOS 10.7+. It includes the client and (optionally) the server.
* `FoundationDB-6.0.12.pkg <https://www.foundationdb.org/downloads/6.0.12/macOS/installers/FoundationDB-6.0.12.pkg>`_
* `FoundationDB-6.0.13.pkg <https://www.foundationdb.org/downloads/6.0.13/macOS/installers/FoundationDB-6.0.13.pkg>`_
Ubuntu
------
The Ubuntu packages are supported on 64-bit Ubuntu 12.04+, but beware of the Linux kernel bug in Ubuntu 12.x.
* `foundationdb-clients-6.0.12-1_amd64.deb <https://www.foundationdb.org/downloads/6.0.12/ubuntu/installers/foundationdb-clients_6.0.12-1_amd64.deb>`_
* `foundationdb-server-6.0.12-1_amd64.deb <https://www.foundationdb.org/downloads/6.0.12/ubuntu/installers/foundationdb-server_6.0.12-1_amd64.deb>`_ (depends on the clients package)
* `foundationdb-clients-6.0.13-1_amd64.deb <https://www.foundationdb.org/downloads/6.0.13/ubuntu/installers/foundationdb-clients_6.0.13-1_amd64.deb>`_
* `foundationdb-server-6.0.13-1_amd64.deb <https://www.foundationdb.org/downloads/6.0.13/ubuntu/installers/foundationdb-server_6.0.13-1_amd64.deb>`_ (depends on the clients package)
RHEL/CentOS EL6
---------------
The RHEL/CentOS EL6 packages are supported on 64-bit RHEL/CentOS 6.x.
* `foundationdb-clients-6.0.12-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.12/rhel6/installers/foundationdb-clients-6.0.12-1.el6.x86_64.rpm>`_
* `foundationdb-server-6.0.12-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.12/rhel6/installers/foundationdb-server-6.0.12-1.el6.x86_64.rpm>`_ (depends on the clients package)
* `foundationdb-clients-6.0.13-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.13/rhel6/installers/foundationdb-clients-6.0.13-1.el6.x86_64.rpm>`_
* `foundationdb-server-6.0.13-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.13/rhel6/installers/foundationdb-server-6.0.13-1.el6.x86_64.rpm>`_ (depends on the clients package)
RHEL/CentOS EL7
---------------
The RHEL/CentOS EL7 packages are supported on 64-bit RHEL/CentOS 7.x.
* `foundationdb-clients-6.0.12-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.12/rhel7/installers/foundationdb-clients-6.0.12-1.el7.x86_64.rpm>`_
* `foundationdb-server-6.0.12-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.12/rhel7/installers/foundationdb-server-6.0.12-1.el7.x86_64.rpm>`_ (depends on the clients package)
* `foundationdb-clients-6.0.13-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.13/rhel7/installers/foundationdb-clients-6.0.13-1.el7.x86_64.rpm>`_
* `foundationdb-server-6.0.13-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.0.13/rhel7/installers/foundationdb-server-6.0.13-1.el7.x86_64.rpm>`_ (depends on the clients package)
Windows
-------
The Windows installer is supported on 64-bit Windows XP and later. It includes the client and (optionally) the server.
* `foundationdb-6.0.12-x64.msi <https://www.foundationdb.org/downloads/6.0.12/windows/installers/foundationdb-6.0.12-x64.msi>`_
* `foundationdb-6.0.13-x64.msi <https://www.foundationdb.org/downloads/6.0.13/windows/installers/foundationdb-6.0.13-x64.msi>`_
API Language Bindings
=====================
@ -58,18 +58,18 @@ On macOS and Windows, the FoundationDB Python API bindings are installed as part
If you need to use the FoundationDB Python API from other Python installations or paths, download the Python package:
* `foundationdb-6.0.12.tar.gz <https://www.foundationdb.org/downloads/6.0.12/bindings/python/foundationdb-6.0.12.tar.gz>`_
* `foundationdb-6.0.13.tar.gz <https://www.foundationdb.org/downloads/6.0.13/bindings/python/foundationdb-6.0.13.tar.gz>`_
Ruby 1.9.3/2.0.0+
-----------------
* `fdb-6.0.12.gem <https://www.foundationdb.org/downloads/6.0.12/bindings/ruby/fdb-6.0.12.gem>`_
* `fdb-6.0.13.gem <https://www.foundationdb.org/downloads/6.0.13/bindings/ruby/fdb-6.0.13.gem>`_
Java 8+
-------
* `fdb-java-6.0.12.jar <https://www.foundationdb.org/downloads/6.0.12/bindings/java/fdb-java-6.0.12.jar>`_
* `fdb-java-6.0.12-javadoc.jar <https://www.foundationdb.org/downloads/6.0.12/bindings/java/fdb-java-6.0.12-javadoc.jar>`_
* `fdb-java-6.0.13.jar <https://www.foundationdb.org/downloads/6.0.13/bindings/java/fdb-java-6.0.13.jar>`_
* `fdb-java-6.0.13-javadoc.jar <https://www.foundationdb.org/downloads/6.0.13/bindings/java/fdb-java-6.0.13-javadoc.jar>`_
Go 1.1+
-------

View File

@ -2,8 +2,8 @@
Release Notes
#############
6.0.12
=====
6.0.13
======
Features
--------
@ -69,6 +69,7 @@ Fixes only impacting 6.0.0+
* The transaction logs would leak memory when serving peek requests to log routers. [6.0.12] `(PR #801) <https://github.com/apple/foundationdb/pull/801>`_
* The transaction logs were doing a lot of unnecessary disk writes. [6.0.12] `(PR #784) <https://github.com/apple/foundationdb/pull/784>`_
* The master will recover the transaction state store from local transaction logs if possible. [6.0.12] `(PR #801) <https://github.com/apple/foundationdb/pull/801>`_
* A bug in status collection led to various workload metrics being missing and the cluster reporting unhealthy. [6.0.13] `(PR #834) <https://github.com/apple/foundationdb/pull/834>`_
Status
------
@ -86,6 +87,8 @@ Bindings
* C API calls made on the network thread could be reordered with calls made from other threads. [6.0.2] `(Issue #518) <https://github.com/apple/foundationdb/issues/518>`_
* The TLS_PLUGIN option is now a no-op and has been deprecated. [6.0.10] `(PR #710) <https://github.com/apple/foundationdb/pull/710>`_
* Java: the `Versionstamp::getUserVersion() </javadoc/com/apple/foundationdb/tuple/Versionstamp.html#getUserVersion-->`_ method did not handle user versions greater than ``0x00FF`` due to operator precedence errors. [6.0.11] `(Issue #761) <https://github.com/apple/foundationdb/issues/761>`_
* Python bindings didn't work with Python 3.7 because of the new `async` keyword. [6.0.13] `(Issue #830) <https://github.com/apple/foundationdb/issues/830>`_
Other Changes
-------------

View File

@ -414,7 +414,7 @@ struct RolesInfo {
obj["input_bytes"] = StatusCounter(metrics.getValue("BytesInput")).getStatus();
obj["durable_bytes"] = StatusCounter(metrics.getValue("BytesDurable")).getStatus();
obj.setKeyRawNumber("query_queue_max", metrics.getValue("QueryQueueMax"));
obj["total_queries"] = StatusCounter(metrics.getValue("AllQueries")).getStatus();
obj["total_queries"] = StatusCounter(metrics.getValue("QueryQueue")).getStatus();
obj["finished_queries"] = StatusCounter(metrics.getValue("FinishedQueries")).getStatus();
obj["bytes_queried"] = StatusCounter(metrics.getValue("BytesQueried")).getStatus();
obj["keys_queried"] = StatusCounter(metrics.getValue("RowsQueried")).getStatus();
@ -1398,7 +1398,7 @@ ACTOR static Future<JsonBuilderObject> workloadStatusFetcher(Reference<AsyncVar<
StatusCounter readBytes;
for(auto &ss : storageServers.get()) {
readRequests.updateValues( StatusCounter(ss.second.getValue("AllQueries")));
readRequests.updateValues( StatusCounter(ss.second.getValue("QueryQueue")));
reads.updateValues( StatusCounter(ss.second.getValue("FinishedQueries")));
readKeys.updateValues( StatusCounter(ss.second.getValue("RowsQueried")));
readBytes.updateValues( StatusCounter(ss.second.getValue("BytesQueried")));

View File

@ -32,7 +32,7 @@
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Product Name='$(var.Title)'
Id='{C4C2FA24-FC64-42B0-AB27-9F396843CEAB}'
Id='{5E5EFA40-2D08-4A5F-9080-CE8937D0681C}'
UpgradeCode='{A95EA002-686E-4164-8356-C715B7F8B1C8}'
Version='$(var.Version)'
Manufacturer='$(var.Manufacturer)'

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Version>6.0.12</Version>
<Version>6.0.13</Version>
<PackageName>6.0</PackageName>
</PropertyGroup>
</Project>