55 Commits

Author SHA1 Message Date
chaoguang
eacfdf6da3 Add a simple workload, ReportConflictingKeysWorkload, to test correctness of the API and performance overhead added to the resovler. 2019-12-06 16:21:03 -08:00
chaoguang
edf52e8c97 First version for reporting conflicting keys 2019-12-02 13:45:39 -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
A.J. Beamon
93be69b6a3 Increase the API version to 620. 2019-07-18 10:56:05 -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
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
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
d5aaba3b15 Minor code fix 2019-07-10 14:58:07 -07:00
Jingyu Zhou
0ad2d2d16e Add binding test for getApproximateSize API 2019-07-10 14:58:07 -07:00
Jingyu Zhou
c50a675bf0 Add transaction getApproximateSize() API
The size is the summation of expected size of mutations, read conflict ranges,
and write conflict ranges.
2019-07-10 14:51:52 -07:00
Jingyu Zhou
9c2257a0e5 Add transaction size option 2019-06-19 07:45:23 -07:00
Evan Tschannen
cfa46ef48e fix compiler errors 2019-06-06 12:57:46 -07:00
Evan Tschannen
29b96414e2 Merge branch 'release-6.1'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/NativeAPI.actor.cpp
#	fdbserver/Coordination.actor.cpp
#	flow/Arena.h
#	versions.target
2019-06-03 18:49:35 -07:00
Evan Tschannen
2166464c3b changed how printable was called to fix compile errors 2019-05-29 15:58:00 -07:00
A.J. Beamon
5f55f3f613 Replace g_random and g_nondeterministic_random with functions deterministicRandom() and nondeterministicRandom() that return thread_local random number generators. Delete g_debug_random and trace_random. Allow only deterministicRandom() to be seeded, and require it to be seeded from each thread on which it is used. 2019-05-10 14:01:52 -07:00
Andrew Noyes
6207d724f8 Fix all -Wunused-variable warnings 2019-04-15 18:13:00 -07:00
Alec Grieser
4fff1f6756
add database options to bindingtester stack tester 2019-03-20 11:13:38 -06:00
Bhaskar Muppana
89e5be7d70
Resolves #1027: Adding interfaces to Flow bindings (#1215)
* Resolves #1027: Adding interfaces Database, ReadTransaction and Transaction.

* Moving implementations into DatabaseImpl and TransactionImpl.
* Also removed deprecated class Cluster.

As we changed the interfaces, especially how we create transaction, its
going to break the compilation of any app upgrades to this version of
flow bindings. It doesn't change any of the fdb_c APIs. So, backward
compatilbity with old servers is preserved through multi-version client.

* Fixing indentation

* Fixing format according to review comments.
2019-03-05 13:09:26 -08:00
Vishesh Yadav
907446d0ce Merge remote-tracking branch 'apple/master' into task/tls-upgrade 2019-02-14 11:37:38 -08:00
Andrew Noyes
067a445e06 Replace unused _ variables with wait(success(...)) 2019-02-12 17:30:30 -08:00
Vishesh Yadav
e8e01b2406 Remove unused localAddress parameter from newNet2 and Net2 classes 2018-12-13 13:36:52 -08:00
A.J. Beamon
890a0f3e82 Merge branch 'master' into remove-cluster-from-bindings
# Conflicts:
#	bindings/flow/fdb_flow.actor.cpp
2018-11-26 12:01:03 -08:00
A.J. Beamon
d5357d2439 Update all of the bindings to use the new C API and deprecate or remove unneeded parts of their APIs. 2018-10-02 15:28:46 -07:00
A.J. Beamon
983a5bd390 Bump API version to 610 2018-09-26 10:58:07 -07:00
Alex Miller
535b5701e5 Rewrite all Void _ = wait(...) -> wait(...).
This takes advantage of the new actorcompiler functionality to avoid
having duplicate definitions of `Void _` when trying to feed the
un-actorompiled source through clang.
2018-08-14 15:50:26 -07:00
Alec Grieser
46b8612566
bump API version from 520 to 600 2018-07-09 11:00:57 -07:00
A.J. Beamon
e5488419cc Attempt to normalize trace events:
* Detail names now all start with an uppercase character and contain no underscores. Ideally these should be head-first camel case, though that was harder to check.
* Type names have the same rules, except they allow one underscore (to support a usage pattern Context_Type). The first character after the underscore is also uppercase.
* Use seconds instead of milliseconds in details.

Added a check when events are logged in simulation that logs a message to stderr if the first two rules above aren't followed.

This probably doesn't address every instance of the above problems, but all of the events I was able to hit in simulation pass the check.
2018-06-08 11:11:08 -07:00
A.J. Beamon
026458baf3 Merge release-5.2 into master 2018-05-23 15:32:56 -07:00
A.J. Beamon
07273fb530 Add flag to disable directory snapshot ops in the binding tester and use it in the flow bindings. 2018-05-08 16:38:10 -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
434d896627 removed dev null is web scale from flow tester 2018-04-27 16:14:26 -07:00
Alec Grieser
b18f6200db
remove references to read_ahead_disable transaction option in bindings tests 2018-04-11 11:43:01 -07:00
A.J. Beamon
1529a44f78
Merge pull request #72 from alecgrieser/33838833-determine-api-version
Adds convenience methods to determine if an API version has been set
2018-03-20 12:07:53 -07:00
Alec Grieser
28b6761d53
add an ASSERT(false) to make sure we do not have a working FDB API instance before setting the API version 2018-03-20 11:47:27 -07:00
Alec Grieser
0853fcb052
switch to using zu for some size_t variables in printf 2018-03-14 18:07:05 -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
1738bd603b add APPEND_IF_FITS to the bindingtester as an additional atomic op 2018-03-02 17:43:39 -08: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
Evan Tschannen
93be673e20 Merge pull request #192 from cie/bindingtester-ro-lock-aware-option
<rdar://problem/34579176> Transaction option for read-only lock aware
2017-10-27 17:19:40 -07: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
Balachandar Namasivayam
8e0bea2795 Update API_VERSION from 500 to 510 2017-10-11 13:49:38 -07:00
Balachandar Namasivayam
eeebf10030 Modified existing behavior of MIN and AND atomic ops. The new behavior results in a 'SET' if the atomic op is performed on a non -existing key.
Added new atomic ops ByteMin and ByteMax that does lexicographic comparison of byte strings.
2017-10-10 13:02:22 -07:00
A.J. Beamon
d30c730f75 Add the ability to access name and description in Error. Update error descriptions. 2017-09-28 12:35:03 -07:00