Alex Miller
c6a65389ae
Remove noexcept macro and replace with BOOST_NOEXCEPT.
...
BOOST_NOEXCEPT does what the noexcept macro was supposed to do, but in a
way that is correctly maintained over time.
2019-03-05 22:06:12 -08:00
Alex Miller
224744c473
Log BOOSTDIR
2019-03-05 22:06:12 -08:00
Alex Miller
df30904e27
Change default boost to 1.67.0
2019-03-05 22:06:12 -08:00
Alex Miller
367bcff700
Error if boost != 1.67.0
2019-03-05 22:06:12 -08:00
Alex Miller
af617d68e6
boost 1.52.0 -> 1.67.0 in all vcxproj files
2019-03-05 22:06:12 -08:00
Alex Miller
f12497232f
Split BOOSTDIR into BOOSTDIR_BASEDIR and BOOSTDIR_BASENAME (optionally).
...
This is to give us a way to let which boost to use toggleable in the
source code as BOOSTDIR_BASENAME, and let build enviornments configure
where to find appropriately named boost folders via BOOSTDIR_BASEDIR.
This isn't pretty, and CMake's FindBoost is a far better way to do this,
but it'll work for now.
2019-03-05 22:06:12 -08:00
Alex Miller
ad0aca21b5
Update fdbserver/fdbserver.vcxproj
...
Co-Authored-By: atn34 <anoyes34@gmail.com>
2019-03-05 18:03:57 -08:00
anoyes
981426bac9
More ide fixes
2019-03-05 18:03:57 -08:00
Evan Tschannen
82d957e0bb
Merge pull request #1178 from vishesh/task/issue-963-IPv6
...
IPv6 Support
2019-03-05 17:14:16 -08:00
Markus Pilman
590863479b
Update cmake/ConfigureCompiler.cmake
...
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-03-05 14:58:44 -08:00
Jingyu Zhou
bdf0fc4ffb
Enable .pdb file generation on Windows
...
Add compiler flag for generating program database file (PDB) for Visual Studio.
2019-03-05 14:58:44 -08:00
Vishesh Yadav
96ee95b9ad
fix: macOS build #963
...
Use the boost representation of IPv6 address internally
and make sure it uses std::array.
2019-03-05 14:03:14 -08:00
Vishesh Yadav
a9562f61be
fix: missing argument to printf in fdbserver
2019-03-05 14:03:09 -08:00
Bhaskar Muppana
89e5be7d70
Resolves #1027 : Adding interfaces to Flow bindings ( #1215 )
...
* Resolves #1027 : Adding interfaces Database, ReadTransaction and Transaction.
* Moving implementations into DatabaseImpl and TransactionImpl.
* Also removed deprecated class Cluster.
As we changed the interfaces, especially how we create transaction, its
going to break the compilation of any app upgrades to this version of
flow bindings. It doesn't change any of the fdb_c APIs. So, backward
compatilbity with old servers is preserved through multi-version client.
* Fixing indentation
* Fixing format according to review comments.
2019-03-05 13:09:26 -08:00
Stephen Atherton
7ffdd6c875
Added release notes for restore changes.
2019-03-05 12:55:08 -08:00
Stephen Atherton
337a5aa1fe
Updated to new Database API.
2019-03-05 12:44:28 -08:00
Stephen Atherton
2f7d559442
Restore now requires an explicit destination cluster file. Restore target database version can now be specified by a timestamp, which must be resolved using the cluster file for the cluster from which the backup originated.
2019-03-05 12:28:05 -08:00
Steve Atherton
21f55e1878
Merge pull request #1190 from bnamasivayam/restore-multiple-ranges
...
Add support for restoring multiple ranges.
2019-03-05 10:15:55 -08:00
Evan Tschannen
69d7633d5b
Merge pull request #1217 from alexmiller-apple/tstlog-goodref
...
Spill-By-Reference TLog Part 4: Actually Usable Reference Spilling
2019-03-04 20:58:24 -08:00
Evan Tschannen
6d8aa20ae3
Merge pull request #1220 from bnamasivayam/dr-switchover-checks
...
Add some basic checks before doing an atomic switchover.
2019-03-04 20:57:50 -08:00
Evan Tschannen
827f6a81d5
Merge pull request #1230 from tclinken/lazily-fetch-health-metrics
...
Client lazily fetches health metrics from proxies
2019-03-04 16:46:57 -08:00
Balachandar Namasivayam
627edd4724
Add force option to 'fdbdr switch'.
2019-03-04 16:36:58 -08:00
Meng Xu
afd7c1d497
AsynFileWinASIO: Make error checking consistent with Linux
...
In Linux, KAIO uses ASSERT to make sure open() flags have
OPEN_UNBUFFERED set.
In Windows, we uses if-condition and return io_errors() when the
flag is not set.
This PR makes Windoes implementation always use ASSERT to check the
flag.
2019-03-04 16:36:04 -08:00
Evan Tschannen
1ee9b9cda1
Merge pull request #1219 from vishesh/task/issue-1201
...
fix: segfault due external assignment of Endpoint::addresses #1201
2019-03-04 16:35:42 -08:00
Trevor Clinkenbeard
cbc5df5e93
Removed unnecessary Trace line
2019-03-04 16:31:40 -08:00
Balachandar Namasivayam
a258df32f6
Skip switchover checks for force option.
2019-03-04 15:58:36 -08:00
Vishesh Yadav
5cd8bac6cb
fix: segfault due external assignment of Endpoint::addresses #1201
...
isLocal() now checks if the address is equal to default
NetworkAddress() which should match the behaviour before TLS changes.
2019-03-04 15:49:11 -08:00
Balachandar Namasivayam
85b18c0665
Merge pull request #1225 from bnamasivayam/master
...
Document behavior on the ordering of writes and read conflict ranges
2019-03-04 15:17:42 -08:00
Balachandar Namasivayam
ee7ee3e783
Update documentation/sphinx/source/developer-guide.rst
2019-03-04 15:17:25 -08:00
Trevor Clinkenbeard
89cbb77b4e
Merge branch 'master' of https://github.com/apple/foundationdb into lazily-fetch-health-metrics
2019-03-04 14:17:58 -08:00
Trevor Clinkenbeard
56ae46f89e
Client lazily fetches health metrics from proxies
2019-03-04 14:16:39 -08:00
Vishesh Yadav
1d3e62c4e3
net: Don't use a union of IP in ConnectPacket #963
...
Since keeping a union and using the packet size to figure out whether
the ConnectPacket is using IPv6 to IPv4 address is not easily
maintainable. For simplicity, we just serialize everything in
ConnectPacket and be backward compatible with older format.
However, some code for some much older stuff is removed.
2019-03-04 14:12:45 -08:00
Vishesh Yadav
e93cd0ff21
Add some checks and comments to IPv6 changes #963
2019-03-04 14:12:45 -08:00
Vishesh Yadav
41d18db7b9
fix: update the encoding of AddressExclusion in SystemData #963
2019-03-04 14:12:45 -08:00
Vishesh Yadav
592e224155
net: add/use formatIpPort to format IP:PORT pairs #963
2019-03-04 14:12:45 -08:00
Vishesh Yadav
cc9ad0e202
net: Use IPv6 in simulation testing #963
...
25% times we will use IPv6 addresses
2019-03-04 14:12:45 -08:00
Vishesh Yadav
82b2da4b78
net: Add IPAddress::parse() util #963
2019-03-04 14:12:45 -08:00
Vishesh Yadav
25daabdc02
net: TraceEvent and toIPVectorString for new IPAddress structure #963
2019-03-04 14:12:45 -08:00
Vishesh Yadav
57832e625d
net: Support IPv6 #963
...
- NetworkAddress now contains IPAddress object which can be either
IPv4 or IPv6 address. 128bits are used even for IPv4 addresses,
however only 32bits are used when using/serializing IPv4 address.
- ConnectPacket is updated to store IPv6 address. Backward compatible
with old format since the first 32bits of IP address field is used
for serialization of IPv4.
- Mainly updates rest of the code to use IPAddress structure instead
of plain uint32_t.
- IPv6 address/pair ports should be represented as `[ip]:port` as per
convention. This applies to both cluster files and command line
arguments.
2019-03-04 14:12:41 -08:00
Evan Tschannen
a6d64f2806
Merge pull request #1227 from alexmiller-apple/fix-O0-build
...
Fix the build on -O0.
2019-03-04 13:45:19 -08:00
Vishesh Yadav
1a550712cb
Add serialization support for std::array
2019-03-04 13:33:10 -08:00
Balachandar Namasivayam
b0c910fba5
Update documentation.
2019-03-04 12:31:47 -08:00
Alex Miller
baa3e1af2c
Replace /sizeof(Page)*sizeof(Page)
with pageFloor()
.
2019-03-04 01:42:39 -08:00
Alex Miller
ee64b43366
Change DQ shrink logic to consider "active" bytes rather than file size.
...
We know what the current ideal size of the DQ file should be, so we
should use it.
2019-03-04 01:42:39 -08:00
Alex Miller
244903a9de
Spill txsTag by value under TagMsg/ and not TagMsgRef/
...
There's not a tremendous reason as to why this matters now, but I feel
like I might regret sometime later not keeping the same schema under the
same key.
2019-03-04 01:42:39 -08:00
Alex Miller
72c2cf11ab
Replace ResourceLimiter with FlowLock.
2019-03-04 01:42:38 -08:00
Alex Miller
75b2546e35
Allow FlowLock::take to succeed if there's no other active requests.
2019-03-04 01:42:38 -08:00
Alex Miller
98bb58628f
Upgrade FlowLock from int to int64_t.
2019-03-04 01:42:38 -08:00
Alex Miller
94bf75cb00
Allow the disk queue to shrink if it has unneeded slack space.
2019-03-04 01:42:38 -08:00
Alex Miller
a462359af1
Implement g_random->randomSkewedUInt32()
...
This generates an exponential distribution, implemented as being
a "log-uniform" distribution.
2019-03-04 01:42:38 -08:00