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
Evan Tschannen
0217aed74c
Merge branch 'release-6.0'
...
# Conflicts:
# bindings/go/README.md
# documentation/sphinx/source/release-notes.rst
# fdbserver/MasterProxyServer.actor.cpp
# versions.target
2018-10-15 18:38:51 -07:00
A.J. Beamon
9983c534e6
Release 6.0.13 preparation
2018-10-10 13:44:16 -07:00
A.J. Beamon
a2630a68a6
We can't use async as a variable name in python 3.7 because it's now a keyword. Support gevent's new 'async_' name.
2018-10-09 09:51:04 -07:00
A.J. Beamon
b3e271bc2a
Document the mutex shenanigans used to implement block until ready
2018-10-08 15:17:37 -07: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
A.J. Beamon
1b259dbc9d
Initial work to remove clusters from our C API
2018-09-26 10:27:55 -07:00
A.J. Beamon
3eb4355a48
Some various cleanup and fixes. Added "Cluster" to TransactionMetrics trace event.
2018-09-25 15:06:19 -07:00
A.J. Beamon
09fba0647e
Use new instead of malloc; fix off by one.
2018-09-25 11:15:54 -07:00
A.J. Beamon
6ae50f7016
Change cluster objects to be a char* for the cluster file path. Remove IDatabase::createDatabase. DLApi::createDatabase deletes the temporary cluster it creates.
2018-09-25 11:01:09 -07:00
A.J. Beamon
e55a87f6cd
Merge branch 'merge-release-6.0-into-master' into remove-cluster-from-iclientapi
2018-09-24 08:22:35 -07:00
A.J. Beamon
92990d6aef
Merge release-6.0 into master
2018-09-21 16:14:39 -07:00
A.J. Beamon
c831051474
This removes the idea of clusters from IClientApi.
2018-09-21 15:58:14 -07:00
Alec Grieser
dab056db2e
Merge pull request #777 from ajbeamon/merge-release5.2-into-release6.0
...
Merge branch 'release-5.2' into release-6.0, changing the API version…
2018-09-19 11:32:43 -07:00
A.J. Beamon
90c9822174
Merge branch 'release-5.2' into release-6.0, changing the API version in the go documentation in the process.
2018-09-19 11:31:11 -07:00
Alec Grieser
10a8e67266
Merge remote-tracking branch 'upstream/release-6.0' into merge-release-6.0
2018-09-11 21:49:59 -07:00
Alec Grieser
5128d9772d
cleverly use parentheses to ensure that the bitwise operation happens before the shift
...
This was casuing getUserVersion to return incorrect results if the user version was greater than 0x00FF.
Fixes #761
2018-09-10 18:18:13 -07:00
Alec Grieser
f0c6db42db
Merge pull request #748 from ajbeamon/go-readme-update
...
Update go bindings README.
2018-09-06 14:40:29 -07:00
Bhaskar Muppana
920fd3fe97
Merge branch 'release-6.0'
2018-09-06 14:24:02 -07:00
Bhaskar Muppana
5e954a8d57
Merge remote-tracking branch 'upstream/release-5.2' into release-6.0
2018-09-06 13:29:31 -07:00
A.J. Beamon
fdba3c0f05
Update go bindings README.
2018-09-06 13:19:13 -07:00
Evan Tschannen
90301f497f
Merge branch 'release-6.0'
...
# Conflicts:
# fdbclient/ManagementAPI.actor.cpp
# fdbrpc/FlowTransport.actor.cpp
# fdbrpc/TLSConnection.actor.cpp
# fdbserver/DataDistribution.actor.cpp
# fdbserver/Status.actor.cpp
# fdbserver/storageserver.actor.cpp
# fdbserver/workloads/StatusWorkload.actor.cpp
# versions.target
2018-09-05 16:06:33 -07:00
A.J. Beamon
cab47fec19
Merge pull request #733 from alecgrieser/000732-go-install-no-default-version
...
Remove default version from fdb-go-install script
2018-09-05 14:58:49 -07:00
Alec Grieser
2274bc0671
clarify some verbiage
2018-09-05 14:46:31 -07:00
Evan Tschannen
4eaff42e4f
Merge pull request #712 from ajbeamon/remove-database-name-internal
...
Eliminate use of database names (phase 1)
2018-09-05 10:35:00 -07:00
AlvinMooreSr
f4b3299e23
Merge pull request #601 from AlvinMooreSr/python-setup
...
Changed python binding classifier
2018-09-04 12:57:02 -07:00
Alec Grieser
7c9e4d7d9f
remove default version from fdb-go-install script
...
Resolves : #732
2018-08-30 16:15:39 -07:00
A.J. Beamon
f47b45c7e1
Merge pull request #710 from ajbeamon/deprecate-tls-plugin-option
...
Deprecate TLS_plugin option.
2018-08-27 12:24:48 -07:00
A.J. Beamon
adfaa618e6
Filter version_too_old errors
2018-08-24 10:05:24 -07:00
A.J. Beamon
f8262a2f95
Merge pull request #716 from alecgrieser/fdb-go-tag-update
...
Go bindings release tag update
2018-08-23 13:20:10 -07:00
Alec Grieser
11ab3bdb99
some go bindings README tweaks
2018-08-20 18:04:35 -07:00
Alec Grieser
74771c5b1d
switch to using new release branch convention for install script
2018-08-20 18:04:20 -07:00
A.J. Beamon
2a97139d5d
This is the first step in eliminating the usage of database names in our code. The C API remains the same, but underneath that all usage of database names is eliminated.
2018-08-16 10:24:12 -07:00
A.J. Beamon
bc0832bb55
Deprecate TLS_plugin option. Don't remove deprecated methods from Go bindings, since that breaks compatibility with old API versions.
2018-08-15 10:11:08 -07:00
Alex Miller
bca324eaa6
More actorcompiler.h fixes and additions.
2018-08-14 15:50:26 -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
A.J. Beamon
6af8c0d907
Prepopulated directories should have their partition state set. Filter commit_unknow_result errors if encountered in the directory test.
2018-08-13 13:35:48 -07:00
John Brownlee
9cad7c8a72
Merge remote-tracking branch 'upstream/release-5.2' into release-6.0-5.2-merge
...
# Conflicts:
# documentation/sphinx/source/downloads.rst
# documentation/sphinx/source/release-notes.rst
# packaging/msi/FDBInstaller.wxs
# versions.target
2018-07-31 13:17:37 -07:00
Alec Grieser
a2b3c71a74
thread custom executors through FDBDatabase::run and FDBDatabase::read
...
Closes #640 .
2018-07-30 16:53:07 -07:00
A.J. Beamon
2d8a6d1fd8
fix: cache databases by cluster file and DB name in golang bindings.
2018-07-30 10:10:03 -07:00
A.J. Beamon
16ba2732b8
fix: cache databases by cluster file and DB name in golang bindings.
2018-07-18 13:00:35 -07:00
Alvin Moore
bc1098d889
Changed python binding classifier to that on approved list: https://pypi.org/pypi?%3Aaction=list_classifiers
2018-07-13 07:58:08 -07:00
Alec Grieser
46b8612566
bump API version from 520 to 600
2018-07-09 11:00:57 -07:00
Alex Miller
6c98aa8aac
Fix not depending on FDBLibTLS.a and default TLS_LIBDIR to a sensible place.
2018-07-05 13:23:20 -07:00
Alex Miller
01659e34cc
Move TLS libs into STATIC_LIBS to avoid having a make dependency on them.
...
And fix STATIC_LIBS to be cross platform.
2018-07-04 00:29:53 -07:00
Alvin Moore
ab255b444f
Added support for specifying location of LibreSSL libraries via define TLS_LIBDIR
2018-07-03 09:01:01 -07:00
Alvin Moore
c3f88dbfe1
Merge branch 'master' of github.com:apple/foundationdb into tls-static
2018-07-01 23:13:57 -07:00
Alvin Moore
132e2d9267
Defined TLS build flags for projects
...
Updated TLS documentation
2018-07-01 22:49:39 -07:00
Alec Grieser
be873001cc
Merge pull request #532 from drew-richardson/master
...
Avoid calls that can panic when handling errors
2018-07-01 21:54:18 -07:00
A.J. Beamon
ea8a288a20
Merge pull request #537 from apple/release-5.2
...
Merge Release-5.2 into master
2018-06-27 15:55:58 -07:00
A.J. Beamon
d8ca7a766c
Change tree node state to have references to parent nodes and update merge logic accordinly.
2018-06-27 14:12:51 -07:00
A.J. Beamon
a7158f96aa
Address some review comments
2018-06-26 15:06:15 -07:00
A.J. Beamon
2ed452353f
Merge branch 'release-5.2' into directory-tester-cleanup
2018-06-26 14:56:09 -07:00
Alvin Moore
ef8de426d3
Changed the TLS_DISABLED macro
...
Disable TLS within Windows until working
2018-06-26 12:08:32 -07:00
Drew Richardson
efdca64f15
Avoid calls that can panic when handling errors
2018-06-26 08:23:48 -07:00
Alvin Moore
f8ce1de601
Added support for compiling TLS into binaries
2018-06-20 09:21:23 -07:00
Alex Miller
a3601af2a6
Merge pull request #435 from Liuchang0812/wip-rename-future-in-c-binding
...
rename opaque types in c binding to avoid conflicts with the standard library
2018-06-18 13:55:33 -07:00
Chang Liu
5492ea7f8c
rename opaque types in c binding to avoid conflicts with the standard library
...
Signed-off-by: Chang Liu <liuchang0812@gmail.com>
2018-06-13 11:09:42 +08:00
A.J. Beamon
a1901701d6
Merge pull request #449 from jkominek/python-getfullargspec
...
use inspect.getfullargspec when available
2018-06-12 11:58:04 -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
Jay Kominek
fb33412b3a
use inspect.getfullargspec when available
...
getargspec was deprecated in python3, this should use
getfullargspec when available, and degrade gracefully
otherwise.
2018-06-08 01:07:18 -06:00
A.J. Beamon
1dbe24a6e8
In the Java directory layer, DirectoryLayer.exists returns true unconditionally when not passed a path. This is different than the other bindings, which run through the normal exists check, but which I believe will still ultimately return true. The major difference is that in Java, no read version is obtained, which can cause behavior differences in the binding tester. This adds a call to get the read version to the Java testers when processing the DIRECTORY_EXISTS instruction.
2018-05-30 15:38:50 -07:00
Alec Grieser
5e61fb30d6
Merge remote-tracking branch 'upstream/release-5.2' into merge-release-5.2
2018-05-30 12:02:36 -07:00
Alec Grieser
0c2e801d40
Merge remote-tracking branch 'upstream/release-5.1' into merge-release-5.1
2018-05-30 11:49:29 -07:00
Alec Grieser
1a0175bb01
Merge pull request #395 from dkoston/go-client-readme-add-mono
...
bindings/go: README.md: Add mono as dependency, add note about fdbver
2018-05-29 10:22:25 -07:00
Dave Koston
1a415a30b6
bindings/go: README.md: Add mono as dependency
...
Mono is required to install the go bindings on macOS and Windows (build-time only)
2018-05-29 10:31:37 -05:00
A.J. Beamon
026458baf3
Merge release-5.2 into master
2018-05-23 15:32:56 -07:00
A.J. Beamon
e172a7f6f1
Fix spacing in build file
2018-05-23 15:01:13 -07:00
A.J. Beamon
48bf339843
Add indirection in the directory state tree so that merged nodes would continue sharing state through future merges.
2018-05-23 14:59:18 -07:00
A.J. Beamon
0b1bd4f765
Close transactions in ON_ERROR if the replace didn't succeed
2018-05-23 14:00:45 -07:00
A.J. Beamon
989a51e4a3
Java tester was failing to create new transactions properly in some cases
2018-05-23 13:05:15 -07:00
A.J. Beamon
f52da485a9
Don't merge directory state tree entries that have the same ID. When merged, two entries should always take the smaller ID.
2018-05-23 12:20:05 -07:00
A.J. Beamon
1a39cd4a81
The directory state tree currently relies on some static members that need to be reset when rerunning the test.
2018-05-23 12:19:21 -07:00
A.J. Beamon
addb822b91
Fix call to random.random()
2018-05-23 12:18:34 -07:00
A.J. Beamon
fc69c34138
Extract directory state tree, add some tests, and fix up a couple things
2018-05-22 11:53:19 -07:00
A.J. Beamon
f96b95a878
Ensure random prefixes for partitions and directory layer subspaces when doing comparison tests
2018-05-22 11:52:38 -07:00
A.J. Beamon
997d3eae80
Rework how the directory hierarchy state is maintained, add tracking for partitions and deleted directories, and don't allow using directories that are deleted partitions.
2018-05-18 16:24:59 -07:00
A.J. Beamon
5db549c203
Changes to print output
2018-05-18 16:24:03 -07:00
A.J. Beamon
ce3623978e
Merging children of DirListEntries now unifies the entries rather than just copying has_know_prefix
2018-05-18 09:41:54 -07:00
A.J. Beamon
9e9a81c96d
DIRECTORY_MOVE and DIRECTORY_OPEN use the existing DirListEntries, if present
2018-05-18 09:39:27 -07:00
A.J. Beamon
7159dd5ce2
DIRECTORY_MOVE_TO reuses the same DirListEntry rather than creating a new one
2018-05-18 09:38:03 -07:00
A.J. Beamon
82821d17af
Have the two copies of the default directory layer share the same DirListEntry.
2018-05-18 09:36:24 -07:00
A.J. Beamon
b94fa1ddb0
Add missing COMMIT instruction after logging directories.
2018-05-18 09:34:46 -07:00
A.J. Beamon
fd4312454b
Some changes to debugging print statements
2018-05-18 09:33:28 -07:00
Alvin Moore
83c1754181
Modified the groupId to org.foundationdb
2018-05-17 12:53:57 -07:00
Alec Grieser
e4cb178083
update api version to 520 in some flow tests
2018-05-10 18:12:41 -07:00
Alec Grieser
a3e52424da
actually pass along new versionstamp position in nested versionstamp
...
addresses #356
2018-05-10 16:11:42 -07:00
Alec Grieser
e5378083ec
honor length in Tuple.fromBytes when passed in
...
addresses #362
2018-05-10 15:27:01 -07:00
Alec Grieser
5ec391695b
regenerate generated.go with new TLS options
2018-05-10 15:26:25 -07:00
Evan Tschannen
8f984cb2c9
Merge branch 'release-5.2'
...
# Conflicts:
# fdbrpc/TLSConnection.h
2018-05-10 09:13:22 -07:00
Alec Grieser
b7f0e358b3
Merge pull request #340 from ajbeamon/move-thread-shutdown-hook-to-iclientapi
...
Move addNetworkThreadCompletionHook to IClientApi.
2018-05-09 14:45:50 -07:00
A.J. Beamon
cfd50d83d4
Add comment and remove whitespace
2018-05-09 14:38:11 -07:00
A.J. Beamon
499a3c78dc
Line ending fix
2018-05-09 10:32:02 -07:00
A.J. Beamon
33ba98c82c
Fix indent
2018-05-09 10:12:37 -07:00
A.J. Beamon
330ac4875c
Add flag to disable directory snapshot ops in the binding tester and use it in the flow bindings.
2018-05-09 10:12:37 -07:00
Alec Grieser
28ca911b6d
Merge pull request #341 from ajbeamon/bindingtester-flag-to-disable-directory-snapshot-ops
...
Add flag to disable directory snapshot ops in the binding tester
2018-05-09 10:00:02 -07:00
Justin Lowery
10410ca8cc
Remove empty line
2018-05-09 12:54:25 -04:00
A.J. Beamon
09937b8de7
Fix indent
2018-05-09 09:24:34 -07:00
Alec Grieser
f3093642b3
Merge pull request #242 from alecgrieser/32437306-better-versionstamped-value
...
Unify SET_VERSIONSTAMPED_KEY and SET_VERSIONSTAMPED_VALUE API
2018-05-09 09:04:07 -07:00
Justin Lowery
fa29a1b30c
Improve comment consistency in Go tuple package
...
Updates the first list of supported types, that can be encoded using a Tuple, to match the types that can be found in later comments within the tuple package.
2018-05-09 09:52:25 -04: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
A.J. Beamon
01a3360982
Move addNetworkThreadCompletionHook to IClientApi.
2018-05-08 16:33:43 -07:00
Evan Tschannen
7acdc314e4
Merge branch 'release-5.2'
...
# Conflicts:
# fdbrpc/TLSConnection.actor.cpp
2018-05-08 13:22:53 -07:00
Evan Tschannen
1f6c6a886b
Merge branch 'release-5.1' into release-5.2
2018-05-08 13:08:11 -07:00
A.J. Beamon
ca720e1540
Merge pull request #297 from apple/release-5.2
...
Merge 5.2 to Master
2018-05-08 12:04:20 -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
Julien Blache
83f86aa26f
Switch repository clone URL from SSH to HTTPS
2018-05-07 15:20:48 -07:00
Julien Blache
899a173526
Check for FDB C library early on, add /usr/lib64 to Linux search path
...
Getting a warning at the end of the script is confusing as to the status
of the operation. Did it complete? Partially complete? What was done? It
also wastes time as the repo download comes first.
On Linux, the library may be in /usr/lib64 in many cases, so check for
the library in that path too.
2018-05-07 15:16:22 -07:00
Julien Blache
029373835c
Cleanup CGO_*FLAGS
...
Use CGO_CPPFLAGS, remove non-ld options from CGO_LDFLAGS.
2018-05-04 19:15:48 -07:00
A.J. Beamon
6502d790b9
Remove extra call to create transaction. Cleanup created transactions.
2018-05-04 09:06:47 -07:00
A.J. Beamon
d5f69ff596
Merge pull request #296 from apple/release-5.1
...
Merge Release 5.1 Into Release 5.2
2018-05-03 12:05:35 -07:00
John Brownlee
1739c82c1b
Fixes the links to download the client libraries in our documentation and packages.
2018-05-01 16:10:51 -07:00
Alec Grieser
8c47e0a086
Merge pull request #278 from vmg/vmg/tuple
...
bindings/go: Reduce memory allocations when packing tuples
2018-05-01 15:46:20 -07:00
A.J. Beamon
060b655257
Add another line of description to synchronization comment.
2018-05-01 10:00:49 -07:00
A.J. Beamon
a8c083509c
Add a note about why the high-contention allocator synchronizes on HighContentionAllocator.class rather than Transaction.
2018-05-01 09:31:40 -07:00
Vicent Marti
a19af9921e
bindings/go: Reduce memory allocations when packing tuples
...
Memory profiling a FoundationDB layer implemented in Go shows high
memory pressure and increased GC times when performing highly-concurrent
multi-key transactions on the database. Further digging displays that
the source of the memory pressure happens when packing the keys for the
transaction into byte slices: the most salient issue is that memory
during the packing process is allocated based on the number of elements
to pack and not on the total size of the resulting byte slice.
This commit attempts to reduce the amount of memory allocated when
calling `Tuple.Pack` for most (all?) usage patterns, both in number of
allocations and in total allocated size.
The following optimizations have been implemented:
- Remove `bytes.Buffer` usage in `encodeTuple`: the `Buffer` struct is
quite expensive for the key sizes we're looking to generate, both
allocation and performance-wise. A `packer` struct has been implemented
that builds the keys "naively" by using `append` on a slice. Slice
growth in Go is also amortized just like in `bytes.Buffer`.
- Do not use `bytes.Replace` in `encodeBytes`: this function is
particularly expensive because it always allocates a copy of the byte
slice, even when it doesn't contain nil bytes. Instead, the replacement
step has been implemented manually in `packer.putbytesNil`, where it can
perform the replacement optimally into the output byte slice without
allocating memory. By having this local function we also allow the
compiler to not duplicate any input `string`s when casting them to
`[]byte`; previously, a copy of every string to pack was always being
allocated because the compiler couldn't prove that `bytes.Replace`
wouldn't modify the slice.
- Use stack space in `encode[Float|Double|Int]`: all the numerical
packing functions were allocating huge amounts of memory because of the
usage of temporary `bytes.Buffer` objects and `binary.Write` calls. The
sizes for all the packed data are always known (either 4 or 8 bytes
depending on type), so the big endian packing can be performed directly
on the stack with `binary.BigEndian.PutUint[32|64]`, which doesn't
require the `interface{}` conversion for the `binary.Write` API and in
x64 compiles to a `mov + bswap` instruction pair.
As a result of these optimizations, the "average" case of key packing
can now create a key with a single allocation. More complex key packing
operations, even those that contain strings/byte slices with nil bytes,
now allocate memory in a constant way (i.e. amortized based on the
amount of growth of the output buffer and not the number of Tuple
elements to pack).
Additionally, the reduction of memory allocations and the better usage
of the `binary` APIs produce a very significant reduction in runtime for
key packing: between 2x and 6x faster for all packing operations.
Before/after benchmarks are as follows:
benchmark old ns/op new ns/op delta
BenchmarkTuplePacking/Simple-4 310 76.4 -75.35%
BenchmarkTuplePacking/Namespaces-4 495 137 -72.32%
BenchmarkTuplePacking/ManyStrings-4 960 255 -73.44%
BenchmarkTuplePacking/ManyStringsNil-4 1090 392 -64.04%
BenchmarkTuplePacking/ManyBytes-4 1409 399 -71.68%
BenchmarkTuplePacking/ManyBytesNil-4 1364 533 -60.92%
BenchmarkTuplePacking/LargeBytes-4 319 107 -66.46%
BenchmarkTuplePacking/LargeBytesNil-4 638 306 -52.04%
BenchmarkTuplePacking/Integers-4 2764 455 -83.54%
BenchmarkTuplePacking/Floats-4 3478 482 -86.14%
BenchmarkTuplePacking/Doubles-4 3654 575 -84.26%
BenchmarkTuplePacking/UUIDs-4 366 211 -42.35%
benchmark old allocs new allocs delta
BenchmarkTuplePacking/Simple-4 6 1 -83.33%
BenchmarkTuplePacking/Namespaces-4 11 1 -90.91%
BenchmarkTuplePacking/ManyStrings-4 18 2 -88.89%
BenchmarkTuplePacking/ManyStringsNil-4 18 2 -88.89%
BenchmarkTuplePacking/ManyBytes-4 23 3 -86.96%
BenchmarkTuplePacking/ManyBytesNil-4 22 2 -90.91%
BenchmarkTuplePacking/LargeBytes-4 3 2 -33.33%
BenchmarkTuplePacking/LargeBytesNil-4 3 2 -33.33%
BenchmarkTuplePacking/Integers-4 63 3 -95.24%
BenchmarkTuplePacking/Floats-4 62 2 -96.77%
BenchmarkTuplePacking/Doubles-4 63 3 -95.24%
BenchmarkTuplePacking/UUIDs-4 2 2 +0.00%
benchmark old bytes new bytes delta
BenchmarkTuplePacking/Simple-4 272 64 -76.47%
BenchmarkTuplePacking/Namespaces-4 208 64 -69.23%
BenchmarkTuplePacking/ManyStrings-4 512 192 -62.50%
BenchmarkTuplePacking/ManyStringsNil-4 512 192 -62.50%
BenchmarkTuplePacking/ManyBytes-4 864 448 -48.15%
BenchmarkTuplePacking/ManyBytesNil-4 336 192 -42.86%
BenchmarkTuplePacking/LargeBytes-4 400 192 -52.00%
BenchmarkTuplePacking/LargeBytesNil-4 400 192 -52.00%
BenchmarkTuplePacking/Integers-4 3104 448 -85.57%
BenchmarkTuplePacking/Floats-4 2656 192 -92.77%
BenchmarkTuplePacking/Doubles-4 3104 448 -85.57%
BenchmarkTuplePacking/UUIDs-4 256 192 -25.00%
2018-05-01 10:52:08 +02:00
Vicent Marti
5bab1e8e4e
bindings/go: Add tuple packing tests and benchmark
...
Although the Go bindings to FoundationDB are thoroughly tested as part
of the `bindingtester` operation, this commit implements a more-or-less
complete test case using golden files for the serialized output of
`Tuple.Pack` operations. This will make implementing optimizations and
refactoring the packing operation much simpler.
The same test cases used to verify correctness are also used as a
benchmark suite to measure the amount of memory allocated in the
different operations.
2018-05-01 10:51:57 +02:00
Iuri Sitinschi
d52f8eb255
java binding: remove unnecessary collection wrapper
2018-04-30 10:05:53 -07:00
A.J. Beamon
b359e57e78
Merge pull request #276 from isitinschi/master
...
java binding: remove unnecessary collection wrapper
2018-04-30 10:04:57 -07:00
Iuri Sitinschi
97360e77af
java binding: remove unnecessary collection wrapper
2018-04-29 12:20:07 +02:00
Alec Grieser
ed807a4f78
update generated.go to include first_in_batch
2018-04-28 17:50:49 -07:00
Alec Grieser
69e831d522
Merge remote-tracking branch 'upstream/release-5.2' into merge-release-5.2
2018-04-28 17:44:52 -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
9fb31b3e47
updated generated.go
2018-04-27 16:33:57 -07:00
Evan Tschannen
434d896627
removed dev null is web scale from flow tester
2018-04-27 16:14:26 -07:00
Evan Tschannen
9060e6d82b
merged in 5.1
2018-04-27 16:13:35 -07:00
Evan Tschannen
d2a684363b
remove more dev null is web scale options in the binding testers
2018-04-27 12:22:38 -07:00
Evan Tschannen
d67b0e7d54
removed binding tester references to dev_null_is_web_scale
2018-04-26 14:36:17 -07:00
Seshadri Mahalingam
2e971295fc
[go] Fix ${fdbdir} path definition in fdb-go-install.sh
2018-04-26 09:45:02 -07:00
Seshadri Mahalingam
6e035d2778
[go] Fix ${fdbdir} path definition in fdb-go-install.sh
2018-04-24 21:58:15 -07:00
Matias Insaurralde
731a8dcdd9
Simplify Go code following the linter recommendations
2018-04-24 10:02:19 -07:00
Alec Grieser
78fe559f5d
Merge pull request #227 from matiasinsaurralde/go-enhancements
...
Simplify Go code following the linter recommendations
2018-04-24 09:38:03 -07:00
Amanda Aizuss
256d7d030d
Convert bindings spec files to markdown
...
* The initial plaintext file converts nicely - this just converts operations to small headers and uses < and > to make sure text in <> shows up
* Use inline code in a few places where it makes sense
2018-04-23 10:05:34 -07:00
Matias Insaurralde
d9c71ce5bc
Simplify Go code following the linter recommendations
2018-04-22 20:52:44 +02:00
A.J. Beamon
261645baf4
Tabs->spaces
2018-04-22 09:15:33 -07:00
Amanda Aizuss
d473c7609f
Convert bindings spec files to markdown
...
* The initial plaintext file converts nicely - this just converts operations to small headers and uses < and > to make sure text in <> shows up
* Use inline code in a few places where it makes sense
2018-04-20 15:10:08 -07:00
Alec Grieser
b49887f72b
regenerated generated.go with APPEND_IF_FITS (new in 5.2!)
2018-04-20 13:25:11 -07:00
Semih Tok
2124d42080
Link updated with c section
2018-04-20 09:27:08 -07:00
Semih Tok
daba4bd915
Broken "C API" page link fixed
...
C API link doesn't work. Probably needs to redirect -> https://apple.github.io/foundationdb/api-c.html
2018-04-20 09:26:59 -07:00
Douglas Daniels
bc5a69cd70
Fix go documentation URLs
2018-04-20 09:26:40 -07:00
Alec Grieser
a03fd301db
Merge pull request #202 from semihtok/master
...
Broken link (C API documentation page) fixed
2018-04-20 09:24:34 -07:00
Semih Tok
04d38ee03e
Link updated with c section
2018-04-20 10:30:41 +03:00
Semih Tok
5583f5c48f
Broken "C API" page link fixed
...
C API link doesn't work. Probably needs to redirect -> https://apple.github.io/foundationdb/api-c.html
2018-04-20 10:15:24 +03:00
Douglas Daniels
dc7d455391
Fix go documentation URLs
2018-04-19 22:43:11 -05:00
Vince Polsinelli
a52e8b8f3c
Fixed broken links to documentation
2018-04-19 11:45:24 -07:00
Alec Grieser
90773ec03b
Merge pull request #190 from vince105/broken-readme-links
...
Fixed broken links to documentation
2018-04-19 11:44:57 -07:00
Bruce Mitchener
2f8a0240f1
Fix some typos.
2018-04-19 11:44:01 -07:00
Alec Grieser
7161a7cec5
Merge pull request #189 from waywardmonkeys/fix-typos
...
Fix some typos.
2018-04-19 11:40:06 -07:00
Vince Polsinelli
e2844b12a4
Fixed broken links to documentation
2018-04-19 14:34:03 -04:00
Bruce Mitchener
9cdf25eda3
Fix some typos.
2018-04-20 00:49:22 +07:00
Alec Grieser
23ef89ae62
Merge remote-tracking branch 'upstream/release-5.1' into merge-release-5.2
2018-04-19 10:24:43 -07:00
Alec Grieser
bba4c065cb
fix broken links within javadocs
2018-04-19 09:44:40 -07:00
Evan Tschannen
db98c1b9b6
Merge branch 'release-5.1' into release-5.2
...
# Conflicts:
# versions.target
2018-04-17 18:36:19 -07:00
John Brownlee
7bd9324092
Merge pull request #125 from brownleej/go-doc-build-removal
...
Removes the steps to build godoc from our Makefile
2018-04-13 08:55:35 -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
1f4cca9db3
remove lingering nodejs files
2018-04-11 08:45:42 -07:00
Evan Tschannen
c1ba16b3c8
Merge branch 'release-5.1' into release-5.2
...
# Conflicts:
# bindings/java/src/test/com/apple/foundationdb/test/AbstractTester.java
# bindings/java/src/test/com/apple/foundationdb/test/VersionstampSmokeTest.java
# bindings/nodejs/lib/fdb.js
# bindings/nodejs/src/Version.h
# bindings/nodejs/tests/tuple_test.js
2018-04-10 16:50:47 -07:00
Alex Miller
f0dd14f109
Merge pull request #122 from AlvinMooreSr/release-5.1-docker
...
Added Dockerfile build file for building packages
2018-04-10 14:46:25 -07:00
Alec Grieser
1efb007648
spaces to tabs
...
Our Java bindings were in a state where we had a handful of files that were indented with spaces, while the rest were indented with tabs. In the interest of (1) fixing all of the indentation without (2) blowing all history, it seemed expedient to use tabs everywhere. So, here we are.
2018-04-09 19:03:47 -07:00
John Brownlee
89088ad469
Updates generated go file to recommend using the locally checked out fdb.options file.
2018-04-08 21:09:21 -07:00
Alec Grieser
ff956c3fde
removed references to nodejs bindings
...
issue: Node.js Bindings #129
2018-04-06 17:17:45 -07:00
Alec Grieser
0d08fcf1d3
removed old node.js bindings
...
issue: Node.js Bindings #129
2018-04-06 17:16:17 -07:00
John Brownlee
e35ebc4ccb
Updates the format of the generated go file so that it passes our format check.
...
Explicitly adds the generated go file into the GO_SRC in the Makefile to make the dependency relationships more clear.
Adds the standard Go header to our generated Go file.
2018-04-06 11:33:54 -07:00
John Brownlee
4605f381ac
Adds the generated go file to source control.
2018-03-30 12:13:38 -07:00
John Brownlee
ca34f924f3
Removes the step to build the go docs from the Makefile.
2018-03-30 11:16:19 -07:00
Alvin Moore
b84a0e789f
Added Dockerfile build file for building packages
...
Removed package dependency not preventing Dockerfile from building packages target
2018-03-27 13:16:09 -07:00
A.J. Beamon
3bdbb83ed9
Use strinc correctly in ruby directory layer
2018-03-27 08:36:25 -07:00
AlvinMooreSr
c6347c79f5
Merge pull request #114 from apple/release-5.1
...
Release 5.1 Merge
2018-03-22 10:31:47 -07:00
Alec Grieser
96a27fe626
Merge remote-tracking branch 'upstream/release-5.1' into javadocs-warnings-fix
2018-03-22 09:56:49 -07:00
Alec Grieser
a2d3c66379
minor text fixes
2018-03-22 09:53:05 -07:00
Yichi Chiang
5a63af8f3f
Add 'the' word back in javadoc in DirectoryPartition.java
2018-03-22 09:22:13 -07:00
Yichi Chiang
1ecf9ebeae
Merge branch 'release-5.1' of github.com:apple/foundationdb into fix-java-dead-links
2018-03-22 09:18:37 -07:00
Alec Grieser
8d424a5097
javadoc prose fixes
2018-03-21 19:25:36 -07:00
Alec Grieser
4c7c660adb
clean up Tuple javadocs
2018-03-21 19:24:08 -07:00
A.J. Beamon
e2d3afb621
Merge branch 'release-5.1' into merge-release-5.1-into-release-5.2
...
# Conflicts:
# Makefile
# documentation/sphinx/Makefile
# documentation/sphinx/source/administration.rst
# documentation/sphinx/source/anti-features.rst
# documentation/sphinx/source/api-general.rst
# documentation/sphinx/source/building-cluster.rst
# documentation/sphinx/source/class-scheduling-go.rst
# documentation/sphinx/source/class-scheduling-java.rst
# documentation/sphinx/source/class-scheduling-ruby.rst
# documentation/sphinx/source/class-scheduling.rst
# documentation/sphinx/source/command-line-interface.rst
# documentation/sphinx/source/configuration.rst
# documentation/sphinx/source/downloads.rst
# documentation/sphinx/source/fault-tolerance.rst
# documentation/sphinx/source/features.rst
# documentation/sphinx/source/getting-started-linux.rst
# documentation/sphinx/source/getting-started-mac.rst
# documentation/sphinx/source/guide-common.rst.inc
# documentation/sphinx/source/hierarchical-documents-java.rst
# documentation/sphinx/source/index.rst
# documentation/sphinx/source/known-limitations.rst
# documentation/sphinx/source/multimaps-java.rst
# documentation/sphinx/source/performance.rst
# documentation/sphinx/source/segmented-range-reads-java.rst
# documentation/sphinx/source/simple-indexes-java.rst
# documentation/sphinx/source/spatial-indexing-java.rst
# documentation/sphinx/source/subspace-indirection-java.rst
# documentation/sphinx/source/tables-java.rst
# documentation/sphinx/source/vector-java.rst
# versions.target
2018-03-21 09:28:10 -07:00
Yichi Chiang
f23df874ce
Fix review comments
2018-03-20 16:45:34 -07:00
Alvin Moore
8af451dae5
Added clean targets
...
Merged upstream into branch
2018-03-20 15:43:14 -07:00
Yichi Chiang
e9e8674516
Fix java dead links and anchors
2018-03-20 15:31:17 -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
9ed7861f8b
make the go build dependencies more sane
2018-03-20 11:31:49 -07:00
Alec Grieser
f263b2c6bd
fix typo ; add javadoc return thing ; add some exceptions to trigger if thing succeeds
2018-03-20 09:39:19 -07:00
Alec Grieser
f168e349d6
Merge pull request #99 from brownleej/godocs-dependency-fix
...
Add generated.go as a dependency for the godocs.
2018-03-20 09:30:42 -07:00
Alec Grieser
c8cbbbc865
Merge pull request #100 from ajbeamon/release-5.1
...
Fix Python3 directory layer bug where str() was used instead of bytes()…
2018-03-20 09:23:22 -07:00
Alec Grieser
8a2aaf1268
remove somewhat questionable fallback if /user/libexec/java_home is not present
2018-03-20 09:17:16 -07:00
Alec Grieser
fd5763efa4
fixed all the warnings making javadocs
2018-03-19 18:45:21 -07:00
A.J. Beamon
af738e0f45
Fix Python3 directory layer bug where str() was used instead of bytes(). Fix bug in binding tester that caused directory tests to not compare results, which resulted in the directory layer bug going undetected.
2018-03-19 15:47:56 -07:00
John Brownlee
828e08a345
Add generated.go as a dependency for the godocs.
2018-03-19 14:55:28 -07:00
Alec Grieser
03fc931e86
use JAVA_HOME to find location of JVM for headers for JNI build
2018-03-19 14:06:17 -07:00