A.J. Beamon
88e765b9e6
Fix: the binding tester was taking the min() of a list of tuples, but that could fail if the tuple contained incomparable types. Instead, use fdb.tuple.compare() to do the comparison.
2019-06-17 11:43:58 -07:00
Kao Makino
899db09a87
Fix retry logic
2019-06-12 12:38:07 -07:00
Evan Tschannen
566f546e04
Merge pull request #1646 from kaomakino/kaomakino/mako
...
mako (C API) benchmark
2019-06-11 13:36:06 -07:00
Andrew Noyes
f5e7b8b165
Support pkg-config
2019-06-09 15:21:36 -07:00
Andrew Noyes
9af6326e1b
Make find_package work
2019-06-09 15:21:36 -07:00
Andrew Noyes
882523330c
include(/path/to/cmake/file) now works for fdb_c
2019-06-09 15:21:36 -07:00
Andrew Noyes
cabe41626c
Prepare for exporting fdb_c
2019-06-09 15:21:36 -07:00
Andrew Noyes
2b07a0559e
Install headers in foundationdb dir
2019-06-09 15:21:36 -07:00
Kao Makino
431513c654
Make mako sources a variable
2019-06-06 16:58:11 -07:00
Kao Makino
db300f71c5
Build mako automatically
2019-06-06 14:53:26 -07:00
Evan Tschannen
5bdf5aaeb6
Merge pull request #1662 from etschannen/master
...
Merge 6.1 into master
2019-06-06 13:57:34 -07:00
Evan Tschannen
cfa46ef48e
fix compiler errors
2019-06-06 12:57:46 -07:00
Kao Makino
c812224ddb
Adjust mako.rst formatting
2019-06-05 17:26:40 -07:00
Kao Makino
d2d5d52dca
add mako.rst
2019-06-05 17:21:26 -07:00
Kao Makino
8a3facbb77
Add the error handling for commits
2019-06-05 13:19:53 -07:00
A.J. Beamon
dbfa746494
Don't set the deterministic random seed with platform::getRandomSeed since that is what it does by default.
2019-06-05 11:48:29 -07:00
Kao Makino
1c7fa2bc7a
Update build instruction
2019-06-04 17:38:05 -07:00
Kao Makino
42c14dcdc2
Fix build stuff
2019-06-04 17:35:47 -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
A.J. Beamon
b30fe29c9f
Merge pull request #1633 from pjvds/directory-errors
...
change common directory errors for easy comparison
2019-05-31 15:19:21 -07:00
Pieter Joost van de Sande
b5773d2f6b
fix spelling error
...
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-05-30 18:16:29 +02:00
Kao Makino
ae0a5388c9
mako creation
2019-05-30 09:01:22 -07:00
Evan Tschannen
2166464c3b
changed how printable was called to fix compile errors
2019-05-29 15:58:00 -07:00
Evan Tschannen
362c2bf1e6
improved the cpu efficiency of printable
2019-05-29 14:55:45 -07:00
Pieter Joost
19de1ae229
include errors in the dir layer documentation
2019-05-29 11:15:00 +02:00
A.J. Beamon
764ca2971c
Merge branch 'master' into thread-safe-random-number-generation
2019-05-23 18:49:49 -07:00
A.J. Beamon
296adada93
Use c++11 thread_local instead of redefining it to platform specific variants.
2019-05-23 18:35:45 -07:00
A.J. Beamon
603721e125
Merge branch 'master' into thread-safe-random-number-generation
...
# Conflicts:
# fdbclient/ManagementAPI.actor.cpp
# fdbrpc/AsyncFileCached.actor.h
# fdbrpc/genericactors.actor.cpp
# fdbrpc/sim2.actor.cpp
# fdbserver/DiskQueue.actor.cpp
# fdbserver/workloads/BulkSetup.actor.h
# flow/ActorCollection.actor.cpp
# flow/Net2.actor.cpp
# flow/Trace.cpp
# flow/flow.cpp
2019-05-23 08:35:47 -07:00
Pieter Joost van de Sande
7debb23cf6
change common errors for easy comparison
2019-05-23 13:40:00 +02:00
A.J. Beamon
250955d18c
Update required Go version in the Go binding's README.md
2019-05-22 08:54:42 -07:00
A.J. Beamon
2e09a214d9
Merge pull request #1451 from segmentio/master
...
bindings/go: use keepalive(f) on futures when they're used
2019-05-21 13:21:50 -07:00
Alec Grieser
76333ad87a
Resolves #1612 : Go bindings: Use single line comments in CGO
...
This converts the multi-line comments for C imports to single line comments, which at the least is more idiomatic.
2019-05-20 13:49:22 -07:00
Alvin Moore
3acaa7343e
Enabled C++17 for all Windows projects
...
Set Visual Studio version to 2017 (first version to support C++17)
2019-05-16 17:44:13 -07:00
Alvin Moore
94aed513c7
Switched Windows tools within projects to 2017
2019-05-16 15:05:11 -07:00
Alvin Moore
bfee87bff6
Merge pull request #1567 from AlvinMooreSr/build-docker
...
Updated Build Docker
2019-05-15 15:01:22 -07:00
Alvin Moore
2ed1176d6a
Add support for statically linking stdc++ to libfdbc_c on Centos while using custom hack for Ubuntu
...
Set compilationn flag to c++17
2019-05-15 02:37:16 -07:00
Alvin Moore
b0362a654e
Removed the debug compilation command display
2019-05-13 23:30:41 -07:00
Alvin Moore
7e4da69343
Added stdc++ library to link libraries
2019-05-13 23:25:00 -07:00
Alvin Moore
4d32909837
Moved standard libraries to LDFLAGS rather than LIBS
2019-05-10 15:22:41 -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
Colin
9a85c19063
bindings/go: fix generated int64ToBytes calls
2019-05-10 15:20:59 -05:00
Colin Adler
93c1dced16
bindings/go: add labels for futures
2019-05-10 15:18:44 -05:00
Colin Adler
0d7748d59f
bindings/go: use binary.LittleEndian.PutUint64 instead of binary.Write
...
Benchmarks can be found in bindings/go/bench
2019-05-06 15:48:28 -05:00
Colin Adler
8033a0e717
bindings/go: format lines over 120 characters long
2019-05-06 15:37:58 -05:00
Austin Seipp
ca83a80168
bindings/c: fix some print/scan format warnings
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-06 13:35:29 -07:00
Austin Seipp
aab32eb855
bindings/flow: fix some print/scan format warnings
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-06 13:35:29 -07:00
Alvin Moore
648fc8ec7c
Merge pull request #1472 from mpilman/fixes/no-libfdbc-in-jar
...
Remove fdb_c from fat-jar
2019-05-01 14:23:56 -07:00
Evan Tschannen
2d5043c665
Merge branch 'release-6.1'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# versions.target
2019-04-30 18:27:04 -07:00
Alvin Moore
8badc2e505
Merge pull request #1338 from mpilman/features/stripped-binaries
...
Strip debug symbols with `make packages`
2019-04-25 12:02:10 -07:00
Trevor Clinkenbeard
9fea60675f
Fix comments to use transaction_too_old instead of past_version
2019-04-24 18:50:57 -07:00
Alvin Moore
5479baa493
Modified syntax to support python 2.6
2019-04-24 13:14:53 -07:00
mpilman
abb68cba92
Remove fdb_c from fat-jar
...
Fixes #1460
2019-04-18 13:26:27 -07:00
Andrew Noyes
6207d724f8
Fix all -Wunused-variable warnings
2019-04-15 18:13:00 -07:00
Evan Tschannen
cd5c9d91fa
Merge pull request #1443 from etschannen/master
...
Merge 6.1 into master
2019-04-10 17:43:07 -07:00
Evan Tschannen
21c0ba555c
Merge branch 'release-6.1'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# versions.target
2019-04-08 18:38:42 -07:00
A.J. Beamon
35cf87007c
Update bindings/c/fdb_c.cpp
2019-04-08 14:49:10 -07:00
A.J. Beamon
a7288e1325
Throw process_behind instead of future_version when all storage nodes on a team are behind. process_behind gets the same backoff behavior as not_committed. Add proxy_memory_limit_exceeded to the retryable predicate.
2019-04-08 14:21:24 -07:00
Markus Pilman
101a05ae77
Merge branch 'master' into features/client-simulator
2019-04-03 10:03:56 -08:00
Amir Abu Shareb
d6a4a0a0bb
bindings/go: keep futures alive on use
2019-04-03 18:47:18 +03:00
Evan Tschannen
39c595223b
Merge branch 'release-6.1'
2019-04-02 22:30:02 -07:00
Evan Tschannen
e5606589bb
Merge pull request #1405 from etschannen/release-6.1
...
Update documentation and protocol version for release 6.1.0
2019-04-02 18:40:16 -07:00
Evan Tschannen
985e1de467
Update documentation and protocol version for release 6.1.0
2019-04-02 18:39:24 -07:00
mpilman
160949d071
Remove unnecessary function
2019-04-02 16:28:34 -07:00
mpilman
d38efac7f8
minor code cleanup
2019-04-02 16:23:36 -07:00
Alvin Moore
b3450af8a7
Merge pull request #1338 from mpilman/features/stripped-binaries
...
Strip debug symbols with `make packages`
2019-04-02 15:03:37 -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
mpilman
371a41dbba
Allow classPath to be modified at runtime
2019-04-02 11:56:40 -07:00
Amir Abu Shareb
1a0bee4937
bindings/go: move release_memory() calls ( #1400 )
2019-04-02 20:58:49 +03:00
mpilman
6facfa931b
fixed weird encoding issue
2019-04-02 10:32:09 -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
mpilman
e23e63c6ac
Implemented JavaWorkload
...
This change allows a user to write a workload in Java.
The way this is implemented is by creating a JVM within the
simulator and calling the corresponding workload class. A
workload can then run in the simulator or on a testing cluster.
If the workload is executed within the simulator, the resulting
test will not be deterministic anymore as it will execute in a
different thread (and even without that it is not clear, whether
we could get determinism as the JVM does a lot of stuff that are
not deterministic).
This is intendet to get better testing of the Java client and
layer authors can use the simulator to test their layers on a single
machine but they can still simulate failing machines etc.
2019-03-31 17:57:43 -07:00
Chris Donati
f1331dbac6
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-03-31 11:54:36 -07:00
A.J. Beamon
f363bdb007
Update documentation about batch priority transactions
2019-03-26 15:45:38 -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
Alec Grieser
1342cc7f48
update generated.go after vexillographer change (docs only)
2019-03-22 13:12:10 -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
64e45e6826
retry limit and max delay transaction options are no longer reset after onError
2019-03-21 18:50:02 -04:00
Alec Grieser
22f592ce6e
reset the timeout only if the API version is less than 610 to allow transactions with longer timeouts than the database default
2019-03-21 16:47:12 -04:00
Evan Tschannen
5b8229160c
Merge pull request #1317 from alecgrieser/01186-java-malformed-utf16
...
Fixes #1186 : Tuples: Malformed UTF-16 treated differently in Java and Python
2019-03-21 10:24:44 -07:00
mpilman
48f3e65bdf
Strip debug symbols with `make packages`
...
When compiling on Linux/MacOS `make packages` will now create
a `lib` and a `bin` directory in the packages directory. In there
it will put stripped versions of all executables and shared
libraries (i.e. the binaries without debug symbols).
If this is run on Linux, it will additionally copy the debug symbols
of all executables into .debug files.
2019-03-20 20:27:10 -07:00
Alec Grieser
4fff1f6756
add database options to bindingtester stack tester
2019-03-20 11:13:38 -06:00
Alec Grieser
5f73b7d6ae
Resolves #775 : Support setting Transaction options at the Database level
...
This selects a few useful transaction options that users may want to set for every transaction and adds them to the database options.
2019-03-20 11:13:38 -06:00
Andrew Noyes
fdde63bbdb
Remove EXPORT since it's broken and unnecessary
2019-03-19 16:28:42 -07:00
Alec Grieser
253597466c
revert temporary testing changes
2019-03-18 13:00:59 -07:00
Alec Grieser
ff4386f4e4
TuplePerformanceTester no longer generates malformed UTF-16
2019-03-18 09:43:31 -07:00
Alec Grieser
715c2c980d
Fixes #1186 : Tuples: Malformed UTF-16 treated differently in Java and Python
...
Technically, they are still treated differently in Java and Python, but now, Java throws an exception if it encounters malformed UTF-16 to avoid serializing things in ways that it cannot deserialize. It also now throws an error when reading malformed UTF-8, which I think is safer as it stops it from accidentally doing something like reading bytes and then writing it back but accidentally writing to the wrong spot, but that might be a mistake.
2019-03-18 09:19:54 -07:00
ravilution
6161144788
Fixing the Tutorials Link
...
Fixing the Tutorials link to point to GO version of the tutorials
2019-03-17 12:21:03 -05:00
A.J. Beamon
98f8fa62e9
Update generated.go
2019-03-14 15:05:36 -07:00
Xin Dong
636d2ca631
Merge pull request #1207 from alecgrieser/tuple-performance-cache-packed
...
Java: Tuple serialization/deserialization uses fewer allocations
2019-03-13 15:53:52 -07: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
Alec Grieser
d9e9e0c521
use bitwise or instead of addition when reconsituting long
2019-03-11 18:26:08 -07:00
Balachandar Namasivayam
36c12cd749
Add missing definitions.
2019-03-11 17:49:03 -07:00
Balachandar Namasivayam
880e8643d1
Fix Windows link errors
2019-03-11 17:49:03 -07:00
Alec Grieser
7340298202
remove debugging printing that was accidentally added
2019-03-11 16:57:36 -07:00
Alec Grieser
f66ddb13c2
rewrite replace without a buffer to use replace with a buffer to first get length
2019-03-11 16:57:36 -07:00
Alec Grieser
75e475563a
clarify comments and be more strict about using UUID_BYTES constant
2019-03-11 16:57:36 -07:00
Alec Grieser
40aa2ba6f0
CMakeLists alphabetization and Javadoc improvements
2019-03-11 16:57:36 -07:00
Alec Grieser
39fd30330f
memoize incomplete versionstamp information in Tuples ; add more tests
2019-03-11 16:55:01 -07:00
Alec Grieser
663d750e1d
pack Tuples with a single byte array allocation of the right size
2019-03-11 16:55:01 -07:00
Alec Grieser
a74dfa5487
compare strings by unicode codepoint without copying
2019-03-11 16:55:01 -07:00
Alec Grieser
e9771364d7
various Java tuple performance tweaks
...
These include:
* Memoizing packed representations within Tuples
* Using longs instead of BigIntegers if possible
* As much as possible sticking to manipulating primitive types when using floats/doubles
2019-03-11 16:55:00 -07:00
Alec Grieser
e6ce0ebd27
improve tuple performance tester for more types and add serialization check in TupleTest
2019-03-11 16:55:00 -07:00
Alec Grieser
78ff3d92c1
memoize the packed Tuple representation
2019-03-11 16:55:00 -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
Alec Grieser
1ac8ecf55e
Merge pull request #1187 from ryanworl/bindings/go-tuple-layer-versionstamps
...
Add Versionstamp support to the Go Tuple layer
2019-03-11 12:36:47 -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
4941d6dc3c
Merge pull request #1212 from alecgrieser/00719-read-transaction-set-read-version
...
Java: Move a few methods relevant to read-only transactions to `ReadTransaction`
2019-03-11 09:49:57 -07:00
Ryan Worl
92167fd03f
handle incomplete versionstamp attempting to be packed into vanilla tuple
2019-03-09 11:11:22 -05:00
Ryan Worl
8066556753
address review comments and bugs after running binding tester compared to python bindings
2019-03-09 10:48:22 -05:00
mpilman
2537f26de6
First implementaion of more user-friendly cpack
...
Up unto here this code is only very rudiemantery tested.
This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.
In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.
Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
Alec Grieser
83e4b966d5
Resolves #1235 : Java: FDBExceptions are created successful operation completion ( #1236 )
...
The native function `NativeFuture::Future_getError` now returns `null` when the error code is 0 instead of an `FDBException` with a "Success" message and an error code of 0. This was only used in two places within the codebase; those two places now check for `null` errors and treats them like successes.
2019-03-06 18:34:36 -08:00
Ryan Worl
77f7c0721f
revent this again because my environment is dumb
2019-03-06 18:27:43 -05:00
Ryan Worl
2fbc7522e4
review feedback: fix bindingtester test, add comments to versionstamp and other structures, handle nested tuples, handle prefix []byte in PackWithVersionstamp
2019-03-06 18:25:02 -05:00
Alex Miller
c6a65389ae
Remove noexcept macro and replace with BOOST_NOEXCEPT.
...
BOOST_NOEXCEPT does what the noexcept macro was supposed to do, but in a
way that is correctly maintained over time.
2019-03-05 22:06:12 -08:00
Alex Miller
af617d68e6
boost 1.52.0 -> 1.67.0 in all vcxproj files
2019-03-05 22:06:12 -08: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
Alec Grieser
eb8a085cf9
conditional add read conflict methods now return whether they added the conflict range ; test added for snapshot transactions
2019-03-02 09:48:53 -08:00
Alec Grieser
7ef189701e
Resolves #719 : Support `.setReadVersion()` on `ReadTransaction`
2019-03-02 09:48:49 -08:00
Alec Grieser
c8b9c998e9
Merge pull request #1216 from ajbeamon/fix-python-singlefloat-with-int
...
Python: creating a SingleFloat with an integer didn't work.
2019-03-01 14:08:04 -08: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
d08aad7fc4
Old build system now working on both docker images
2019-02-28 14:24:52 -08:00
mpilman
d0c06ec8c0
Make old build system work on build/cmake/Dockerfile
2019-02-28 14:24:52 -08:00
mpilman
a5122dc83c
Don't build go bindings in IDE mode
...
Fixes #1171
2019-02-26 18:03:08 -08:00
Ryan Worl
05d347e194
Push byte slice instead of string onto the stack
2019-02-25 19:08:29 -05:00
Ryan Worl
4dd04862c7
Flatten if statements
2019-02-25 19:05:45 -05:00
Ryan Worl
292bb6ab0f
Make `versionstampLength` constant equal Versionstamp actual length.
2019-02-25 18:57:28 -05:00
Ryan Worl
b2f26224b9
Revert unintentional change back to old API
2019-02-25 18:41:57 -05:00
Ryan Worl
7ac098dc0d
Add Versionstamp support to the Go Tuple layer
2019-02-25 18:39:14 -05:00
A.J. Beamon
ad8bfc1b8f
Merge pull request #1166 from alecgrieser/tuple-performance-improvements
...
Java Tuples: Hash and equality improvements
2019-02-25 15:10:45 -05:00
mpilman
6c1f64ed22
Fixed c binding tests for IDE
2019-02-19 15:16:59 -08:00
mpilman
9b14aeb156
Tell cmake not to link/install on ide build
2019-02-19 15:16:59 -08:00
Alec Grieser
9bf4940249
Memoize Tuple hashes and do not pack for equality check
2019-02-18 08:54:25 -08:00
Alec Grieser
c6947db091
Add a basic performance tester of Java Tuples
2019-02-18 08:54:21 -08:00
Vishesh Yadav
e05b53d755
Merge remote-tracking branch 'apple/master' into task/tls-upgrade
2019-02-15 20:37:07 -08:00
mpilman
0bbbfb6ee3
Address Andrew's review comments
2019-02-15 00:01:42 -08:00
mpilman
0754ce1a43
fixef formatting of go code
2019-02-15 00:01:42 -08:00
mpilman
46119dce0d
Disabled c-bindin tests on Windows
2019-02-15 00:01:42 -08:00
mpilman
4266429dcf
Fixed python dependency
2019-02-15 00:01:42 -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
6529e2790b
several minor bug fixes
2019-02-15 00:01:42 -08:00
mpilman
ffaaaf5028
build fat-jar with packages
...
The packages target will now build the fat jar and
it will place the jar file into the packages directory
2019-02-15 00:01:42 -08:00
mpilman
458c14ffcd
Ruby bindings for cmake + gem generation
...
make packages will now also generate a gem file and
put it into the packages directory within the build directory
2019-02-15 00:01:42 -08:00
mpilman
7ae3cc8ce4
Fix go binding dependency paths
...
Before this commit, the go bindings would
always be recompiled
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
mpilman
50a01fb8ce
Build flow-binding
2019-02-15 00:01:42 -08:00
mpilman
733ba0a751
Build c_performance_test and rwy_benchmark
...
addresses #1035
2019-02-15 00:01:42 -08:00
mpilman
75f692b931
simplify actorcompiler and target to compile coveragetool
2019-02-15 00:01:42 -08:00
mpilman
70545e07d8
Added documentation on how to build the jar-files
2019-02-15 00:01:42 -08:00
mpilman
1ed149e624
Add option to build fat jar
2019-02-15 00:01:42 -08:00
mpilman
f601aa7407
Make Java an optional dependency
2019-02-15 00:01:42 -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
Colin Adler
1b04f9a71a
fixup! fixup! fixup! fixup! Add support for modules
2019-02-12 11:27:43 -08:00
Colin Adler
8be2de8cc2
fixup! fixup! fixup! Add support for modules
2019-02-12 11:27:43 -08:00
Colin Adler
789bc6d4ee
fixup! fixup! Add support for modules
2019-02-12 11:27:43 -08:00
Colin Adler
676e1ceb73
fixup! Add support for modules
2019-02-12 11:27:43 -08:00
Colin Adler
dc38c68c76
Add support for modules
...
Because of how fdb-go-install.sh functions, it's necessary to use to use
the folder that the script installs to, located at
$GOPATH/src/github.com/apple/foundationdb/bindings/go. Since modules
will use the version from
$GOPATH/pkg/mod/github.com/apple/foundationdb/bindings/go and has a checksum of it
stored in go.sum, it's not possible to use this package currently with modules enabled.
I believe the solution to this problem is to use replace directives:
https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive
After using the install script, adding
`replace github.com/apple/foundationdb/bindings/go => $GOPATH/src/github.com/apple/foundationdb/bindings/go`
will allow Go programs to be built normally with modules.
Note: $GOPATH cannot be used directly and must be expanded into an absolute
or relative path.
This go.mod must be added for replace directives to work correctly.
2019-02-12 11:27:43 -08:00
Colin
2f83e595cf
Disable modules in Golang binding install script
2019-02-12 11:27:43 -08:00
A.J. Beamon
32b3c2ad69
Add comment for the code where we replace the semaphore in the exception handler
2019-02-11 10:35:29 -08:00
A.J. Beamon
5bf7e72fc5
If the semaphore acquire is interrupted (e.g. by a signal), then replace it with a new one so that subsequent futures will still work.
2019-02-11 10:22:19 -08:00
A.J. Beamon
8960670694
Python now blocks on a future in Python rather than in native code to preserve Python's signal handling functionality. In particular, this means that ctrl-c will work in the REPL.
2019-02-08 13:51:01 -08:00
A.J. Beamon
4c0481da40
Fix comment in go bindings that describes an old implementation. Add a release note for the new Go bindings change and add links to the existing release notes entries.
2019-02-08 12:38:38 -08:00
A.J. Beamon
093f4d9b83
Merge pull request #1091 from ajbeamon/fix-python-onready
...
Python: _CBFUNC should be defined outside init_c_api
2019-02-08 11:26:51 -08:00
A.J. Beamon
685242fbfc
Merge pull request #1092 from atn34/trace-format-network-option
...
Add trace_format network option
2019-02-08 10:52:50 -08:00
A.J. Beamon
b61722e3ab
Merge pull request #1010 from pjvds/patch-2
...
fdb.Key implements fmt.Stringer interface
2019-02-08 09:47:15 -08:00
mpilman
e45295a1f5
Added support for TLS
2019-02-07 15:37:04 -08:00
mpilman
f03cd6aee1
make c bindings work on Windows
2019-02-07 15:37:04 -08:00
mpilman
8a94d80deb
fdbservice and fdbrpc now compiling
2019-02-07 15:37:04 -08:00
mpilman
7a858b902d
Most of FDB compiling on Windows with cmake
2019-02-07 15:37:04 -08:00
A.J. Beamon
192a48105c
Merge pull request #1124 from apple/release-6.0
...
Merge Release 6.0 into master
2019-02-07 12:22:40 -08:00
Pieter Joost van de Sande
8f181fde3b
replace strings builder with bytes buffer
2019-02-03 20:48:21 +01:00
Balachandar Namasivayam
84a7fd1254
Add missing file fdbimpl_v609.rb to the package
2019-01-31 15:36:14 -08:00
Tim Guggenmos
dd4d9b104b
Staying consistent with Pointer syntax
...
Space after '*' instead of before it
2019-01-29 10:07:49 +01:00
Andrew Noyes
768d7678be
Add trace_format network option
2019-01-28 15:14:17 -08:00
A.J. Beamon
ec995ebef0
_CBFUNC should be defined outside init_c_api, both because it doesn't depend on the C API and because it is used elsewhere and wasn't available globally as previously written
2019-01-25 11:32:49 -08:00
A.J. Beamon
2173e0acda
Remove ClusterOptions from generated sources in Java
2019-01-25 09:30:02 -08:00
Evan Tschannen
1d7fec3074
Merge commit '048bfc5c368063d9e009513078dab88be0cbd5b0' into task/tls-upgrade-2
...
# Conflicts:
# .gitignore
2019-01-24 17:43:06 -08:00
Andrew Noyes
1c1e42396c
ClusterOptions.java is no longer generated
2019-01-24 16:04:56 -08:00
Andrew Noyes
6b34d62918
Fix GENERATED_JAVA_DIR
2019-01-24 15:59:18 -08:00
Andrew Noyes
aa566a755f
Account for file mv's/rm's in java bindings cmake
2019-01-24 15:41:27 -08:00
Alec Grieser
04b94e74c7
Merge pull request #942 from ajbeamon/remove-cluster-from-bindings
...
Remove cluster from bindings
2019-01-24 14:39:09 -08:00
Andrew Noyes
4bca5dad73
Fix _bit_length for 0 and negative numbers
2019-01-22 10:09:58 -08:00
Andrew Noyes
5a6f82a75b
bit_length python 2.6 compat
2019-01-22 10:09:03 -08:00
A.J. Beamon
e9ffe09b8b
Go bindings reported the wrong required version when loading an incompatible version of fdb_c.
2019-01-14 10:55:28 -08:00
A.J. Beamon
401f8a6774
Python and Ruby bindings displayed an unhelpful error if trying to load an old incompatible fdb_c with a new binding.
2019-01-14 10:41:54 -08:00
A.J. Beamon
627b785a24
Fix: null handling for cluster file paths didn't work after merge
2019-01-11 10:04:05 -08:00
A.J. Beamon
8451c0cfc1
Favor nullptr in JNI code.
2019-01-10 13:13:21 -08:00
A.J. Beamon
bfa97d7ff2
Address review comments
2019-01-10 12:28:14 -08:00
A.J. Beamon
11cce3731b
Merge branch 'master' into remove-cluster-from-bindings
...
# Conflicts:
# bindings/c/fdb_c.cpp
2019-01-10 11:58:34 -08:00
Pieter Joost van de Sande
ead5bb5bc6
add Printable example to docs
2019-01-10 11:10:52 +01:00
Pieter Joost van de Sande
b96c21210a
fix padding in key printing
2019-01-10 08:44:30 +01:00
Pieter Joost van de Sande
696a876fd4
fix String duplication for fdb.Key
2019-01-09 00:17:23 +01:00
Pieter Joost van de Sande
4722fa0667
change fdb string representation to common format
2019-01-09 00:03:44 +01:00
Pieter Joost van de Sande
0401d04380
fdb.Key implements fmt.Stringer interface
...
Add the ability to get a human readable string representation of a fdb.Key by satisfying the fmt.Stringer interface. This allows keys to be used with the fmt package.
2019-01-08 09:44:16 +01:00
Bhaskar Muppana
5a8419e5cf
Move Java specific setup into bindings/java/CMakeLists.txt
...
and s/SET/set
2019-01-02 21:19:08 -08:00
Bhaskar Muppana
aa2a76ef4c
Merge pull request #981 from alexmiller-apple/cmake
...
Add a CMake build system
2019-01-02 18:50:15 -08:00
anoyes
6a4d87802b
Replace & operator with variadic function
2018-12-28 11:33:42 -08:00
Markus Pilman
df0f491c29
Some more improvements to the build and preparations for packaging
2018-12-13 15:04:13 -08:00
Markus Pilman
f8eac70700
Fixed C bindings DLLEXPORT and Java bindings
2018-12-13 14:59:36 -08:00
Markus Pilman
5fafeaf219
added bindings to cmake build
2018-12-13 14:54:38 -08:00
Markus Pilman
4833afea53
CMake compiles fdb c bindings
2018-12-13 14:54:13 -08:00
Bryant Luk
2379552aea
Fix Go bindings possible nested comment warnings
...
When using the Go bindings in a project, you can get compilation
warnings for the `/*` in the comment blocks. These warnings seem
unnecessary.
Warning is:
\# github.com/apple/foundationdb/bindings/go/src/fdb
In file included from _cgo_export.c:4:
cgo-gcc-export-header-prolog:43:1: warning: '/*' within block comment [-Wcomment]
cgo-gcc-export-header-prolog:44:1: warning: '/*' within block comment [-Wcomment]
2018-12-13 15:41:01 -06:00
Vishesh Yadav
e8e01b2406
Remove unused localAddress parameter from newNet2 and Net2 classes
2018-12-13 13:36:52 -08:00
Aaron Greenlee
a1a88b2f47
Fixed apparent typo in help response
2018-12-08 17:27:32 -05:00
A.J. Beamon
97847f517b
throw platform_error; -> throw platform_error();. Convert some spaces to tabs.
2018-11-28 12:56:57 -08:00
Alec Grieser
3a38288d35
remove whitespace to fix go fmt check
2018-11-28 09:09:35 -08:00
A.J. Beamon
975711c389
Merge branch 'release-6.0' of github.com:apple/foundationdb
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
2018-11-27 09:50:39 -08:00
Alec Grieser
d462315809
Merge pull request #908 from pjvds/patch-1
...
document Begin and End members of KeyRange
2018-11-27 09:02:50 -08:00
Pieter Joost van de Sande
080464ba38
specify type on both begin and end field
2018-11-27 17:11:42 +01:00
Pieter Joost van de Sande
1c2de49bf2
match KeyRange docs with the rest of the docs
2018-11-27 08:19:46 +01:00
A.J. Beamon
d1e6c81d99
The binding tester wouldn't align keys that had nan in them. Also, the ruby tester generated a few keys with byte strings instead of unicode.
2018-11-26 15:31:40 -08:00
A.J. Beamon
96b9cbcfcf
fdb_c.cpp needs access to the legacy types, the C binding test uses the new API, and a couple javadoc links fixed.
2018-11-26 13:07:36 -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
b19ab6d3dc
Don't use null as the cluster pointer if the cluster file path is null because the Java bindings don't work with a null cluster pointer.
2018-11-26 11:52:35 -08:00
Alex Miller
d076999f9b
Fix the fix of the build of the bindings target.
...
The bindings build was broken becaue fdb_c_performance_test failed to
link with errors of the form:
/tmp/ccym9LhK.o: In function `clearAll':
/opt/foundationdb/bindings/c/test/performance_test.c:130: undefined reference to `fdb_transaction_clear_range'
/tmp/ccym9LhK.o: In function `insertRange':
/opt/foundationdb/bindings/c/test/performance_test.c:139: undefined reference to `fdb_transaction_set'
/tmp/ccym9LhK.o: In function `singleKey':
/opt/foundationdb/bindings/c/test/performance_test.c:540: undefined reference to `fdb_transaction_set'
...
PR #901's e8f20e4
fixed this by adding `-shared` to the invocation line,
and thus doing a dynamic linking of libfdb_c.
As dynamically linking produced a working executable, this suggests that
the correct set of libraries are being linked, as the symbols can be
located eventually, just not in the right order, as the linker will
proactively not include unnecessary object files from static libraries.
And unfortunately, our performance test framework likely expects to be able
to copy the binary, and not have to worry about associated dynamically
linked libraries, so a statically linked binary is preferred.
The underlying cause of this link error is that the static library
preceeded the source code in the command line:
/usr/bin/gcc -Werror -Wno-error=format -fPIC -DNO_INTELLISENSE -fvisibility=hidden -DNDEBUG=1 -Wreturn-type -fno-omit-frame-pointer -O2 -g -Llib -lfdb_c -lpthread -Ibindings/c -o bin/fdb_c_performance_test bindings/c/test/performance_test.c
This comes from the line in the Makefile:
@$(CC) $(CFLAGS) $(fdb_c_tests_LIBS) $(fdb_c_tests_HEADERS) -o $@ bindings/c/test/performance_test.c
As we pass `-lfdb_c` before `performance_test.c`, when the linker is
considering libfdb_c.a, it sees that no symbols from any of the object
files are currently needed, and thus doesn't include them. When we
proceprocess performance_test.c, we suddenly need these symbols, but
it's too late, as the linker only processes files left-to-right.
Thus, we can resolve this problem by passing -lfdb_c after performance_test.c
Also of note is that we only seem to have this problem because the link
line was crafted by hand instead of using link-wrapper.sh, which already
does the right thing.
2018-11-13 16:15:32 -08:00
Evan Tschannen
e45952bc53
Merge branch 'release-6.0'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# fdbclient/BackupContainer.actor.cpp
# fdbclient/BlobStore.actor.cpp
# fdbclient/HTTP.actor.cpp
# tests/BlobStore.txt
# versions.target
2018-11-13 16:06:39 -08:00
Evan Tschannen
abb7299e1d
Merge pull request #901 from AlvinMooreSr/bindings-build
...
Fixed build of bindings target
2018-11-13 12:31:35 -08:00
Alec Grieser
8424fc57ec
add period to comment
2018-11-13 11:55:54 -08:00
Alec Grieser
3c8347e724
add comments for some tricky int-packing code
2018-11-13 11:41:23 -08:00
Alec Grieser
7e4f84c60e
Merge remote-tracking branch 'upstream/release-6.0' into feature-bigint-support-go-ruby-aj
2018-11-13 11:28:10 -08:00
Evan Tschannen
4e54690005
Merge branch 'release-6.0'
...
# Conflicts:
# fdbserver/DataDistribution.actor.cpp
# fdbserver/MoveKeys.actor.cpp
2018-11-12 20:26:58 -08:00
Pieter Joost van de Sande
4f4f3ebb2d
document Begin and End members of KeyRange
...
This allows friendly hints by tools that have go doc integration or alike.
2018-11-12 21:51:06 +01:00
Evan Tschannen
4b5d0b4e2c
Merge branch 'release-6.0'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# fdbclient/AsyncFileBlobStore.actor.cpp
# fdbclient/AsyncFileBlobStore.actor.h
# fdbclient/BlobStore.actor.cpp
# fdbclient/BlobStore.h
# fdbclient/HTTP.actor.cpp
# fdbclient/ManagementAPI.actor.cpp
# fdbclient/NativeAPI.actor.cpp
# fdbrpc/LoadBalance.actor.h
# fdbrpc/batcher.actor.h
# fdbrpc/fdbrpc.vcxproj
# fdbrpc/sim2.actor.cpp
# fdbserver/DataDistribution.actor.cpp
# fdbserver/DataDistributionTracker.actor.cpp
# fdbserver/SimulatedCluster.actor.cpp
# fdbserver/TLogServer.actor.cpp
# fdbserver/masterserver.actor.cpp
2018-11-10 13:04:24 -08:00
Evan Tschannen
a654183f63
Merge pull request #791 from ajbeamon/remove-cluster-from-iclientapi
...
Remove cluster from IClientApi (phase 2 of removing DB names)
2018-11-10 10:16:18 -08:00
Alvin Moore
e8f20e409f
Added shared library option to allow the c project tests to build
2018-11-08 08:40:56 -08:00
A.J. Beamon
d38393a82f
Key alignment in the binding tester results checking didn't properly determine the minimum available key. Add some comments to results checking code.
2018-11-01 12:38:00 -07:00
A.J. Beamon
d02c37965d
Merge branch 'release-6.0' into feature-bigint-support-go-ruby
2018-11-01 11:33:48 -07:00
A.J. Beamon
93cfec51c7
Add a test that's intended to test tuple encoding. Currently, it only checks the encoding of integers at and near the boundaries of every extra bit (i.e. 2^1, 2^2, 2^3, ...). Fixed some bugs in the binding tester results checking that made it hard to interpret results. Commit more instructions in a batch.
2018-10-31 14:18:28 -07:00
A.J. Beamon
5035c51d15
Some fixes to the type chosen for decoding integers in Go. Fix to ruby encoding at byte boundaries. Add execute bit to ruby tester.
2018-10-31 14:09:23 -07:00
A.J. Beamon
23d5382cea
Add uint64 handling to golang stack tester tuples
2018-10-31 09:19:13 -07:00
A.J. Beamon
377f5e2c48
Add release notes and fix formatting
2018-10-30 15:06:47 -07:00
A.J. Beamon
42d101c517
Merge branch 'tuple-uint64' into feature-bigint-support-go-ruby
...
# Conflicts:
# bindings/go/src/fdb/tuple/tuple.go
2018-10-30 14:23:26 -07:00
Justin Lowery
bee8d12b24
remove multiple binary.Read calls and use a single type conversion instead
2018-10-30 14:06:03 -07:00
Justin Lowery
f112ba4f07
restore NewBuffer calls, as buffer was emptied on Read calls when the value was a uint64
2018-10-30 14:06:03 -07:00
Justin Lowery
36b3818aef
remove redundant calls to NewBuffer that use the bp slice. remove redundant declaration of retInt
2018-10-30 14:06:03 -07:00
Justin Lowery
0b00b4d99b
keep original behavior related to decoding integers to int64, only using uint64 when needed
2018-10-30 14:06:03 -07:00
Justin Lowery
9909c1c959
add uint64 and uint types to the package documentation comments
2018-10-30 14:06:03 -07:00
Justin Lowery
c6e9d2ff12
add uint64 encoding and decoding
2018-10-30 14:06:03 -07:00
A.J. Beamon
b96d462ad3
Merge pull request #878 from cespare/range-error
...
Fix small error-handling bug in Go bindings
2018-10-29 18:12:40 -04:00
Caleb Spare
edc87a9138
Fix small error-handling bug in Go bindings
2018-10-29 14:48:30 -07:00
A.J. Beamon
45e1e563ba
Reword documentation for Strinc
2018-10-29 14:24:06 -07:00
A.J. Beamon
0ec1790d76
Document the Strinc function in the go bindings
2018-10-29 14:06:59 -07:00
Ofek Lev
4bd9efc4fc
Update vendored Python module six
2018-10-25 23:46:49 -04:00
A.J. Beamon
2be1cabc72
Support for big integers in go and ruby tuple layers
2018-10-24 15:50:07 -07:00
Evan Tschannen
2f4e7fad48
Merge branch 'master' of github.com:apple/foundationdb
2018-10-15 18:39:46 -07:00