Merge pull request #1453 from etschannen/release-6.1
do not log a SevError trace event if we cannot deserialize the connect packet
This commit is contained in:
commit
0159e073bb
|
@ -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.1.1.pkg <https://www.foundationdb.org/downloads/6.1.1/macOS/installers/FoundationDB-6.1.1.pkg>`_
|
||||
* `FoundationDB-6.1.2.pkg <https://www.foundationdb.org/downloads/6.1.2/macOS/installers/FoundationDB-6.1.2.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.1.1-1_amd64.deb <https://www.foundationdb.org/downloads/6.1.1/ubuntu/installers/foundationdb-clients_6.1.1-1_amd64.deb>`_
|
||||
* `foundationdb-server-6.1.1-1_amd64.deb <https://www.foundationdb.org/downloads/6.1.1/ubuntu/installers/foundationdb-server_6.1.1-1_amd64.deb>`_ (depends on the clients package)
|
||||
* `foundationdb-clients-6.1.2-1_amd64.deb <https://www.foundationdb.org/downloads/6.1.2/ubuntu/installers/foundationdb-clients_6.1.2-1_amd64.deb>`_
|
||||
* `foundationdb-server-6.1.2-1_amd64.deb <https://www.foundationdb.org/downloads/6.1.2/ubuntu/installers/foundationdb-server_6.1.2-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.1.1-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.1/rhel6/installers/foundationdb-clients-6.1.1-1.el6.x86_64.rpm>`_
|
||||
* `foundationdb-server-6.1.1-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.1/rhel6/installers/foundationdb-server-6.1.1-1.el6.x86_64.rpm>`_ (depends on the clients package)
|
||||
* `foundationdb-clients-6.1.2-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.2/rhel6/installers/foundationdb-clients-6.1.2-1.el6.x86_64.rpm>`_
|
||||
* `foundationdb-server-6.1.2-1.el6.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.2/rhel6/installers/foundationdb-server-6.1.2-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.1.1-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.1/rhel7/installers/foundationdb-clients-6.1.1-1.el7.x86_64.rpm>`_
|
||||
* `foundationdb-server-6.1.1-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.1/rhel7/installers/foundationdb-server-6.1.1-1.el7.x86_64.rpm>`_ (depends on the clients package)
|
||||
* `foundationdb-clients-6.1.2-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.2/rhel7/installers/foundationdb-clients-6.1.2-1.el7.x86_64.rpm>`_
|
||||
* `foundationdb-server-6.1.2-1.el7.x86_64.rpm <https://www.foundationdb.org/downloads/6.1.2/rhel7/installers/foundationdb-server-6.1.2-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.1.1-x64.msi <https://www.foundationdb.org/downloads/6.1.1/windows/installers/foundationdb-6.1.1-x64.msi>`_
|
||||
* `foundationdb-6.1.2-x64.msi <https://www.foundationdb.org/downloads/6.1.2/windows/installers/foundationdb-6.1.2-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.1.1.tar.gz <https://www.foundationdb.org/downloads/6.1.1/bindings/python/foundationdb-6.1.1.tar.gz>`_
|
||||
* `foundationdb-6.1.2.tar.gz <https://www.foundationdb.org/downloads/6.1.2/bindings/python/foundationdb-6.1.2.tar.gz>`_
|
||||
|
||||
Ruby 1.9.3/2.0.0+
|
||||
-----------------
|
||||
|
||||
* `fdb-6.1.1.gem <https://www.foundationdb.org/downloads/6.1.1/bindings/ruby/fdb-6.1.1.gem>`_
|
||||
* `fdb-6.1.2.gem <https://www.foundationdb.org/downloads/6.1.2/bindings/ruby/fdb-6.1.2.gem>`_
|
||||
|
||||
Java 8+
|
||||
-------
|
||||
|
||||
* `fdb-java-6.1.1.jar <https://www.foundationdb.org/downloads/6.1.1/bindings/java/fdb-java-6.1.1.jar>`_
|
||||
* `fdb-java-6.1.1-javadoc.jar <https://www.foundationdb.org/downloads/6.1.1/bindings/java/fdb-java-6.1.1-javadoc.jar>`_
|
||||
* `fdb-java-6.1.2.jar <https://www.foundationdb.org/downloads/6.1.2/bindings/java/fdb-java-6.1.2.jar>`_
|
||||
* `fdb-java-6.1.2-javadoc.jar <https://www.foundationdb.org/downloads/6.1.2/bindings/java/fdb-java-6.1.2-javadoc.jar>`_
|
||||
|
||||
Go 1.1+
|
||||
-------
|
||||
|
|
|
@ -113,6 +113,7 @@ Fixes only impacting 6.1.0+
|
|||
---------------------------
|
||||
|
||||
* The ``consistencycheck`` fdbserver role would repeatedly exit. [6.1.1] `(PR #1437) <https://github.com/apple/foundationdb/pull/1437>`_
|
||||
* The ``consistencycheck`` fdbserver role could proceed at a very slow rate after inserting data into an empty database. [6.1.2] `(PR #1452) <https://github.com/apple/foundationdb/pull/1452>`_
|
||||
|
||||
Earlier release notes
|
||||
---------------------
|
||||
|
|
|
@ -251,7 +251,11 @@ struct ConnectPacket {
|
|||
template <class Ar>
|
||||
void serialize(Ar& ar) {
|
||||
serializer(ar, connectPacketLength);
|
||||
ASSERT(connectPacketLength <= sizeof(ConnectPacket));
|
||||
if(connectPacketLength > sizeof(ConnectPacket) - sizeof(connectPacketLength)) {
|
||||
ASSERT(!g_network->isSimulated());
|
||||
throw serialization_failed();
|
||||
}
|
||||
|
||||
serializer(ar, protocolVersion, canonicalRemotePort, connectionId, canonicalRemoteIp4);
|
||||
if (ar.isDeserializing && ar.protocolVersion() < 0x0FDB00B061030001LL) {
|
||||
flags = 0;
|
||||
|
|
|
@ -70,6 +70,7 @@ set(FLOW_SRCS
|
|||
network.cpp
|
||||
network.h
|
||||
serialize.h
|
||||
serialize.cpp
|
||||
stacktrace.amalgamation.cpp
|
||||
stacktrace.h
|
||||
version.cpp)
|
||||
|
|
|
@ -62,8 +62,9 @@ ERROR( database_locked, 1038, "Database is locked" )
|
|||
ERROR( cluster_version_changed, 1039, "The protocol version of the cluster has changed" )
|
||||
ERROR( external_client_already_loaded, 1040, "External client has already been loaded" )
|
||||
ERROR( lookup_failed, 1041, "DNS lookup failed" )
|
||||
ERROR( proxy_memory_limit_exceeded, 1042, "Proxy commit memory limit exceeded")
|
||||
ERROR( shutdown_in_progress, 1043, "Operation no longer supported due to shutdown")
|
||||
ERROR( proxy_memory_limit_exceeded, 1042, "Proxy commit memory limit exceeded" )
|
||||
ERROR( shutdown_in_progress, 1043, "Operation no longer supported due to shutdown" )
|
||||
ERROR( serialization_failed, 1044, "Failed to deserialize an object" )
|
||||
|
||||
ERROR( broken_promise, 1100, "Broken promise" )
|
||||
ERROR( operation_cancelled, 1101, "Asynchronous operation cancelled" )
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
<ClCompile Include="UnitTest.cpp" />
|
||||
<ClCompile Include="version.cpp" />
|
||||
<ClCompile Include="SignalSafeUnwind.cpp" />
|
||||
<ClCompile Include="serialize.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CompressedInt.h" />
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
<ClCompile Include="version.cpp" />
|
||||
<ClCompile Include="stacktrace.amalgamation.cpp" />
|
||||
<ClCompile Include="SignalSafeUnwind.cpp" />
|
||||
<ClCompile Include="serialize.cpp" />
|
||||
<ClCompile Include="XmlTraceLogFormatter.cpp" />
|
||||
<ClCompile Include="FileTraceLogWriter.cpp" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* serialize.cpp
|
||||
*
|
||||
* This source file is part of the FoundationDB open source project
|
||||
*
|
||||
* Copyright 2013-2019 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.
|
||||
*/
|
||||
|
||||
#include "flow/serialize.h"
|
||||
#include "flow/network.h"
|
||||
|
||||
_AssumeVersion::_AssumeVersion( uint64_t version ) : v(version) {
|
||||
if( version < minValidProtocolVersion ) {
|
||||
ASSERT(!g_network->isSimulated());
|
||||
throw serialization_failed();
|
||||
}
|
||||
}
|
||||
|
||||
const void* BinaryReader::readBytes( int bytes ) {
|
||||
const char* b = begin;
|
||||
const char* e = b + bytes;
|
||||
if( e > end ) {
|
||||
ASSERT(!g_network->isSimulated());
|
||||
throw serialization_failed();
|
||||
}
|
||||
begin = e;
|
||||
return b;
|
||||
}
|
|
@ -261,9 +261,7 @@ struct _IncludeVersion {
|
|||
};
|
||||
struct _AssumeVersion {
|
||||
uint64_t v;
|
||||
explicit _AssumeVersion( uint64_t version ) : v(version) {
|
||||
ASSERT( version >= minValidProtocolVersion );
|
||||
}
|
||||
explicit _AssumeVersion( uint64_t version );
|
||||
template <class Ar> void write( Ar& ar ) { ar.setProtocolVersion(v); }
|
||||
template <class Ar> void read( Ar& ar ) { ar.setProtocolVersion(v); }
|
||||
};
|
||||
|
@ -546,13 +544,7 @@ public:
|
|||
static const int isDeserializing = 1;
|
||||
typedef BinaryReader READER;
|
||||
|
||||
const void* readBytes( int bytes ) {
|
||||
const char* b = begin;
|
||||
const char* e = b + bytes;
|
||||
ASSERT( e <= end );
|
||||
begin = e;
|
||||
return b;
|
||||
}
|
||||
const void* readBytes( int bytes );
|
||||
|
||||
const void* peekBytes( int bytes ) {
|
||||
ASSERT( begin + bytes <= end );
|
||||
|
|
Loading…
Reference in New Issue