51 Commits

Author SHA1 Message Date
A.J. Beamon
48447c2788 Add the tenant management module to CMakeLists. Don't test tenants before API version 710. 2022-03-25 14:35:16 -07:00
A.J. Beamon
b4cfcc10d3 Move Python tenant management to its own module 2022-03-25 11:36:35 -07:00
A.J. Beamon
77ce0f4fc7 Add a unit test in Python to exercise some of the tenant code. Add some comments to the allocate and delete tenant implementations. 2022-03-23 15:50:06 -07:00
A.J. Beamon
8b92d3fccd Use special keys to create/delete tenants 2022-03-23 14:46:56 -07:00
Jon Fu
8e848f16df Support tuples in python tenants 2022-03-23 14:46:55 -07:00
A.J. Beamon
ce03f5783d Add tenant support to Python 2022-03-23 14:46:55 -07:00
Xin Dong
00e9f8b9bf Added bindings tests; Protected new SSI endpoints under new 7.0 ProtocolVersion 2020-07-02 14:05:12 -07:00
Alex Miller
4b65da6db7 Merge remote-tracking branch 'origin/pyfdbgenerators' into pyfdbgenerators 2020-05-11 13:20:27 -07:00
Alex Miller
ffc36dcf45 7.0 became 6.3, so change API versions accordingly 2020-05-11 11:53:34 -07:00
Alex Miller
7b87cc3f88 Merge remote-tracking branch 'upstream/release-6.3' into pyfdbgenerators 2020-05-11 11:11:10 -07:00
Xin Dong
338c62b176 Moved up the new test cases to comply the convention there. 2020-03-24 09:53:52 -07:00
Xin Dong
527686ffe0 Added a test in API tests for the new API(getEstimagedRangeSize). 2020-03-24 09:26:56 -07:00
Alex Miller
986905f3dd
Update bindings/python/tests/tester.py
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-02-06 16:57:14 -08:00
Alex Miller
4ceae8c83a Ban generators in 7.0.0 2020-01-23 16:40:14 -08:00
Alex Miller
62baf6d121 Merge remote-tracking branch 'upstream/master' into pyfdbgenerators 2020-01-22 18:05:05 -08:00
Andrew Noyes
95c6c9618e Update documentation and testers for new options 2019-09-05 16:40:12 -07:00
Evan Tschannen
b509a441e7 Merge branch 'master' into feature-skip-confirm
# Conflicts:
#	bindings/flow/tester/Tester.actor.cpp
#	bindings/go/src/_stacktester/stacktester.go
#	bindings/java/src/test/com/apple/foundationdb/test/AsyncStackTester.java
#	bindings/java/src/test/com/apple/foundationdb/test/StackTester.java
#	bindings/python/tests/tester.py
#	bindings/ruby/tests/tester.rb
#	documentation/sphinx/source/api-c.rst
#	documentation/sphinx/source/api-python.rst
#	documentation/sphinx/source/api-ruby.rst
#	documentation/sphinx/source/data-modeling.rst
#	documentation/sphinx/source/developer-guide.rst
#	fdbclient/vexillographer/fdb.options
#	fdbserver/MasterProxyServer.actor.cpp
2019-07-27 15:08:13 -07:00
A.J. Beamon
bc5c65e5ab
Merge pull request #1756 from jzhou77/db-option
Add transaction getApproximateSize() API
2019-07-19 08:33:24 -07:00
Evan Tschannen
c4c9e6cee7 fixed compiler errors 2019-07-12 18:28:41 -07:00
Evan Tschannen
02de53160d only skip confirm epoch live if CAUSAL_READ_RISKY is enabled
time checked on the proxy should be less than the time waited by the master to account for clock speed differences
setting REQUIRED_MIN_RECOVERY_DURATION and ENFORCED_MIN_RECOVERY_DURATION to 0 will go back to the old behavior
2019-07-12 17:58:16 -07:00
A.J. Beamon
d5051b08dd Make trace event field lengths (and total event sizes) default knobified and configurable. Add a transaction option to control the field length of transaction debug logging. Make the program start command line field less likely to be truncated. 2019-07-12 16:12:35 -07:00
Jingyu Zhou
990c205f70 Push a string to stack for getApproximateSize in binding testers
Because different bindings may issue different limit for get_range calls, it is
impossible to return the same size value for getApproximateSize API. So we just
push a string to make sure binding test results are the same. Use another unit
test to make sure the sizes got back are monotonically increasing.
2019-07-12 14:15:20 -07:00
Jingyu Zhou
20ed0bf802 Add get_approximate_size python unit test 2019-07-10 15:03:24 -07:00
Jingyu Zhou
5d1437c8e0 Push int directly to stack for getApproximateSize 2019-07-10 15:00:50 -07:00
Jingyu Zhou
0802df2c8f Convert size from int to string before pushing onto stack
Using int is troublesome because the size of int can be different from the
desired 64 bits. So, using a string representation seems to be more consistent.
2019-07-10 14:58:35 -07:00
Jingyu Zhou
9d12843a26 Push size as tuple to stack 2019-07-10 14:58:35 -07:00
Jingyu Zhou
0ad2d2d16e Add binding test for getApproximateSize API 2019-07-10 14:58:07 -07:00
A.J. Beamon
2035b36257 Make default and persistent options specifyable via annotations to fdb.options. Fix some issues with persisting these options in the multi-version client. Make size limit option not persistent. 2019-06-28 13:24:32 -07:00
Jingyu Zhou
9c2257a0e5 Add transaction size option 2019-06-19 07:45:23 -07:00
Alex Miller
4098eb721e Upon reflection, I think this test was doing nothing. 2019-06-19 02:35:07 -07:00
Alex Miller
e8f994965d python: Post-API Version 620, @fdb.transactional on a generator will throw.
Previously, writing code like

    @fdb.transactional
    def foo(tr):
      yield tr.get('a')
      yield tr.get('b')

    print(foo(db))

was accepted by the python bindings, but had surprising semantics.  The
function returned by @fdb.transactional opens a transaction, runs foo(),
commits the transaction, and then returns the generator returned by foo().
This generator then uses the committed transaction.  This worked before API
version 410 (FDB 4.1), and hasn't worked since.  This will also be a problem if
a closure is returned from foo() that contains `tr`, but it's much harder to
check that in Python.

Rather than allow users to hit an unexpected and mysterious "Operation issued
while a commit was outstanding" exception, it's nicer to explicitly highlight
this problem as soon as we can.  Unfortunately, we have no way to know that a
function will return a generator until we call it, so that's the soonest we can
give a more informative error.
2019-06-19 01:38:35 -07:00
Alec Grieser
63f23c0818
add tests for new database behavior to python scripted tests
This also fixes the behavior for the tests of the options which are no longer reset when on_error is called.
2019-03-22 15:10:08 -04:00
Alec Grieser
4fff1f6756
add database options to bindingtester stack tester 2019-03-20 11:13:38 -06:00
A.J. Beamon
083a73b0d2 In our binding testers, stop using the TRANSACTION_LOGGING_ENABLE option and switch to the DEBUG_TRANSACTION_IDENTIFIER and LOG_TRANSACTION options 2019-03-11 13:35:43 -07:00
A.J. Beamon
8669aea22b Python: creating a SingleFloat with an integer didn't work. Updated the tester to exercise this path. 2019-03-01 09:25:53 -08:00
A.J. Beamon
5db549c203 Changes to print output 2018-05-18 16:24:03 -07:00
Alec Grieser
47c9e4f923
update bindings and bindingtester that uses versionstamps to use new protocol
issue #148
2018-05-08 08:57:09 -07:00
Alec Grieser
6ee14bbb93
expose second versionstamp value type through vexillographer and add support in bindings and bindingtester 2018-05-08 08:57:09 -07:00
Alec Grieser
a1faaafca3
Merge remote-tracking branch 'upstream/release-5.1' into merge-release-5.1 2018-04-27 16:38:18 -07:00
Evan Tschannen
d67b0e7d54 removed binding tester references to dev_null_is_web_scale 2018-04-26 14:36:17 -07:00
Alec Grieser
b18f6200db
remove references to read_ahead_disable transaction option in bindings tests 2018-04-11 11:43:01 -07:00
Alec Grieser
8dc05b3d81
added methods to (1) determine if an API version has been selected and (2) get it in flow, go, java, python, and ruby bindings
rdar://problem/33838833
2018-03-14 12:26:00 -07:00
Alec Grieser
0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
Alec Grieser
e104c21160 tweaks to fix some places where python format rewrite looked kind of bad 2018-02-07 16:59:59 -08:00
Alec Grieser
57986cfe00 format python files to be roughtly pep8 compliant 2018-01-24 19:06:58 -08:00
A.J. Beamon
d174e05bac Merge pull request #180 from cie/bindings-versionstamps-in-tuples
<rdar://problem/25560444> [Feature] Versionstamped keys and tuple/directory incompatibility
2017-11-06 16:39:17 -08:00
Alec Grieser
8cad278da1 add set_read_lock_aware to atomic ops unit tests in binding tester 2017-10-25 15:14:18 -07:00
Alec Grieser
5e44aa06e4 python tester now sometimes uses has_incomplete_versionstamp 2017-10-11 11:00:16 -07:00
Alec Grieser
bd6dabacdb added versionstamp type to python tuple layer and updated bindingtester to test it 2017-09-28 12:03:40 -07:00
A.J. Beamon
fc468f682b Merge branch 'release-5.0' into bindings-tuple-improvements
# Conflicts:
#	bindings/java/src-completable/main/com/apple/apple/foundationdbdb/tuple/Tuple.java
2017-05-26 12:33:33 -07:00