Commit Graph

4265 Commits

Author SHA1 Message Date
mpilman e8624efb3b several minor improvements 2019-03-07 16:49:29 -08:00
mpilman 2b11a66ff9 Improved package testing
The requirements changed here - so in order to test these
cmake changes properly, we need a framework that does that
2019-03-07 16:49:29 -08:00
mpilman 42e0a89a66 This makes package generation work
Resulting packages are not tested yet
2019-03-07 16:49:29 -08:00
mpilman 2537f26de6 First implementaion of more user-friendly cpack
Up unto here this code is only very rudiemantery tested.

This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.

In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.

Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
Andrew Noyes 27d199409e Add KillRegion.actor.cpp workload to cmake 2019-03-07 12:14:42 -08:00
Balachandar Namasivayam 9e4c780baa
Merge pull request #1249 from xumengpanda/mengxu/status/teamcollection-info
Status:healthy: Add optimizing_team_collections
2019-03-07 11:44:24 -08:00
Alec Grieser 83e4b966d5 Resolves #1235: Java: FDBExceptions are created successful operation completion (#1236)
The native function `NativeFuture::Future_getError` now returns `null` when the error code is 0 instead of an `FDBException` with a "Success" message and an error code of 0. This was only used in two places within the codebase; those two places now check for `null` errors and treats them like successes.
2019-03-06 18:34:36 -08:00
Steve Atherton 157fe98be7
Merge pull request #1253 from bnamasivayam/master
Address review comments.
2019-03-06 17:42:15 -08:00
Balachandar Namasivayam 43c290b546 Address review comments. 2019-03-06 17:39:29 -08:00
Meng Xu b0a928fc58
Merge pull request #1243 from KrzysFR/patch-1
Add instruction to install Python for CMake/Windows
2019-03-06 17:32:39 -08:00
Meng Xu 1464bceece ReleaseNote: Correct the format
Make the improved replication mechanism feature as bullet instead of
a paragraph.
2019-03-06 17:02:26 -08:00
Balachandar Namasivayam f3391ea413
Merge pull request #1240 from satherton/feature-restore-by-timestamp
Restore by timestamp
2019-03-06 16:21:06 -08:00
Meng Xu 845f8fdcbc Status:healthy: Add optimizing_team_collections
Change removing_redundant_teams status name to
optimizing_team_collections.
The new name is more general and can be applied in the future
when we switch storage engines.
2019-03-06 15:05:23 -08:00
mpilman 4a4af6fb2c Make cmake build fail if old build system was used
This changes makes a cmake build check for an existing
versions.h file in the source directory before it builds
anything else. If it finds it it will fail the build.

This is to prevent confusion when someone tries to use cmake
on a source directory where the old build system was used
before (as this is not supported).
2019-03-06 13:48:18 -08:00
Christophe Chevalier eba77bc10c
Update README.md
Update wording of python requirements
2019-03-06 20:50:46 +01:00
Christophe Chevalier 30b914c2a5
Add instruction to install Python for CMake/Windows
I followed the instructions to build with CMake on Windows, but cmake complains about missing Python interpreter.

Installation Python 2.7.x solved the issue.

```
C:\Data\Git\GitHub\foundationdb\build>cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=C:\Users\chevalier\Downloads\boost_1_67_0\boost_1_67_0 c:\data\git\github\foundationdb
-- C:/Data/Git/GitHub/foundationdb C:/Data/Git/GitHub/foundationdb/build
-- Could NOT find LibreSSL, try to set the path to LibreSSL root folder in the system variable LibreSSL_ROOT (missing: LIBRESSL_CRYPTO_LIBRARY LIBRESSL_SSL_LIBRARY LIBRESSL_TLS_LIBRARY LIBRESSL_INCLUDE_DIR)
-- LibreSSL NOT Found - Will compile without TLS Support
-- You can set LibreSSL_ROOT to the LibreSSL install directory to help cmake find it
-- Found JNI: C:/Program Files/Java/jdk-11.0.2/lib/jawt.lib (Required is at least version "1.8")
-- Found Java: C:/Program Files/Java/jdk-11.0.2/bin/java.exe (found suitable version "11.0.2", minimum required is "1.8") found components:  Development
-- Could NOT find Python (missing: Python_EXECUTABLE Interpreter)
CMake Error at cmake/FDBComponents.cmake:46 (message):
  Could not found a suitable python interpreter
Call Stack (most recent call first):
  CMakeLists.txt:60 (include)


-- Configuring incomplete, errors occurred!
See also "C:/Data/Git/GitHub/foundationdb/build/CMakeFiles/CMakeOutput.log".
See also "C:/Data/Git/GitHub/foundationdb/build/CMakeFiles/CMakeError.log".
```

After installing python
```
...
-- Found Python: C:/Python27/python.exe (found version "2.7.16") found components:  Interpreter
...
-- =========================================
--    Components Build Overview
-- =========================================
-- Build Java Bindings:                  ON
-- Build with TLS support:               OFF
-- Build Go bindings:                    OFF
-- Build Ruby bindings:                  OFF
-- Build Python sdist (make package):    ON
-- Build Documentation (make html):      OFF
-- =========================================
-- CPACK_COMPONENTS_ALL
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Data/Git/GitHub/foundationdb/build
```
2019-03-06 15:38:13 +01:00
Stephen Atherton 7778112f6a Bug fix, restore was using the destination cluster to look up timestamps when printing the backup description instead of (optionally) the original cluster which generated the backup. Made missing cluster file errors more clear. 2019-03-06 02:45:55 -08:00
Stephen Atherton 888c4764d3 Bug fix: fdbrestore was not using a default range set. 2019-03-06 01:57:03 -08:00
Stephen Atherton 28e67aa041 Fixed option name to match documentation. 2019-03-05 23:26:45 -08:00
Vishesh Yadav fd34626009 boost: Remove log from Makefile and version check in flow.h 2019-03-05 22:06:12 -08:00
Vishesh Yadav f699f85e30 boost: Update README and Dockerfile to use 1.67 2019-03-05 22:06:12 -08:00
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