Evan Tschannen
1c0484cffc
fix: do not close connections which have outstanding tryGetReplies with the peer
2019-08-29 16:49:57 -07:00
Evan Tschannen
da8163fd5a
allow one requests every second to skip there all_alteratives_failed delay, because if a client has a timeout longer than the delay we will never invalidate the key servers cache
2019-08-09 13:03:40 -07:00
Evan Tschannen
5f7d3498ea
The delay for all_alteratives_failed can scale all the way up to 30.0 at a much slow time ratio
2019-08-09 12:35:19 -07:00
Evan Tschannen
0eb0e7a44a
made Peer reference counted to avoid other potential bugs involving accessing Peer after it has been destroyed
2019-08-09 11:52:12 -07:00
Evan Tschannen
84fd1003a5
do not close idle network connections with incompatible servers
2019-08-08 23:47:00 -07:00
Evan Tschannen
98b643b7ae
fix: connectionReader could access self in its destructor after it has already the object has already been deleted if an error can be thrown from connectionMonitor while still on the stack from scanPackets
2019-08-08 23:35:44 -07:00
mpilman
370ba8b841
Remove --object-serializer flag from executables
2019-08-06 09:25:40 -07:00
A.J. Beamon
863204a29d
Update names in CMakeLists, vcxproj
2019-08-01 08:48:25 -07:00
A.J. Beamon
e0736232d4
Rename file in comment header
2019-08-01 08:40:45 -07:00
A.J. Beamon
e61cac4ed4
Fix spacing issue; rename fdbrpc/Stats.h to fdbrpc/TimedRequest.h
2019-08-01 08:39:52 -07:00
Markus Pilman
0e474ed47e
Update fdbrpc/Stats.h
...
Co-Authored-By: Evan Tschannen <36455792+etschannen@users.noreply.github.com>
2019-07-31 19:56:21 -07:00
mpilman
7d247af500
Two minor bug fixes from recent optimizations
2019-07-31 19:14:11 -07:00
Andrew Noyes
0569df00f6
Remove indirection in LoadBalancedReply serialization
2019-07-31 17:59:35 -07:00
Jingyu Zhou
daf1e09af4
Explicitly check for clang and g++
2019-07-30 20:08:56 -07:00
Jingyu Zhou
638d2d05f4
Adds attribute to non-windows compilers
2019-07-30 15:49:25 -07:00
Jingyu Zhou
83922f1f37
Fix clang compiling error without sse4.2
2019-07-30 15:02:24 -07:00
Evan Tschannen
90e3b50213
Merge branch 'master' into feature-coordinator-connection
...
# Conflicts:
# fdbclient/DatabaseContext.h
# fdbclient/NativeAPI.actor.cpp
# fdbclient/NativeAPI.actor.h
# fdbserver/workloads/KillRegion.actor.cpp
2019-07-26 15:05:02 -07:00
Evan Tschannen
4a866290b7
Clients keep a persistent connection open with coordinators to get updates to the list of proxies
...
Status still needs to be updated with client information with information from the coordinators
2019-07-23 19:22:44 -07:00
Evan Tschannen
c70e762f0e
Merge pull request #1785 from xumengpanda/mengxu/server-team-remover-PR
...
Remove redundant server teams
2019-07-19 17:44:16 -07:00
mpilman
1ac2d01b03
Merge remote-tracking branch 'upstream/master' into flatbuffers-fixes2
2019-07-18 09:50:08 -07:00
Evan Tschannen
5d3e69b6fc
Merge pull request #1820 from fzhjon/load-balance-locality
...
Introduced a knob that can turn locality on/off
2019-07-16 16:40:43 -07:00
mpilman
d5caf0c1b4
Merge branch 'flatbuffers-fixes2' of github.com:mpilman/foundationdb into flatbuffers-fixes2
2019-07-16 14:47:40 -07:00
Jon Fu
7d37040725
split the single knob into two for finer-grained control
2019-07-16 12:46:02 -07:00
Meng Xu
20f067e794
Merge with master:Resolve conflict with PR#1797
2019-07-16 10:52:28 -07:00
mpilman
6c6a1ca8f4
Expose serialization context too all traits
2019-07-15 12:58:31 -07:00
Meng Xu
1c0daa7f2c
Resolve review comments:Remove unneeded code
2019-07-12 18:10:04 -07:00
mpilman
75d4b612cf
Make object serializer versioned
2019-07-12 11:53:14 -07:00
Meng Xu
cf935ff9e6
Remove debug message and format code
2019-07-11 22:05:20 -07:00
Andrew Noyes
c96854fce2
Simplify IReplicationPolicy serialization
2019-07-11 17:35:37 -07:00
mpilman
be3a07826d
fixed serialization bug with ReplicationPolicy
2019-07-11 17:35:37 -07:00
Andrew Noyes
ae6f17625e
Support PacketBuffer's of arbitrary size
2019-07-11 17:35:37 -07:00
Andrew Noyes
59ddf091e8
Re-use writeToOffsets vector
2019-07-11 17:35:37 -07:00
Andrew Noyes
b9af1f43b7
Implement new dynamic_size_traits
2019-07-11 17:35:37 -07:00
Steve Atherton
1700d492cf
Merge pull request #1823 from ajbeamon/cache-hit-rate-in-status
...
Tweak cache hit calculations and add cache hit rate to status
2019-07-11 14:06:06 -07:00
Meng Xu
c6e42d6119
ReplicationPolicy:Add trace for the name of each keyIndex
2019-07-10 19:29:29 -07:00
A.J. Beamon
b4dbc6d7fa
Change the way cache hits and misses are tracked to avoid counting blind page writes as misses and count the results of partial page writes. Report cache hit rate in status.
2019-07-10 14:43:20 -07:00
Vishesh Yadav
c694931e33
sim2: Remove obsolete comment
2019-07-10 14:06:06 -07:00
Jon Fu
19a91765f6
introduced a knob that can turn locality on/off
2019-07-09 16:16:15 -07:00
Vishesh Yadav
4b8eb27134
fdbrpc: Move setStatus line in addPeerReference
2019-07-09 15:01:12 -07:00
Vishesh Yadav
983343978e
fdbrpc: ConnectionMonitor should close unreferenced after delay
...
Potentially for cases, where it goes up to 1 immediately.
2019-07-09 14:24:16 -07:00
Vishesh Yadav
22678267cd
fdbrpc: Don't drop idle connections from server
...
Instead try pinging the client and let that decide whether the client
is alive or not. Ideally, it should always be failed since a well
behaved client would have closed the connection.
2019-07-09 14:24:16 -07:00
Vishesh Yadav
1f9c80f633
fdbrpc: Instead of tracking last sent data, track last sent non-ping data
...
* This will allow client to continue monitoring peer connections while
connection stays open, so that there is no period of "uncertainity"
without previous no-monitoring approach.
* Use multiplier for incoming connection idle timeout
* Update idle connection timeout values and leaked connection timeout in
simulator.
2019-07-09 14:24:16 -07:00
Vishesh Yadav
867986cdea
fdbrpc: Reduced connection monitoring from clients
...
This patch does two changes to connection monitoring:
1. Connection monitoring at client side will check if the connection
has been stayed idle for some time. If connection is unused for a
while, we close the connection. There is some weirdness involved here
as ping messages are by themselves are connection traffic. We get over
this by making it two-phase process, first being checking idle
reliable traffic, followed by disabling pings and then checking for
idle unreliable traffic.
2. Connection monitoring of clients from server will no longer send
pings to clients. Instead, it keep monitor the received bytes and
close after certain period of inactivity.
2019-07-09 14:24:16 -07:00
Vishesh Yadav
7647d3e3c0
fdbrpc: Don't use RequestStream for pings in ConnectionMonitor
...
RequestStream add another count to peerReference, which means as long
as ConnectionMonitor is alive, we'll never get peerReference=0 keeping
unnecessary connections potentially alive.
2019-07-09 14:24:16 -07:00
Vishesh Yadav
3f4f71ff9f
fdbrpc: Increment peerReferences correctly
...
The constructor of FlowReceiver which handled reference counting
peerReferences relied on calling a virtual method from constructor
whose behaviour isn't correct. This patch, bubbles down result of that
virtual method from derived constructor to base contructor.
2019-07-09 14:24:16 -07:00
Andrew Noyes
15c6f2b864
Explain SFINAE for has_serialization_done
2019-07-05 14:07:02 -07:00
Andrew Noyes
7350b3db30
Don't assume serializeReplicationPolicy succeeds
2019-07-05 14:07:02 -07:00
Andrew Noyes
e2ed56fa56
Convert ownedPtr to unownedPtr for IReplicationPolicy
...
Remove WriteRawMemory feature
Remove deserialization_done
2019-07-05 14:07:02 -07:00
Andrew Noyes
4c5ebd7609
Avoid assert when collecting vtables
2019-07-05 14:07:02 -07:00
Alex Miller
888f4f92e0
Fix errors and TaskPriority more priorities.
2019-07-03 21:03:58 -07:00