Stephen Atherton
c193bc8cb5
Revert parseTime() back to using strptime() for Linux and MacOS.
2019-03-20 02:39:49 -07:00
Stephen Atherton
827107469f
Fixed typo in attempt to get tm.tm_gmtoff to exist on Windows.
2019-03-20 02:19:36 -07:00
Stephen Atherton
bb58114ab1
Attempt to get tm.tm_gmtoff to be defined on Windows.
2019-03-20 01:53:50 -07:00
Stephen Atherton
3eadcf835b
Added missing header.
2019-03-20 01:36:25 -07:00
Stephen Atherton
d5e50e6963
Rewrote BackupAgentBase::parseTime() to use std::get_time() so it compiles on all supported platforms. Added unit test for parseTime() and formatTime().
2019-03-20 01:18:37 -07:00
A.J. Beamon
2d7b48dadc
Merge pull request #1311 from etschannen/feature-increase-grv-batch
...
Increased the GRV client batch size
2019-03-19 08:23:05 -07:00
A.J. Beamon
7f4adcc338
Merge pull request #1314 from etschannen/feature-ssd-memory-spill
...
configure memory now selects the ssd engine for transaction log spilling
2019-03-19 08:22:22 -07:00
A.J. Beamon
10a30fed42
Merge pull request #1316 from senthil-ram/atomicreplace
...
atomicReplace to preserve owner & permission info
2019-03-19 08:21:35 -07:00
Vishesh Yadav
fea18e7be0
fix: fdbserver segfault when started with wrong arguments
...
Public address is required for roles FDBD, NetworkTestServer and
Restore only. Therefore, check those cases, and for others follow the
earlier behaviour of using default ip address 0.
FIXES #1305
2019-03-19 02:05:11 -07:00
Evan Tschannen
ddf8e86730
Merge pull request #1275 from alexmiller-apple/tstlog9
...
Spill-By-Reference TLog Part 5: TLogs That Can Spill Large Amounts Of Data
2019-03-18 17:58:21 -07:00
Evan Tschannen
2554fed965
reduce max transaction to start
2019-03-18 16:16:03 -07:00
Evan Tschannen
87e2a1a029
The proxy budget is implemented to let one request over its limit through, and then pay back what was over the limit in the next update
2019-03-18 16:09:57 -07:00
A.J. Beamon
33a211c834
Merge pull request #1315 from etschannen/feature-memory-logging
...
Occasionally log a backtrace when the fast allocators allocates a new magazine
2019-03-18 16:05:20 -07:00
Alex Miller
b11ecb3210
Remove random bits of code that were either unneeded or leftover from debugging.
2019-03-18 15:47:20 -07:00
sramamoorthy
fe18596c01
Add a comment about ReplaceFile API
2019-03-18 15:24:08 -07:00
Evan Tschannen
eb54a700ba
changed the old memory configuration to memory-1
2019-03-18 15:10:04 -07:00
Alex Miller
37ea71b117
Implement limiting how many bytes recovery will read.
...
This time, track what location in the DiskQueue has been spilled in
persistent state, and then feed it back into the disk queue before
recovery.
This also introduces an ASSERT that recovery only reads exactly the
bytes that it needs to have in memory.
2019-03-18 15:09:43 -07:00
Alex Miller
29ab7370cd
Clear versionLocation when spilling, and pop DQ separately.
...
Popping the disk queue now requires potentially recovering the location
to which we can pop from the spilled data itself, and for each tag we
must maintain the first location with relevant data.
The previous queue we had to represent the ordering, queueOrder, was
used by spilling, and popped when a TLog had been spilled. This means
that as soon as a TLog has been fully spilled, we have no idea how it
relates in order to other fully spilled TLogs.
Instead, use queueOrder to keep track of all the TLog UIDs until they're
removed, and use spillOrder to keep track of the order only for
spilling.
2019-03-18 15:09:22 -07:00
Evan Tschannen
c8122edb6b
avoid relying on 128<<10 in knobs.cpp
2019-03-18 12:40:15 -07:00
A.J. Beamon
7711542b55
Update flow/FastAlloc.cpp
...
Co-Authored-By: etschannen <36455792+etschannen@users.noreply.github.com>
2019-03-18 12:34:46 -07:00
sramamoorthy
c0094830c3
addressing minor format related comments
2019-03-18 11:59:51 -07:00
A.J. Beamon
ce03651bea
Merge pull request #1313 from ravilution/patch-1
...
Fixing the Tutorials Link
2019-03-18 08:54:35 -07:00
sramamoorthy
51a655d9c7
atomicReplace to preserve owner & permission info
...
atomicReplace currently does not preserve the
ownership and permission info, this fix will
preserves the ownership and permission info - it
fails the call if it is not able to do so.
2019-03-18 00:18:05 -07:00
Evan Tschannen
fa5d929106
switch to g_nondeterministic_random to make simulation deterministic
2019-03-17 22:48:43 -07:00
Evan Tschannen
d2eb7578fd
Occasionally log a backtrace when the fast allocators allocates a new magazine to help track down memory leaks
2019-03-17 21:59:56 -07:00
ravilution
6161144788
Fixing the Tutorials Link
...
Fixing the Tutorials link to point to GO version of the tutorials
2019-03-17 12:21:03 -05:00
Evan Tschannen
44e25e219c
do not suppress KeyValueStoreMemory_OutOfSpace in simulation
2019-03-17 00:35:48 -07:00
Evan Tschannen
a372c7cf18
configure memory now selects the ssd engine for transaction log spilling. Transaction log spilling is only used when the transaction logs cannot keep all of the unpopped mutations it has in memory. If we are only using this data structure because we do not have enough memory, it is much less safe to use the memory storage engine for this purpose.
2019-03-16 22:48:24 -07:00
Evan Tschannen
ec6c843124
increased the GRV client batch size, similarly increased the proxy limits related to the number of transactions started in a batch
2019-03-16 16:18:58 -07:00
Stephen Atherton
471ac206a3
Add new boost preprocessor definitions to windows build in release mode, still just for flow project to see if it's sufficient.
2019-03-15 21:03:03 -07:00
Stephen Atherton
2c8224f0b7
Add new boost preprocessor definitions to windows build.
2019-03-15 21:03:03 -07:00
Markus Pilman
913588d6f1
Update cmake/ConfigureCompiler.cmake
...
Co-Authored-By: satherton <stevea@apple.com>
2019-03-15 21:03:03 -07:00
Stephen Atherton
7f8475cf27
Removed flow/boost.cpp and the copied boost files it was using, added boost macros to makefile and cmake stuff to hopefully enable building without them.
2019-03-15 21:03:03 -07:00
Stephen Atherton
9f713a6b3d
Testing to see if builds work without the contents of the boost source copies.
2019-03-15 21:03:03 -07:00
Stephen Atherton
5407c87179
Updated two files copied from boost 1.52.0 to their 1.67.0 equivalents since the default boost version to compile against is now 1.67.0 and compilation (on MacOS at least) fails against boost 1.52.0 because some definitions have moved since.
2019-03-15 21:03:03 -07:00
Alex Miller
7f5bc2981f
Checksum DiskQueue pages on read, but at a lower priority.
...
If a server has its data spilled, then it's behind the 5s window.
Feeding it data is less important than committing, so we can hide the
extra CPU usage from checksumming the read amplified disk queue pages.
2019-03-15 21:01:19 -07:00
Alex Miller
ee4721a63f
Make checking or ignoring checksums part of the IDiskQueue::read API.
2019-03-15 21:01:18 -07:00
Alex Miller
81c59e88a8
Persist the protocol version of a TLog instance when it is created.
...
This allows us to do easy upgrades of SpilledData in the future, if the
need arises, because we then have a protocol version to compare against.
2019-03-15 21:01:17 -07:00
Alex Miller
bf247eeed0
If TLogVersion >= 3, use crc32c for the DiskQueue hash for TLogs.
...
We don't have a forward compatibility story for the memory storage
engine, so its DiskQueue will still be hashlittle2 until one exists.
2019-03-15 21:01:16 -07:00
Alex Miller
686b097397
Remove verification code from DiskQueue and TLogServer.
2019-03-15 21:01:15 -07:00
Alex Miller
bdd7d5d3df
Initialize firstPages with 0xFF.
...
There's various ASSERT()'s that assume firstPages is empty, and enforces
things about `seq`. Some of these asserts have spuriously passed, since
uninitialized pages look like they have a `seq` of 0, which would be the
beginning of the disk queue.
Now they'll look like the end of the disk queue, which is far easier to
fail on.
2019-03-15 21:01:14 -07:00
Alex Miller
77f596743f
Bump persistFormat in TLogServer to differ from OldTLogServer*
...
Though this format is being deprecated in favor of an eventual plumbing
through of TLogVersion, we should probably bump it anyway.
And also remove the fallback to OldTLogServer code. It should never be
executed, as OldTLogServer_6_0 is entirely relied upon to execute
OldTLogServer_4_6.
2019-03-15 21:01:13 -07:00
Alex Miller
4f98634f59
Add LogId to all TLog TraceEvents that have it.
2019-03-15 21:01:12 -07:00
Evan Tschannen
0010d500c5
Merge pull request #1303 from ajbeamon/fix-compiler-warnings
...
Fix various compiler warnings
2019-03-15 17:58:49 -07:00
A.J. Beamon
f5ba5bf4ca
Merge pull request #1304 from amouehsan/amouehsan-python3.7-documentation
...
Update python3.7 documentation
2019-03-15 11:12:35 -07:00
A.J. Beamon
40293d6fae
Update documentation/sphinx/source/api-python.rst
...
Co-Authored-By: amouehsan <mehsan@apple.com>
2019-03-15 11:05:37 -07:00
Evan Tschannen
b5d2debda7
Merge pull request #1298 from ajbeamon/fix-ryow-onerror-reset
...
RYOW onError no longer resets a transaction when it gets a non-retrya…
2019-03-15 10:46:28 -07:00
A.J. Beamon
19d27b6271
Merge branch 'master' into fix-compiler-warnings
2019-03-15 10:35:36 -07:00
A.J. Beamon
85b3f11e71
Fix various compiler warnings
2019-03-15 10:34:57 -07:00
Moussa Ehsan
9ed41a4932
Update python version to 3.7 in the docs
...
This change updates the documentation to reflect that we support python 3.7.
2019-03-15 10:24:33 -07:00