Commit Graph

2047 Commits

Author SHA1 Message Date
Vaidas Gasiunas 894f555e95
Test loop profiler using API Tester (#7174)
* Api Tester: Specify knobs in the toml file; Test loop profiler

* Gracefully stop the loop profiler thread

* Protect loop profiler thread by mutex

* Create loop  profiler thread only if is not stopped
2023-03-30 23:00:23 +02:00
Vaidas Gasiunas 7870479b66 Improve stability of test_external_client_not_matching_cluster_version_ignore 2023-03-20 17:30:35 -07:00
A.J. Beamon 33d501d36a Avoid potential access of empty optionals when printing errors in the api tester 2023-03-14 10:41:43 -07:00
Vaidas Gasiunas 910fdcd423
Disable python unit tests in sanitizer builds (#9653) 2023-03-11 15:33:56 +01:00
Marian Dvorsky 90048d1e92
Enable fdb_install of fdb_c_shim for sanitizer builds (#9646) 2023-03-10 14:33:59 +01:00
Andrew Hayworth 04cbcdee6b Fix build for ruby bindings
The ruby bindings are not currently installable. We can reproduce this
with a build from source:

```
foundationdb/tmp on  main [$?] via △ v3.25.2
zsh ❯ gem install ./bindings/ruby/fdb-7.3.0.gem
ERROR:  While executing gem ... (Gem::Package::PathError)
    installing into parent path /Users/andrew/projects/foundationdb/LICENSE of /Users/andrew/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/fdb-7.3.0 is not allowed
```

The problem is that the gemspec is interpolating the source directory
into the `files` array - and while this allows the gem to build, it
prevents it from actually being installed.

To fix it, we borrow similar code from the python bindings to copy the
necessary files and license into the build directory before building the
gem. This allows the gem to be installed:

```
foundationdb/tmp on  main [!?] via △ v3.25.2
zsh ❯ gem install ./bindings/ruby/fdb-7.3.0.gem
Successfully installed fdb-7.3.0
Parsing documentation for fdb-7.3.0
Installing ri documentation for fdb-7.3.0
Done installing documentation for fdb after 0 seconds
1 gem installed
```
2023-03-07 10:57:42 -08:00
Andrew Hayworth 55d12fe1fc Allow ruby bindings on arm64
While fixing the gem build, I noticed that the gem will not run on arm64
machines, like the new spiffy M1/M2 MacBooks. On a whim, I tried just
removing that restriction... and it does seem to work:

```
foundationdb/bindings/ruby/lib on  ahayworth/fix-ruby-binding-build [?] via 💎 v3.2.1 took 2s
zsh ❯ pry
[1] pry(main)> require 'fdb'
=> true
[2] pry(main)> FDB.api_version 720
LoadError: FoundationDB API only supported on x86_64 (not arm64)
from /Users/andrew/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/fdb-7.3.0/lib/fdbimpl.rb:40:in `<module:FDBC>'
[3] pry(main)>
```
2023-03-07 10:53:37 -08:00
Josh Slocum e1b620135b Merge branch 'main' into bg_latency_fixes 2023-03-06 09:23:11 -06:00
Junhyun Shim a2a29af56e
Temporarily disable client trace check for older version (#9578)
* Disable client trace check test on older version

Older version doesn't guarantee trace flush upon network::stop()
Comment it out for the time being

* Black-reformat authz and client config tester scripts
2023-03-06 15:36:28 +01:00
Josh Slocum 526134f598 review comments 2023-03-03 13:52:59 -06:00
Vaidas Gasiunas a0e1b4b369 Fixing exported symbols extraction from C headers for Apple build 2023-03-03 14:04:35 +01:00
Vaidas Gasiunas e95ff58b95 Reformat symbolify.py 2023-03-03 14:00:59 +01:00
Josh Slocum fdcb6aed5f add timestamp to bg verbose tester logs 2023-03-02 09:34:40 -06:00
Markus Pilman 5bebb5b4aa
Merge pull request #9492 from sfc-gh-vgasiunas/vgasiunas-api-version-defs
Centralize definition of API Version for Java, Python and C API
2023-02-28 12:04:02 -07:00
Russell Sears 3453c1a7a1 remove dependency on xerrors by replacing deprecated call to "xerrors.As". This allows the golang build to run offline. (This is simpler than adding "go mod vendor" to the developer container build.) 2023-02-27 15:38:58 -06:00
Russell Sears d2af157189 Add support for using pre-packaged jemalloc, doctest_proj, and fix python support for old fdbserver binaries 2023-02-27 15:38:58 -06:00
Russell Sears d02118db67 Add support for using pre-downloaded junit dependencies 2023-02-27 15:38:58 -06:00
Vaidas Gasiunas 8a934c4f93 Fix comment in TestApiVersion 2023-02-27 18:30:50 +01:00
Vaidas Gasiunas e3b3bf9307 Fix formatting in TestApiVersion 2023-02-27 18:27:42 +01:00
Vaidas Gasiunas 83f76b60b9 Define the API version separately for the Java tests that are not executed as a part of the CI 2023-02-27 18:20:11 +01:00
Vaidas Gasiunas 8ddda99036 Fix name of FDB_USE_LATEST_BINDINGS_API_VERSION 2023-02-27 16:53:35 +01:00
Vaidas Gasiunas ddb183e18b Fixing bindingtester 2023-02-27 16:46:01 +01:00
Vaidas Gasiunas ba726fac87 Replace hardcoded API version checks for 720 and 730 2023-02-27 16:18:01 +01:00
Vaidas Gasiunas 1b6ced1a09 Define latest C API version in one place 2023-02-27 15:13:56 +01:00
Vaidas Gasiunas f7e2f0b6ce Define latest python binding API version in one place 2023-02-27 13:12:10 +01:00
Vaidas Gasiunas 7f35b395d3 Define the latest Java bindings API version in one place 2023-02-27 11:53:01 +01:00
Vaidas Gasiunas 402f618180
Default transaction options for report_conflicting_keys and used_during_commit_protection_disable (#9441)
* Introducing default transaction options for report_conflicting_keys and used_during_commit_protection_disable, set the latter option always in Java bindings

* Reformatting TransactionIntegrationTest.java

* Update description of transaction_report_conflicting_keys option

* Remove dependency between mock and real database implementation in RangeQueryTest.java

* Update generated.go after changing desciption of an option

* Small improvements of the TransactionIntegrationTest code
2023-02-23 18:05:01 +01:00
Steve Atherton 23df46773d
Merge pull request #9422 from sfc-gh-satherton/client-read-options
Add transaction option definitions for read priority and read cache
2023-02-22 09:00:25 -08:00
Jingyu Zhou 9a8c346d1a
Merge pull request #9439 from sfc-gh-vgasiunas/vgasiunas-fix-java-getclientstatus-test
Fix Java GetClientStatusIntegrationTest
2023-02-22 08:58:56 -08:00
Josh Slocum bf97c3dbce
adding java tenant blob management test and fixing bug it found (#9428) 2023-02-22 10:52:26 -06:00
Vaidas Gasiunas cd0696e1cd Fix Java GetClientStatus integration test by wait on the future 2023-02-22 12:46:26 +01:00
Steve Atherton 806cef8f2d Update generated.go to reflect new options. 2023-02-22 00:32:08 -08:00
Josh Slocum 958f3b531b
Plumbing blob worker mapping through commit proxy like storage server (#9401)
* Plumbing blob worker mapping through commit proxy like storage server mapping

* review comments

* formatting
2023-02-21 13:21:44 -06:00
sfc-gh-tclinkenbeard 398079db3a Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-20 17:54:06 -08:00
Josh Slocum bfb3ffc509
added c and java apis for granule flush (#9412) 2023-02-20 10:28:11 -06:00
Vaidas Gasiunas 175307a590
Fix determinism in the generated bindingtester API tests (#9420)
* Reformat bindingtester api test generator with black

* Fix determinism in the generated bindingtester API tests
2023-02-20 15:58:51 +01:00
sfc-gh-tclinkenbeard 1aef6cb5f7 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-17 20:41:59 -08:00
Josh Slocum 6c2fb13173
adding wait parameter to blobbify api (#9360)
* adding wait parameter to blobbify api

* formatting

* fixing comment style

* fixing bug and adding debugging

* adding blob ranges unit test

* testing both blobbify cases in cancel

* formatting

* switch to explicit blocking api instead of boolean flag

* remove comments

* format
2023-02-17 12:20:53 -06:00
Josh Slocum c26831ec04
adding version metadata to blob granule file pointers (#9392) 2023-02-16 17:11:11 -06:00
Josh Slocum eefc889389
Add tenant and encryption support to new bg file apis (#9315)
* Add tenant and encryption support to new bg file apis

* formatting

* fixing comment style for linter
2023-02-15 11:48:40 -06:00
Vaidas Gasiunas afc25035f8
Client status report API in Java and python bindings (#9366)
* get_client_status: add to Java bindings

* Add get_client_status in python binding

* Make python unit tests available as ctest

* Fix file name in the copyright header

* Fix library path name for mac

* get_client_status: Minor changes in Java & Python bindings addressing review comments

* Rename fdb_python_unit_tests to unit_tests
2023-02-15 18:00:53 +01:00
Junhyun Shim 380a5aa8e8
Merge pull request #9335 from sfc-gh-jshim/fix-mako-token-reassign-after-reset
Mako: fix token not being reassigned after every reset
2023-02-09 22:14:39 +01:00
Josh Slocum 81c984e48a
adding encryption at rest support to local cluster and api tester (#9325)
* adding encryption at rest support to local cluster and api tester

* adding encrypted variant of bg tenant test and renaming ear
2023-02-09 10:23:17 -06:00
Junhyun Shim 357cec17d8 Mako: fix createNewTransation return value
Should return token instead of tenant name
2023-02-09 16:00:48 +01:00
Junhyun Shim 499a7de718 Mako: add missing token reassignment after transaction reset
Also remove redundant calls to tx.reset() in step functions after OP_COMMIT
(The step function caller is already resetting the object after OP_COMMIT is run successfully)
2023-02-09 13:35:21 +01:00
sfc-gh-tclinkenbeard 09ad864eb5 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-08 11:25:14 -08:00
Junhyun Shim d7d0b658a3
Merge pull request #9314 from sfc-gh-jshim/authz-tenant-name-to-tenant-id
Make Authz use tenant ids instead of tenant names
2023-02-08 20:13:29 +01:00
Josh Slocum ebbd221fe7
formatting files (#9322)
* formatting files

* another file
2023-02-08 13:01:24 -06:00
Josh Slocum 2f8f7515e8
adding java blob granules unit test (#9317)
* adding java blob granules unit test

* reduce sleep and organize imports
2023-02-08 12:02:14 -06:00
Junhyun Shim d32d3dd085 Make token option NOT survive transaction hard resets 2023-02-08 18:12:22 +01:00