Commit Graph

3968 Commits

Author SHA1 Message Date
Vishesh Yadav e05b53d755 Merge remote-tracking branch 'apple/master' into task/tls-upgrade 2019-02-15 20:37:07 -08:00
Vishesh Yadav d34a658357 Add Restore role previous removed by mistake 2019-02-15 20:25:03 -08:00
Vishesh Yadav 345fd7e4da Prefer unencrypted ports at client side during transition 2019-02-15 20:23:07 -08:00
Vishesh Yadav c03de6c7b6 Update CLI to take addresses with mixed TLS states 2019-02-15 20:23:07 -08:00
Evan Tschannen 83060c6e56
Merge pull request #1062 from jzhou77/PR
Add a new DataDistributor role.
2019-02-15 13:51:27 -08:00
Evan Tschannen 8099a0b665
Merge pull request #1129 from alexmiller-apple/tstlog-1
Spill-by-reference TLog Part 1: IDiskQueue::read()
2019-02-15 11:48:14 -08:00
mpilman 0bbbfb6ee3 Address Andrew's review comments 2019-02-15 00:01:42 -08:00
mpilman 0754ce1a43 fixef formatting of go code 2019-02-15 00:01:42 -08:00
mpilman 3401c1f771 add option to fail cmake if not all dependencies are found 2019-02-15 00:01:42 -08:00
mpilman a0b20ef2c1 Add initscripts dependency to foundationdb-server 2019-02-15 00:01:42 -08:00
mpilman b06aa3b8ea Several bug fixes - debian package working
Did some manual minor testing on the debian package
2019-02-15 00:01:42 -08:00
mpilman a20e58bb4c Added linux-pkgs command to docker-compose file 2019-02-15 00:01:42 -08:00
mpilman 46119dce0d Disabled c-bindin tests on Windows 2019-02-15 00:01:42 -08:00
mpilman 4266429dcf Fixed python dependency 2019-02-15 00:01:42 -08:00
mpilman 990e084fa2 Debian packages are successfully generated 2019-02-15 00:01:42 -08:00
mpilman ddddda7328 docker-compose can now build rpm
weirdly it still generates a foundationd-unspecified
rpm. However, it is empty and can be ignored for now
2019-02-15 00:01:42 -08:00
mpilman 5f25e5cb32 docker container and docker-compose for cmake
This is still in the testing-phase. However, it should
be mostly functional
2019-02-15 00:01:42 -08:00
mpilman 6529e2790b several minor bug fixes 2019-02-15 00:01:42 -08:00
mpilman f6ab577002 Fix Windows issue with libressl 2019-02-15 00:01:42 -08:00
mpilman 723f208cd1 Fix cmake output 2019-02-15 00:01:42 -08:00
mpilman ffaaaf5028 build fat-jar with packages
The packages target will now build the fat jar and
it will place the jar file into the packages directory
2019-02-15 00:01:42 -08:00
mpilman 458c14ffcd Ruby bindings for cmake + gem generation
make packages will now also generate a gem file and
put it into the packages directory within the build directory
2019-02-15 00:01:42 -08:00
mpilman 7ae3cc8ce4 Fix go binding dependency paths
Before this commit, the go bindings would
always be recompiled
2019-02-15 00:01:42 -08:00
mpilman 9b7dcc4ed5 flow, python, and go bindings 2019-02-15 00:01:42 -08:00
mpilman 44cb835ffe build python sdist 2019-02-15 00:01:42 -08:00
mpilman 50a01fb8ce Build flow-binding 2019-02-15 00:01:42 -08:00
mpilman 733ba0a751 Build c_performance_test and rwy_benchmark
addresses #1035
2019-02-15 00:01:42 -08:00
mpilman 0d7d1a2b63 added IDE support for cmake 2019-02-15 00:01:42 -08:00
mpilman cd6b72b492 generate coverage.target.xml files 2019-02-15 00:01:42 -08:00
mpilman 75f692b931 simplify actorcompiler and target to compile coveragetool 2019-02-15 00:01:42 -08:00
mpilman 0d01dc073b add package_html target to create tgz of html 2019-02-15 00:01:42 -08:00
mpilman 308db3772c build sphinx documentation 2019-02-15 00:01:42 -08:00
mpilman 543e6b9000 intermediate commit 2019-02-15 00:01:42 -08:00
mpilman 70545e07d8 Added documentation on how to build the jar-files 2019-02-15 00:01:42 -08:00
mpilman 1ed149e624 Add option to build fat jar 2019-02-15 00:01:42 -08:00
mpilman f601aa7407 Make Java an optional dependency 2019-02-15 00:01:42 -08:00
Alvin Moore 44eb80b161
Merge pull request #1158 from alexmiller-apple/release-merge
Merge release-6.0 into master
2019-02-14 17:35:43 -08:00
Jingyu Zhou 5e6577cc82 Final cleanup per review comments
Make distributor interface optional in ServerDBInfo and many other small
changes.
2019-02-14 16:37:17 -08:00
Jingyu Zhou bf6da81bf9 Remove recovery version from data distribution queue
This parameter is no longer used/needed.
2019-02-14 16:37:16 -08:00
Evan Tschannen 038144adb1 Update fdbserver/DataDistribution.actor.cpp
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-02-14 16:37:16 -08:00
Evan Tschannen 171a69c810 Update fdbserver/ClusterController.actor.cpp
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-02-14 16:37:16 -08:00
Evan Tschannen a4b2c9ef88 Update fdbserver/ClusterController.actor.cpp
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-02-14 16:37:16 -08:00
Jingyu Zhou fc3a784963 Fix another build team bug
The buildTeam() can create teams with undesired storage servers, which are
considered unhealthy. As a result, the data movement can become stuck.

Fix this by adding an ACTOR monitorHealthyTeams that builds team every one
second whenever there is no healthy teams.

Clean up storageServerTracker() interface.
2019-02-14 16:37:16 -08:00
Jingyu Zhou 8afe84d31b Fix an ordering bug for buildTeam
When zeroHealthyTeams signals and the storage server becomes healthy, we could
attempt buildTeam before the ServerStatusMap is updated. As a result, the
healthy server is not available for use. Fix by delaying the buildTeam after the
status map is updated.
2019-02-14 16:37:16 -08:00
Jingyu Zhou a7d1111a10 Make servers and serverIDs private for TCTeamInfo
Make both accessible through public member functions instead.
2019-02-14 16:37:16 -08:00
Jingyu Zhou 0e47912192 Fix an out-of-memory error 2019-02-14 16:37:16 -08:00
Jingyu Zhou 8b1235533e Fix segfault during configuration change
This bug was introduced in cee23ee3. During a configuration change, the data
distributor was restarted, which destroys previous DDTeamCollection and cancels
all previous teamTracker(). In this case, even though the healthy team count
reaches 0, there is no need to try to rebuild teams. The bug is triggered when
trying rebuilding teams, DDTeamCollection is already destroyed.
2019-02-14 16:37:16 -08:00
Jingyu Zhou 07dab56133 Fix a data movement stuck bug
When moving keys to a team, if one of the server in the target team died, then
the move can become stuck. This is because the DDTeamCollection waits for all
the data movement of the failed server to be completed. However, in this case,
because the movement has not finished yet, checking the database tells us there
is no key assocated with this server and it is safe to go ahead. In reality,
only the in-memory structure knows there is pending movement, i.e., unfinished
move causes some keys to be attributed to the failed server. Thus, the server
can't be removed yet. Fix by adding a check with in-memory structure in
waitForAllDataRemoved().

Use const& to optimize a few function parameters.
2019-02-14 16:37:16 -08:00
Jingyu Zhou 961d71538e A follow-on fix to ensure build team for zero teams 2019-02-14 16:37:16 -08:00
Jingyu Zhou 5deeec29e3 Fix a bug where team is not rebuild after storage failure
When two failures happened to a team, one of the server recovered. The current
logic skips for building a new team, which is wrong.
2019-02-14 16:37:16 -08:00