Merge pull request #147 from alecgrieser/merge-release-5.2

Merge release 5.2 into master
This commit is contained in:
yichic 2018-04-11 18:37:10 -07:00 committed by GitHub
commit bf7e680a7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 35 additions and 266 deletions

View File

@ -1536,7 +1536,6 @@ struct UnitTestsFunc : InstructionFunc {
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_CAUSAL_READ_RISKY);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_CAUSAL_WRITE_RISKY);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_READ_YOUR_WRITES_DISABLE);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_READ_AHEAD_DISABLE);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_READ_SYSTEM_KEYS);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_ACCESS_SYSTEM_KEYS);
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_DURABILITY_DEV_NULL_IS_WEB_SCALE);

View File

@ -785,7 +785,6 @@ func (sm *StackMachine) processInst(idx int, inst tuple.Tuple) {
tr.Options().SetCausalReadRisky()
tr.Options().SetCausalWriteRisky()
tr.Options().SetReadYourWritesDisable()
tr.Options().SetReadAheadDisable()
tr.Options().SetReadSystemKeys()
tr.Options().SetAccessSystemKeys()
tr.Options().SetDurabilityDevNullIsWebScale()

View File

@ -477,7 +477,6 @@ public class AsyncStackTester {
tr.options().setCausalReadRisky();
tr.options().setCausalWriteRisky();
tr.options().setReadYourWritesDisable();
tr.options().setReadAheadDisable();
tr.options().setReadSystemKeys();
tr.options().setAccessSystemKeys();
tr.options().setDurabilityDevNullIsWebScale();

View File

@ -427,7 +427,6 @@ public class StackTester {
tr.options().setCausalReadRisky();
tr.options().setCausalWriteRisky();
tr.options().setReadYourWritesDisable();
tr.options().setReadAheadDisable();
tr.options().setReadSystemKeys();
tr.options().setAccessSystemKeys();
tr.options().setDurabilityDevNullIsWebScale();

View File

@ -1,115 +0,0 @@
/*
* fdb.js
*
* This source file is part of the FoundationDB open source project
*
* Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
"use strict";
var KeySelector = require('./keySelector');
var Cluster = require('./cluster');
var future = require('./future');
var Transactional = require('./retryDecorator');
var tuple = require('./tuple');
var buffer = require('./bufferConversion');
var fdb = require('./fdbModule');
var FDBError = require('./error');
var locality = require('./locality');
var directory = require('./directory');
var Subspace = require('./subspace');
var selectedApiVersion = require('./apiVersion');
var fdbModule = {};
module.exports = {
FDBError: FDBError,
apiVersion: function(version) {
if(selectedApiVersion.value && version !== selectedApiVersion.value)
throw new Error('Cannot select multiple different FDB API versions');
if(version < 500)
throw new RangeError('FDB API versions before 500 are not supported');
if(version > 520)
throw new RangeError('Latest known FDB API version is 520');
if(!selectedApiVersion.value) {
fdb.apiVersion(version);
fdbModule.FDBError = this.FDBError;
fdbModule.KeySelector = KeySelector;
fdbModule.future = future;
fdbModule.transactional = Transactional;
fdbModule.tuple = tuple;
fdbModule.buffer = buffer;
fdbModule.locality = locality;
fdbModule.directory = directory.directory;
fdbModule.DirectoryLayer = directory.DirectoryLayer;
fdbModule.Subspace = Subspace;
fdbModule.options = fdb.options;
fdbModule.streamingMode = fdb.streamingMode;
var dbCache = {};
var doInit = function() {
fdb.startNetwork();
process.on('exit', function() {
//Clearing out the caches makes memory debugging a little easier
dbCache = null;
fdb.stopNetwork();
});
//Subsequent calls do nothing
doInit = function() { };
};
fdbModule.init = function() {
doInit();
};
fdbModule.createCluster = function(clusterFile, cb) {
if(!clusterFile)
clusterFile = '';
return new Cluster(fdb.createCluster(clusterFile));
};
fdbModule.open = function(clusterFile, cb) {
if(clusterFile)
fdb.options.setClusterFile(clusterFile);
this.init();
var database = dbCache[clusterFile];
if(!database) {
var cluster = fdbModule.createCluster(clusterFile);
database = cluster.openDatabase();
dbCache[clusterFile] = database;
}
return database;
};
}
selectedApiVersion.value = version;
return fdbModule;
}
};
fdb.FDBError = module.exports.FDBError;

View File

@ -1,27 +0,0 @@
/*
* Version.h
*
* This source file is part of the FoundationDB open source project
*
* Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FDB_NODE_VERSION_H
#define FDB_NODE_VERSION_H
#define FDB_API_VERSION 520
#endif

View File

@ -1,101 +0,0 @@
/*
* tuple_test.js
*
* This source file is part of the FoundationDB open source project
*
* Copyright 2013-2018 Apple Inc. and the FoundationDB project authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var fdb = require('../lib/fdb.js').apiVersion(520);
var fdbModule = require('../lib/fdbModule.js');
console.log(fdb.tuple.pack([-Math.pow(2,53)]));
console.log(fdb.tuple.pack([-Math.pow(2,53)+1]));
console.log(fdb.tuple.unpack(fdb.tuple.pack([-Math.pow(2,53)])));
console.log(fdb.tuple.unpack(fdb.tuple.pack([-Math.pow(2,53)+1])));
try {
console.log(fdb.tuple.unpack(fdb.buffer.fromByteLiteral('\x0d\xdf\xff\xff\xff\xff\xff\xfe')));
}
catch(err) {
console.log(err);
}
console.log(fdb.tuple.pack([0xff * 0xff]));
console.log(fdb.tuple.pack([0xffffffff + 100 ]));
console.log(fdb.buffer.printable(fdb.tuple.pack(['begin', [true, null, false], 'end'])))
console.log(fdb.tuple.unpack(fdb.buffer.fromByteLiteral('\x1a\xff\xff\xff\xff\xff\xff')));
console.log(fdb.tuple.unpack(fdb.tuple.pack(['TEST', 'herp', 1, -10, 393493, '\u0000abc', 0xffffffff + 100, true, false, [new Boolean(true), null, new Boolean(false), 0, 'asdf'], null])));
console.log(fdb.buffer.printable(fdb.tuple.pack([[[[['three']]], 'two'], 'one'])))
console.log(fdb.tuple.range(['TEST', 1]));
console.log(fdb.buffer.printable(fdb.tuple.pack([fdb.tuple.Float.fromBytes(new Buffer('402df854', 'hex')), fdb.tuple.Double.fromBytes(new Buffer('4005BF0A8B145769', 'hex')), new fdb.tuple.UUID(new Buffer('deadc0deba5eba115ca1ab1edeadc0de', 'hex'))])))
console.log(fdb.tuple.unpack(fdb.tuple.pack([fdb.tuple.Float.fromBytes(new Buffer('2734236f', 'hex'))])))
tuples = [
[1,2],
[1],
[2],
[true],
[false],
[1,true],
[1,false],
[1, []],
[1, [null]],
[1, [0]],
[1, [1]],
[1, [0,1,2]],
[null],
[]
];
tuples.sort(fdb.tuple.compare);
console.log(tuples);
tuples = [
[fdb.tuple.Float.fromBytes(new Buffer('2734236f', 'hex'))], // A really small value.
[fdb.tuple.Float.fromBytes(new Buffer('80000000', 'hex'))], // -0.0
[new fdb.tuple.Float(0.0)],
[new fdb.tuple.Float(3.14)],
[new fdb.tuple.Float(-3.14)],
[new fdb.tuple.Float(2.7182818)],
[new fdb.tuple.Float(-2.7182818)],
[fdb.tuple.Float.fromBytes(new Buffer('7f800000', 'hex'))], // Infinity
[fdb.tuple.Float.fromBytes(new Buffer('7fffffff', 'hex'))], // NaN
[fdb.tuple.Float.fromBytes(new Buffer('ffffffff', 'hex'))], // -NaN
];
tuples.sort(fdb.tuple.compare);
console.log(tuples);
// Float overruns.
const floats = [ 2.037036e90, -2.037036e90, 4.9090935e-91, -4.9090935e-91, 2.345624805922133125e14, -2.345624805922133125e14 ];
for (var i = 0; i < floats.length; i++) {
var f = floats[i];
console.log(f + " -> " + fdb.tuple.Float.fromBytes((new fdb.tuple.Float(f)).toBytes()).value);
}
// Float type errors.
try {
console.log((new fdb.tuple.Float("asdf")).toBytes());
} catch (e) {
console.log("Caught!");
console.log(e);
}
try {
console.log(fdbModule.toFloat(3.14, 2.718));
} catch (e) {
console.log("Caught!");
console.log(e);
}

View File

@ -136,7 +136,6 @@ def test_options(tr):
tr.options.set_causal_read_risky()
tr.options.set_causal_write_risky()
tr.options.set_read_your_writes_disable()
tr.options.set_read_ahead_disable()
tr.options.set_read_system_keys()
tr.options.set_access_system_keys()
tr.options.set_durability_dev_null_is_web_scale()

View File

@ -460,7 +460,6 @@ class Tester
tr.options.set_causal_read_risky
tr.options.set_causal_write_risky
tr.options.set_read_your_writes_disable
tr.options.set_read_ahead_disable
tr.options.set_read_system_keys
tr.options.set_access_system_keys
tr.options.set_durability_dev_null_is_web_scale

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-5.1.4.pkg <https://www.foundationdb.org/downloads/5.1.4/macOS/installers/FoundationDB-5.1.4.pkg>`_
* `FoundationDB-5.1.5.pkg <https://www.foundationdb.org/downloads/5.1.5/macOS/installers/FoundationDB-5.1.5.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-5.1.4-1_amd64.deb <https://www.foundationdb.org/downloads/5.1.4/ubuntu/installers/foundationdb-clients_5.1.4-1_amd64.deb>`_
* `foundationdb-server-5.1.4-1_amd64.deb <https://www.foundationdb.org/downloads/5.1.4/ubuntu/installers/foundationdb-server_5.1.4-1_amd64.deb>`_ (depends on the clients package)
* `foundationdb-clients-5.1.5-1_amd64.deb <https://www.foundationdb.org/downloads/5.1.5/ubuntu/installers/foundationdb-clients_5.1.5-1_amd64.deb>`_
* `foundationdb-server-5.1.5-1_amd64.deb <https://www.foundationdb.org/downloads/5.1.5/ubuntu/installers/foundationdb-server_5.1.5-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-5.1.4-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.4/rhel6/installers/foundationdb-clients-5.1.4-1.el6.x86_64.rpm>`_
* `foundationdb-server-5.1.4-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.4/rhel6/installers/foundationdb-server-5.1.4-1.el6.x86_64.rpm>`_ (depends on the clients package)
* `foundationdb-clients-5.1.5-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.5/rhel6/installers/foundationdb-clients-5.1.5-1.el6.x86_64.rpm>`_
* `foundationdb-server-5.1.5-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.5/rhel6/installers/foundationdb-server-5.1.5-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-5.1.4-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.4/rhel7/installers/foundationdb-clients-5.1.4-1.el7.x86_64.rpm>`_
* `foundationdb-server-5.1.4-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.4/rhel7/installers/foundationdb-server-5.1.4-1.el7.x86_64.rpm>`_ (depends on the clients package)
* `foundationdb-clients-5.1.5-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.5/rhel7/installers/foundationdb-clients-5.1.5-1.el7.x86_64.rpm>`_
* `foundationdb-server-5.1.5-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/5.1.5/rhel7/installers/foundationdb-server-5.1.5-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-5.1.4-x64.msi <https://www.foundationdb.org/downloads/5.1.4/windows/installers/foundationdb-5.1.4-x64.msi>`_
* `foundationdb-5.1.5-x64.msi <https://www.foundationdb.org/downloads/5.1.5/windows/installers/foundationdb-5.1.5-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-5.1.4.tar.gz <https://www.foundationdb.org/downloads/5.1.4/bindings/python/foundationdb-5.1.4.tar.gz>`_
* `foundationdb-5.1.5.tar.gz <https://www.foundationdb.org/downloads/5.1.5/bindings/python/foundationdb-5.1.5.tar.gz>`_
Ruby 1.9.3/2.0.0+
-----------------
* `fdb-5.1.4.gem <https://www.foundationdb.org/downloads/5.1.4/bindings/ruby/fdb-5.1.4.gem>`_
* `fdb-5.1.5.gem <https://www.foundationdb.org/downloads/5.1.5/bindings/ruby/fdb-5.1.5.gem>`_
Java 8+
-------
* `fdb-java-5.1.4.jar <https://www.foundationdb.org/downloads/5.1.4/bindings/java/fdb-java-5.1.4.jar>`_
* `fdb-java-5.1.4-javadoc.jar <https://www.foundationdb.org/downloads/5.1.4/bindings/java/fdb-java-5.1.4-javadoc.jar>`_
* `fdb-java-5.1.5.jar <https://www.foundationdb.org/downloads/5.1.5/bindings/java/fdb-java-5.1.5.jar>`_
* `fdb-java-5.1.5-javadoc.jar <https://www.foundationdb.org/downloads/5.1.5/bindings/java/fdb-java-5.1.5-javadoc.jar>`_
Go 1.1+
-------

View File

@ -2,6 +2,23 @@
Release Notes
#############
5.1.5
=====
Fixes
-----
* The consistency check calculated the size of the database inefficiently. <rdar://problem/38385230>
* Could not create new directories with the Python and Ruby implementations of the directory layer. <rdar://problem/38911902> <rdar://problem/38477474>
* fdbcli could erroneously report that it was incompatible with some processes in the cluster. <rdar://problem/39353867>
* The commit commmand in fdbcli did not wait for the result of the commit before continuing to the next command.
Other Changes
-------------
* renamed the ``multi_dc`` replication mode to ``three_datacenter``.
5.1.4
=====

View File

@ -2513,7 +2513,7 @@ ACTOR Future<int> cli(CLIOptions opt, LineNoise* plinenoise) {
printf("ERROR: No active transaction\n");
is_error = true;
} else {
commitTransaction( tr );
Void _ = wait( commitTransaction( tr ) );
intrans = false;
options = &globalOptions;
}

View File

@ -144,7 +144,8 @@ public:
pingReceiver(endpoints),
warnAlwaysForLargePacket(true),
lastIncompatibleMessage(0),
transportId(transportId)
transportId(transportId),
numIncompatibleConnections(0)
{}
void initMetrics() {

View File

@ -32,7 +32,7 @@
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Product Name='$(var.Title)'
Id='{C5A52D50-7162-4EDC-ADE3-481133E5D407}'
Id='{A98BF301-533D-41E6-B62F-2F90EF5E73E1}'
UpgradeCode='{A95EA002-686E-4164-8356-C715B7F8B1C8}'
Version='$(var.Version)'
Manufacturer='$(var.Manufacturer)'

View File

@ -54,6 +54,6 @@ pkgbuild --root $SERVERDIR --identifier FoundationDB-server --version $VERSION.$
rm -rf $SERVERDIR
productbuild --distribution packaging/osx/Distribution.xml --package-path . $PKGFILE
productbuild --distribution packaging/osx/Distribution.xml --resources packaging/osx/resources --package-path . $PKGFILE
rm FoundationDB-clients.pkg FoundationDB-server.pkg

View File

@ -3,4 +3,4 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs26 \cf0 Thank you for installing FoundationDB. For documentation, please visit {\field{\*\fldinst HYPERLINK "https://www.foundationdb.org/documentation"}{\fldrslt https://www.foundationdb.org/documentation}}.}
\f0\fs26 \cf0 Thank you for installing FoundationDB. For documentation, please visit {\field{\*\fldinst HYPERLINK "https://www.foundationdb.org"}{\fldrslt https://www.foundationdb.org}}.}