216 Commits

Author SHA1 Message Date
Alvin Moore
0c4c93a041 Ensured that the name of the packages within cmake remains the same as that within make 2019-12-16 00:11:52 -08:00
Alvin Moore
413cafe368 Modified compilation and package names to conform to existing compilation options and packaging names
Modifications to existing standards (even when wrong should be made outside of port to cmake)
2019-12-15 07:13:46 -08:00
A.J. Beamon
a84b6b8570 Fix versionstamp ordering in Python3 2019-09-11 10:39:01 -07: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
cbc913f902 When run through external means (such as the binding tester), the size limits tests should not change db level defaults. 2019-07-19 09:03:11 -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
A.J. Beamon
93be69b6a3 Increase the API version to 620. 2019-07-18 10:56:05 -07:00
Jingyu Zhou
14cb21285f Remove futureGetVersion in C binding and FutureVersion in Python binding 2019-07-16 10:46:07 -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
Jingyu Zhou
562bf6511a Fix approximate size calculation 2019-07-12 16:53:37 -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
9c3591ff43 Fix python3 test failure
Both key and value has to be of type bytes.
2019-07-12 10:15:40 -07:00
Jingyu Zhou
2dcc3cfd0a Deprecate fdb_future_get_version for version 620
Use fdb_future_get_int64 in all bindings.
2019-07-11 21:17:31 -07:00
Jingyu Zhou
b2a89c8b77 Address review comments for PR #1756
Use fdb_future_get_int64 for language bindings and get rid of using Version
with getApproximateSize API.
2019-07-11 16:41:29 -07:00
Jingyu Zhou
a8cd25bc46 Fix python3 test failure
Both key and value has to be of type bytes.
2019-07-10 21:55:24 -07:00
Jingyu Zhou
55d1d62ee3 Fix python tests and use 620 version for C test 2019-07-10 15:19:49 -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
Jingyu Zhou
8ef8b59fcc Use ThreadFuture for getApproximateSize
Change return type to int64_t and fix C and Python binding to use the correct
type.
2019-07-10 14:58:07 -07:00
Jingyu Zhou
c91e712576 Add Python txn get_approximate_size API and test 2019-07-10 14:57:39 -07:00
A.J. Beamon
c6df30deb3 Move size_limit.py to size_limit_tests.py 2019-06-28 13:24:56 -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
Alex Miller
40b290b7de If func throws, then ret will never be assigned, and accessed later.
Thus we now initiailize it with None so that it will always have a
value.
2019-06-27 18:57:58 -07:00
Jingyu Zhou
16765c6b67 Fix a comment 2019-06-20 20:52:29 -07:00
Jingyu Zhou
77d5932465 Add a transaction size limit test 2019-06-20 14:14:09 -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
Chris Donati
156962e5bf Fix Versionstamp encoding issue for Value objects
Python's struct.pack does not accept Value objects.
2019-04-02 13:49:58 -07:00
Chris Donati
2d4d219ef2 Improve Python KeySelector representation
Python 2 resolves escape characters when printing byte strings,
which doesn't seem useful in this context.

I replaced __str__ since it defaults to __repr__ and the change
should be suitable for both cases.
2019-04-01 09:18:01 -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
e6e2ea2af6
Merge remote-tracking branch 'upstream/master' into 00775-database-level-tr-options 2019-03-22 14:41:27 -04:00
Alec Grieser
5e8e2ef2a6
rename the function where it is defined as well as where it is called 2019-03-22 13:26:41 -04:00
Alec Grieser
9e15872418
remove test that is now extraneous 2019-03-22 13:20:00 -04:00
A.J. Beamon
001fde718c
fix comments to mark things that throw as throwing rather than not throwing
Co-Authored-By: alecgrieser <alloc@apple.com>
2019-03-22 13:04:11 -04:00
Alec Grieser
4ac3e790ad
modify the reset and timeout option unit tests to handle new on_error cancellation behavior 2019-03-22 12:45:59 -04:00
Alec Grieser
4fff1f6756
add database options to bindingtester stack tester 2019-03-20 11:13:38 -06:00
Jingyu Zhou
1f39da06de
Merge pull request #1268 from jzhou77/cmake_fix
Create tar.gz file for python package
2019-03-11 22:48:16 -07: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
Jingyu Zhou
314e87edfb Create tar.gz file for python package
On Windows, the default package format can be zip, while tar.gz is expected.
2019-03-11 11:10:40 -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
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
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