Commit Graph

1211 Commits

Author SHA1 Message Date
A.J. Beamon a794fca932 Support 5.0 (and earlier) client versions by adding GRV probing for old versions. Update the C bindings implementation of get_server_protocol to convert the ProtocolVersion object into a uint64_t. Rename a misleading protocol version alias. 2021-04-23 15:00:21 -07:00
A.J. Beamon eaaae2e16d Merge branch master into 'feature-mvc-monitor-protocol-version' 2021-04-20 15:07:02 -07:00
A.J. Beamon 4a1a55f270 Remove fdb_get_server_protocol from the Python bindings. This C function this was using recently moved and changed signature, so it no longer works in Python. 2021-04-16 13:48:44 -07:00
A.J. Beamon b2d6930103 The multi-version client monitors the cluster's protocol version and only activates the client library that can connect. 2021-04-15 11:45:14 -07:00
A.J. Beamon d3b6a543ab Update comment in unit test 2021-04-14 13:23:06 -07:00
A.J. Beamon bc8568d4bb Use the correct pointer in the unit test for fdb_database_get_server_protocol 2021-04-14 12:58:59 -07:00
A.J. Beamon 3ed0d614d2 Move fdb_get_server_protocol to be a function on the database object. Add an argument for expected_version that can be used to signal that the function shouldn't return unless the protocol version is different. 2021-04-14 12:50:30 -07:00
A.J. Beamon b2ee928a15
Merge pull request #4564 from sfc-gh-nwijetunga/network_busyness_java_api
Network Busyness Java API
2021-04-12 14:38:01 -07:00
Vishesh Yadav 8627fa1f16
Merge pull request #4597 from scottfines/no_string_format
Removing String.format from ByteArrayUtil.printable.
2021-04-09 10:59:28 -07:00
Scott Fines 275e650a80 Disabling tests that don't really work in the ctest development environment. They aren't important tests anyway 2021-04-02 11:09:08 -05:00
Scott Fines ef1b924f07 Removing String.format from ByteArrayUtil.printable.
String.format can be potentially expensive, and if using `printable()`
within a hot loop that can be a performance penalty. Admittedly, it
doesn't seem like a good idea to call printable() from within a hot
loop, but if you have to, it's good for it to perform well.
2021-03-31 09:31:38 -05:00
Nim Wijetunga bdccf8bc80 fix formatting issues 2021-03-25 00:11:11 +00:00
Nim Wijetunga a84592df7e add test for network busyness 2021-03-24 23:59:40 +00:00
Nim Wijetunga 21f1e1d5de add comment 2021-03-24 23:38:42 +00:00
Nim Wijetunga b5412b355e Add Java API for network busyness 2021-03-24 23:34:34 +00:00
A.J. Beamon ed811008ca
Merge pull request #4504 from sfc-gh-nwijetunga/network_busyness
Monitor Network Thread Busyness
2021-03-24 09:44:09 -07:00
Nim Wijetunga de1c354b12 address pr comments 2021-03-23 20:56:37 +00:00
Andrew Noyes 0acd2a1e13 Work around fdbmonitor/tsan problem
I don't fully understand what's going on here, but I want to run with tsan enabled
2021-03-18 23:21:46 +00:00
Nim Wijetunga 0afacf4997 Merge branch 'master' of github.com:sfc-gh-nwijetunga/foundationdb into network_busyness
* 'master' of github.com:sfc-gh-nwijetunga/foundationdb:
  Update example Dockerfile (#4488)
  Add aarch64 support in CentOS7 Dockerfile (#4483)
  Add a comment back
  Port lost PR #4166 back
  change macro and format file
2021-03-18 19:03:06 +00:00
Nim Wijetunga 73571ad52e Merge branch 'master' of github.com:sfc-gh-nwijetunga/foundationdb into network_busyness
* 'master' of github.com:sfc-gh-nwijetunga/foundationdb: (55 commits)
  Port lost changes from #4004
  Fix markdown
  Factor our refreshTransaction gadget
  Align FastAllocator memory to 4096 for size >= 4096
  Fix heap-use-after-free's
  Disable lsan in joshua
  Manually apply changes made to BackupContainer.actor.cpp on release-6.3 to the new files where that code is located.
  add release branch instructions
  Fix PR number in release note link
  fixed a simulation bug where a process on an unreliable machine would be considered reliable by the simulator
  Add tini as PID 1 to docker image (#4363)
  Fix typo
  Fix broken_promise bug
  Explain FastAllocator<4096> special case
  Inform LSAN that we have unaligned pointers
  apply clang-format to flow/Platform.h
  Fix typos
  Address review comments
  Change the macro that forbids exit() calls to be a static assertion
  Add versionstamp serialization information
  ...
2021-03-18 18:58:43 +00:00
Andrew Noyes fbe5c81b33 Block until future is ready in test 2021-03-18 18:24:12 +00:00
Andrew Noyes 0919eff187 Fix data race in fdb_get_server_protocol 2021-03-18 18:24:12 +00:00
A.J. Beamon ee2584b520
Merge pull request #4498 from sfc-gh-mpilman/bugfix/format-fdbc
Fix clang-format issue with fdb_c.h
2021-03-18 09:16:18 -07:00
Nim Wijetunga ea922aa648 address pr comments 2021-03-17 18:16:18 +00:00
Nim Wijetunga bf5f83d2bf address pr comments 2021-03-16 21:49:36 +00:00
Nim Wijetunga 5f079904d4 add unit test 2021-03-16 18:30:39 +00:00
Nim Wijetunga f0d79b3d86 Inital implementation of network busyness 2021-03-15 23:23:56 +00:00
Markus Pilman ebcc69f512 change macro and format file 2021-03-15 15:17:22 -06:00
Andrew Noyes a76c7b9754 Fix several memory leaks and a thread leak 2021-03-11 23:58:32 +00:00
Vishesh Yadav 2cd3f45fd6 Merge remote-tracking branch 'apple/release-6.3' into master-format-final
release-6.3 was recently merged, and there were two PRs which were
merged in between and got those changes in here. Hence, since all the
changes were in, discarded the incoming changes and accepted all
current.
2021-03-10 16:50:44 -08:00
FDB Formatster df90cc89de apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Vishesh Yadav 2bb4f2e59f Merge branch 'release-6.3-pre-format' into master-format
This merges release-6.3 branch right before it was fully formatted.
There were quite a few conflicts that are resolved here. CoroFlow had
a check for OOM errors introduced in 6.3, but didn't seem applicable in
the new implmentation which seems to use boost.
2021-03-10 09:37:41 -08:00
Scott Fines 85a6e65e16
Merge pull request #4385 from scottfines/instrumented_java
Add the ability to instrument java driver actions
2021-03-09 13:46:31 -06:00
Scott Fines bdc888ba0a fixing formatting errors 2021-03-09 11:34:15 -06:00
Scott Fines 2db95bebf9
Merge branch 'release-6.3' into buffer_defaults 2021-03-09 08:53:12 -06:00
Scott Fines 329d6052b6 making times record counts too 2021-03-09 08:41:10 -06:00
Scott Fines df6faa089a Addressing PR comments 2021-03-08 14:10:20 -06:00
Scott Fines a9324ebbf6 Adjust default native buffer sizes to be more efficient 2021-03-08 13:31:44 -06:00
Scott Fines 6e32eb75dc Adding a reference implementation of EventKeeper 2021-03-08 09:58:31 -06:00
Scott Fines e080e989ac Better approach to non-locked stats gathering (including knowing what thread will operate) 2021-03-08 09:52:02 -06:00
Scott Fines 6c4ce1769d Moving external calls outside of the pointer lock 2021-03-08 08:46:06 -06:00
FDB Formatster 8a8c488ede apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-05 18:13:38 -06:00
Scott Fines 397af989bb More PR comments 2021-03-05 15:15:05 -06:00
Scott Fines 75be7243e8 Addressing PR comments 2021-03-05 14:27:00 -06:00
Scott Fines c6731cc053 Basic instrumentation of Java Bindings 2021-03-05 14:26:46 -06:00
Russell Sears 15168f33f2
Merge pull request #4394 from vishesh/task/generated.go
Update generated.go
2021-03-05 06:08:04 -08:00
Markus Pilman 061c733a9c
Merge pull request #4405 from sfc-gh-anoyes/anoyes/cluster-for-java-test
anoyes/cluster-for-java-test
2021-03-02 10:22:21 -07:00
Andrew Noyes e62cdbad3b Mention that tests share an fdb cluster 2021-03-02 16:31:58 +00:00
Evan Tschannen 346a4e3ecd Merge branch 'release-6.3'
# Conflicts:
#	fdbcli/fdbcli.actor.cpp
#	fdbrpc/LoadBalance.actor.h
#	fdbrpc/MultiInterface.h
#	fdbserver/ClusterController.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/masterserver.actor.cpp
2021-03-01 18:52:06 -08:00
Andrew Noyes 18ee11e69a Use add_fdbclient_test for java integration tests
Also change add_fdbclient_test to run its subcommand with FDB_CLUSTER_FILE set
2021-03-02 01:54:17 +00:00
Scott Fines 7054328d8a New Unit and Integration Tests, and associated infrastructure.
First, this converts the java unit testing framework to junit 5.

Then we create some easy unit tests, move TupleTest logic into unit
tests, and move some other tests into ArrayUtilTests.

This also adds new cmake configuration to run junit and integration tests
through ctest.

There is a mechanism to write integration tests that depend on a running
fdb cluster by having those tests be skipped if they can't connect to a
database quickly. This should help to add those tests in CI, although
eventually we'll probably want to move this to throw an error instead
(once the CI build process clears out and we can guarantee a running
server during CI testing).

Converting to junit 5
2021-03-01 09:11:45 -06:00
Vishesh Yadav 95f5a73a3d go: Update generated.go 2021-02-26 11:22:31 -08:00
Scott Fines 236510652d Resolves 4323: make Junit tests run as separate ctest tests.
This adds the ability to run junit tests through ctest a little more
easily (no Suites required). It also adds a small amount of
documentation to explain to the average developer how to go about using
Junit effectively.
2021-02-24 14:24:23 -06:00
Scott Fines 3d1bb99d90
Merge pull request #4336 from scottfines/test_conversions
Converting existing tests to using Unit (where possible)
2021-02-24 14:21:51 -06:00
Scott Fines 0bf7f9cf63 New Unit and Integration Tests, and associated infrastructure.
First, this converts the java unit testing framework to junit 5.

Then we create some easy unit tests, move TupleTest logic into unit
tests, and move some other tests into ArrayUtilTests.

This also adds new cmake configuration to run junit and integration tests
through ctest.

There is a mechanism to write integration tests that depend on a running
fdb cluster by having those tests be skipped if they can't connect to a
database quickly. This should help to add those tests in CI, although
eventually we'll probably want to move this to throw an error instead
(once the CI build process clears out and we can guarantee a running
server during CI testing).

Converting to junit 5
2021-02-24 09:35:35 -06:00
Meng Xu 471a3489fb Resolve review comments and add trace fields to MasterRecoveryState 2021-02-17 14:44:14 -08:00
Scott Fines 2589c26907 Resolves 4323: make Junit tests run as separate ctest tests.
This adds the ability to run junit tests through ctest a little more
easily (no Suites required). It also adds a small amount of
documentation to explain to the average developer how to go about using
Junit effectively.
2021-02-12 15:34:04 -06:00
Meng Xu 9122be4d81 Add comments to HA code and loadBalance code 2021-02-10 13:51:36 -08:00
Chaoguang Lin 1ae883b150 Update to use C++ random generator 2021-02-09 19:06:13 -08:00
Chaoguang Lin 0f969f0f95 Initilize random seed in the snapshot c function unit test when generating UID 2021-02-09 16:05:37 -08:00
Chaoguang Lin 5b2c015747 fix indent 2021-02-09 01:45:43 -08:00
Chaoguang Lin 1d964e8c4a update unit test 2021-02-09 01:41:39 -08:00
Chaoguang Lin 90686a95a0 format code 2021-02-08 22:17:16 -08:00
Chaoguang Lin 7c1ef37bcb format code 2021-02-08 21:42:40 -08:00
Chaoguang Lin 61082e70e1 format code, add comments 2021-02-08 19:11:30 -08:00
Chaoguang Lin e3c1530a15 format code 2021-02-08 18:56:12 -08:00
Chaoguang Lin fd7b1f64d0 Remove IDE added header 2021-02-08 18:41:20 -08:00
Chaoguang Lin cd54eae545 Update test and documentation 2021-02-05 15:30:43 -08:00
Chaoguang Lin a85458dd1e Merge branch 'master' of github.com:apple/foundationdb into add-c-function-snapshot 2021-02-05 14:14:52 -08:00
Chaoguang Lin 97925de9d4 Update fdb_database_create_snapshot to take a UID as input 2021-02-05 14:14:38 -08:00
Andrew Noyes 961950f03a Add dependency to fdb_c 2021-02-05 03:37:52 +00:00
Andrew Noyes 75f8725392 Add test for using an external client 2021-02-05 01:24:45 +00:00
Vishesh Yadav 5b5dd0a0d4
Merge pull request #4204 from sfc-gh-ljoswiak/features/network-tracer
Add network option to set tracer in fdbclient
2021-01-27 20:00:49 -08:00
Chaoguang Lin f9b38ab682 fix typo 2021-01-26 14:26:01 -08:00
Chaoguang Lin cef53b2b40 clang-format 2021-01-26 12:06:40 -08:00
Chaoguang Lin 5f912f0deb Add snapshot c function 2021-01-26 11:53:35 -08:00
Andrew Noyes 564c70acb4
Merge branch 'master' into anoyes/modernize-use-override 2021-01-25 18:26:18 -08:00
Andrew Noyes 0ef44739ea Fix OPEN_FOR_IDE build in preparation for using clang-tidy 2021-01-26 02:04:11 +00:00
Lukas Joswiak 29c0e05ea6 Clarify naming of distributed tracing options 2021-01-22 17:30:33 -08:00
Chaoguang Lin 9b5fc3b638 Update code 2021-01-21 01:22:53 -08:00
Chaoguang Lin 116f034933 update var names 2021-01-21 01:11:40 -08:00
Chaoguang Lin b4c91e65fe Remove unnecessary header, update var names 2021-01-21 01:03:27 -08:00
Chaoguang Lin e075d5a036 clang-format 2021-01-21 00:59:25 -08:00
Chaoguang Lin ef24acfc66 Add comments 2021-01-21 00:50:46 -08:00
Chaoguang Lin 9cd7c43a2c Add c function fdb_database_force_recovery_with_data_loss 2021-01-21 00:42:23 -08:00
Jingyu Zhou b8ff724232
Merge pull request #4173 from sfc-gh-anoyes/anoyes/fdb-c89-test
Make sure that fdb_c.h is c90 compliant
2021-01-19 10:42:40 -08:00
Andrew Noyes 13afadfae4 Use c90 compatibility for clarity 2021-01-15 02:50:34 +00:00
Chaoguang Lin 8ce9bd4e8e Merge branch 'master' of github.com:apple/foundationdb into add-c-function-for-management-commands 2021-01-14 17:31:26 -08:00
Chaoguang Lin d25b8664e7 clang-format, remove header added by IDE 2021-01-14 17:31:13 -08:00
Chaoguang Lin a44fa7bfe6 Remove unnecessary rapidjson download 2021-01-14 17:17:12 -08:00
Chaoguang Lin 3fb056e9fe Revert "Let rapidjson as a module in cmake"
This reverts commit 5ffb280aad.
2021-01-05 23:53:42 -08:00
Chaoguang Lin 5ffb280aad Let rapidjson as a module in cmake 2021-01-05 09:53:06 -08:00
Chaoguang Lin be11ab7a3d Remove unnecessary depedency 2021-01-04 23:50:23 -08:00
Chaoguang Lin 70e4b88a04 Remove stdbool header 2021-01-03 22:54:56 -08:00
Chaoguang Lin da7b65cd71 Change the interface back to return int64_t 2021-01-03 22:45:09 -08:00
Chaoguang Lin d97782f6d5 Revert python bindings change 2021-01-03 17:27:25 -08:00
Chaoguang Lin 4ed5761d24 Revert java bindings change 2021-01-03 17:24:20 -08:00
Andrew Noyes 9b7c93ca86 Make sure that fdb_c.h is c89 compliant 2020-12-22 10:30:07 -08:00
Chaoguang Lin 3715cf50a2 merge conflict 2020-12-21 18:04:45 -08:00
Jingyu Zhou 0ecfaf138e
Merge pull request #4150 from sfc-gh-ljoswiak/fixes/sps-tracing
Remove "a/" from tracing keys in special-key-space
2020-12-21 13:48:01 -08:00