Commit Graph

2072 Commits

Author SHA1 Message Date
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 &lt; and &gt; 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 &lt; and &gt; 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
Alex Miller a975cb82e7 Fix other broken links in java docs. 2018-03-19 13:42:42 -07:00
Alex Miller 9763a61a22 Fix broken links in pointing to cluster file documentation. 2018-03-19 13:25:09 -07:00
John Brownlee 91fa01a5a6 Updates URLs and email addresses in documentation and package config. 2018-03-15 16:30:29 -07:00
Bhaskar Muppana 4c678def64
Merge pull request #82 from brownleej/john-docs-update
More docs updates
2018-03-15 16:19:01 -07:00
John Brownlee 2b36dbc932 Adds sed commands to further mangle our paths in the godocs. 2018-03-15 15:52:22 -07:00
Alec Grieser 5a331b8b9f
change literal angle brackets to html stand-ins within a javadoc comment 2018-03-15 13:36:23 -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
A.J. Beamon d589f3772f
Merge pull request #17 from alecgrieser/api-version-to-520
Bump API version to 520
2018-03-12 14:24:57 -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 cfacbd64a0 revert to using big list for all api versions instead of generating one 2018-03-02 10:33:43 -08:00
Alec Grieser 285e1a1ccc bump API version to 520 2018-03-02 10:30:41 -08:00
A.J. Beamon 0604e842fc Update Java documentation for 5.1 bindings to indicate that only API version 510 is supported. 2018-03-02 10:24:54 -08:00
Alec Grieser c639f72389 fix package names within javadoc target 2018-02-27 18:42:08 -08:00
Alec Grieser 780405f670 Merge branch 'release-5.0' into merge-release-5.0 2018-02-27 18:41:27 -08:00
Alec Grieser 8fb99cae93 fix paths within java local.mk 2018-02-27 18:38:51 -08:00
Alec Grieser a72aa5d8d3 move ruby encoding specification to top ; move node shebang to top ; add in some node code that disappeared mysteriously 2018-02-27 18:28:34 -08:00
Alec Grieser d93f7aa87a
Merge pull request #2 from alecgrieser/node-build-env-vars
Build for NodeJS now allows setting distribution and repo URLs
2018-02-21 14:28:36 -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
Alec Grieser 9f117426bf allow node repo and distribution URLs to be set through make/env variables 2018-02-19 13:25:14 -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 899cb63952 added style check guard to python build 2018-01-26 13:13:15 -08:00
Alec Grieser 51781bb7a8 Merge branch 'release-5.1' into bindings-format 2018-01-26 12:28:29 -08:00
Alec Grieser 9b6cd8e11f added python code style options 2018-01-25 09:48:29 -08:00
Alec Grieser 57986cfe00 format python files to be roughtly pep8 compliant 2018-01-24 19:06:58 -08:00
A.J. Beamon 7b19fe4d11 Remove non-existing file FdbJNI.h from visual studio project 2018-01-24 12:07:43 -08:00
Alec Grieser fa5e7fca38 add go formatting check to go build 2018-01-24 11:30:08 -08:00
Alec Grieser f9051ac7ac format go code to be compliant with gofmt 2018-01-24 11:29:39 -08:00
Alec Grieser 252fb2b152 gotta bump up that version number!
those are rookie version numbers!
2018-01-16 09:39:58 -08:00
Alec Grieser f2221cd16e updated documentation to reflect startNetwork starting a thread 2017-12-15 15:59:51 -08:00
A.J. Beamon 11dba3e8ef Update a bunch of tests and some documentation to use dispose. 2017-12-15 15:19:23 -08:00
Alec Grieser 916105cd35 java now names the network thread "fdb-network-thread" 2017-12-15 12:23:01 -08:00
A.J. Beamon 83b21cc57b Set the thread name for threads created by our default executor in the Java bindings. 2017-12-15 11:00:29 -08:00
A.J. Beamon 33558e2757 Fix links to general FDB documentation. De-double-pluralize Transaction. 2017-12-15 09:19:01 -08:00
A.J. Beamon 8b84d5e7d9 Testing the removal of some pre/post build events in our fdb_java vcxproj file. These built the Java bindings jar, but only for the old bindings that no longer exist. 2017-12-15 08:28:29 -08:00
A.J. Beamon e8c902f57a Add -f to rm command in javadoc_clean makefile target 2017-12-15 08:01:25 -08:00
A.J. Beamon 76ddf38880 Normalize whitespace 2017-12-14 14:53:07 -08:00
Alec Grieser e98b6f4813 fixed indentation in java makefile so that targets get built and so on and so forth
"plus ça change, plus c'est la même chose"
2017-12-14 14:47:53 -08:00
A.J. Beamon 6cef57d695 Merge commit '786c229240cdcdd194212ed8c06f60581f437c84' into java-remove-old-bindings
# Conflicts:
#	bindings/java/src-completable/junit/com/apple/foundationdb/tuple/ArrayUtilTests.java
#	bindings/java/src-completable/main/com/apple/foundationdb/Cluster.java
#	bindings/java/src-completable/main/com/apple/foundationdb/Database.java
#	bindings/java/src-completable/main/com/apple/foundationdb/FDB.java
#	bindings/java/src-completable/main/com/apple/foundationdb/FDBDatabase.java
#	bindings/java/src-completable/main/com/apple/foundationdb/FDBTransaction.java
#	bindings/java/src-completable/main/com/apple/foundationdb/JNIUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/KeySelector.java
#	bindings/java/src-completable/main/com/apple/foundationdb/LocalityUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/NativeFuture.java
#	bindings/java/src-completable/main/com/apple/foundationdb/OptionsSet.java
#	bindings/java/src-completable/main/com/apple/foundationdb/Range.java
#	bindings/java/src-completable/main/com/apple/foundationdb/RangeQuery.java
#	bindings/java/src-completable/main/com/apple/foundationdb/ReadTransactionContext.java
#	bindings/java/src-completable/main/com/apple/foundationdb/Transaction.java
#	bindings/java/src-completable/main/com/apple/foundationdb/TransactionContext.java
#	bindings/java/src-completable/main/com/apple/foundationdb/async/AsyncUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/async/Cancellable.java
#	bindings/java/src-completable/main/com/apple/foundationdb/async/CloneableException.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/DirectoryLayer.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/DirectoryPartition.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/DirectorySubspace.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/DirectoryUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/MismatchedLayerException.java
#	bindings/java/src-completable/main/com/apple/foundationdb/directory/PathUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/subspace/Subspace.java
#	bindings/java/src-completable/main/com/apple/foundationdb/tuple/ByteArrayUtil.java
#	bindings/java/src-completable/main/com/apple/foundationdb/tuple/Tuple.java
#	bindings/java/src-completable/main/com/apple/foundationdb/tuple/TupleUtil.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/AsyncDirectoryExtension.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/AsyncStackTester.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/BlockingBenchmark.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/ConcurrentGetSetGet.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/Context.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/ContinuousSample.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/DirectoryExtension.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/DirectoryTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/DirectoryUtil.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/Example.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/Instruction.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/IterableTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/LocalityTests.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/ParallelRandomScan.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/RangeTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/ReadWrite.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/SerialInsertion.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/SerialIteration.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/SerialTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/StackEntry.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/StackTester.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/StackUtils.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/TupleTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/VersionstampSmokeTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/WatchTest.java
#	bindings/java/src-completable/test/com/apple/foundationdb/test/WhileTrueTest.java
#	bindings/java/src/test/com/apple/foundationdb/test/AsyncPerformanceTester.java
2017-12-14 13:50:56 -08:00
Alec Grieser fd10562b55 made tabulation consistent for two lines 2017-12-14 13:36:34 -08:00
Alec Grieser c88b30b815 SPACES TO TABS I CAN'T EVEN RIGHT NOW 2017-12-14 11:49:47 -08:00
Alec Grieser c7a730006c I have had it with these monkey-fighting whitespaces changes in this Monday-to-Friday repo 2017-12-14 11:45:08 -08:00
Alec Grieser 311bb89258 for some reason, my IDE wants to insert spaces after a tab instead of a tab and I don't like it 🤬 2017-12-14 11:35:11 -08:00
Alec Grieser 87b769f446 rename methods on iterators to include "remaining" ; removed unused version of mapIterable 2017-12-14 11:33:17 -08:00
Alec Grieser 616e27e476 added redundant modifier check to style and then fixed errors it turned up 2017-12-14 11:07:19 -08:00
Alec Grieser 9b1bcea525 added javadocs for DONE, READY_TRUE, and READY_FALSE ; used it in some places instead of CompletableFuture.completedFuture 2017-12-14 10:10:11 -08:00
Alec Grieser 9934b2e09a believe it or not, for once, it's a whitespace only change, spaces -> tabs 🤮 2017-12-14 09:57:24 -08:00
Alec Grieser 08127bd340 Merge remote-tracking branch 'origin/java-add-missing-dispose' into java-future-cleanup 2017-12-13 16:28:15 -08:00
Alec Grieser 33f8b2f7cf added a style guide ; fixed errors found from the style guide ; updated tests to use java 8 closures 2017-12-13 16:16:31 -08:00
A.J. Beamon a5d63ce1e1 Patch up the makefiles and remove references to the completable bindings 2017-12-13 11:07:19 -08:00
A.J. Beamon d6e4eed5f1 Move Java src-completable to src 2017-12-13 10:18:44 -08:00
A.J. Beamon 59799147bd Remove Java src folder 2017-12-13 10:17:53 -08:00
A.J. Beamon 8ea671196f Add missing } in javadoc for Transaction.close 2017-12-13 08:56:35 -08:00
A.J. Beamon 4d749e932c Update known testers now that completable bindings don't support API versions older than 510 2017-12-12 11:16:38 -08:00
Alec Grieser 4d734a4925 Merge branch 'java-add-missing-dispose' into java-future-cleanup 2017-12-12 11:11:46 -08:00
A.J. Beamon b831e869e2 Don't call BoundaryIterator.close if it's already closed. 2017-12-12 10:34:01 -08:00
A.J. Beamon 84a428972e Limit to API version 510. Document the FDB.warnOnUnclosed function. 2017-12-12 09:57:58 -08:00
A.J. Beamon b354c7fc00 Remove unused constructor, add close() to BoundaryIterator finalizer for now, remove unused debug method from NativeFuture 2017-12-12 09:24:34 -08:00
A.J. Beamon db4c3cf740 Minor documentation and import edits 2017-12-11 18:28:17 -08:00
A.J. Beamon f76e6729fc Revert whitespace change 2017-12-11 15:01:28 -08:00
A.J. Beamon 171a7f34ea Replace Disposable with AutoCloseable. Update documentation of close (formerly dispose). Some other small cleanup items. 2017-12-11 14:54:22 -08:00
Alec Grieser 51e7e41256 Merge remote-tracking branch 'origin/java-add-missing-dispose' into java-future-cleanup 2017-12-11 08:55:15 -08:00
Alec Grieser 154000e2c3 move most old-style closures to Java 8-style closures 2017-12-11 08:54:35 -08:00
A.J. Beamon ab431004a3 Database documentation was updated in the wrong place. 2017-12-08 15:37:24 -08:00
A.J. Beamon 0c0069a02e Various fixes to stack tester Transaction reference counting. 2017-12-08 14:52:01 -08:00
A.J. Beamon 570b60fe53 isDone check in NativeFuture.dispose, try/finally for finalizers, some rewriting of stack tester context transaction management. 2017-12-06 13:06:57 -08:00
A.J. Beamon f456c67bda Merge branch 'master' into java-add-missing-dispose
# Conflicts:
#	bindings/java/src-completable/main/com/apple/foundationdb/Cluster.java
#	bindings/java/src-completable/main/com/apple/foundationdb/async/AsyncIterator.java
#	bindings/java/src-completable/main/com/apple/foundationdb/async/AsyncUtil.java
2017-12-06 10:22:39 -08:00
A.J. Beamon 157e32fe2e Various java cleanup. Convert some anonymous classes to lambdas, remove some unnecessary keywords from some interfaces, fix some documentation issues, etc. 2017-12-06 10:16:43 -08:00
A.J. Beamon bfa701ac8e Add a finalizer warning to all Disposable objects. Futures now dispose when marshalled (rather than just release memory). Range futures gets disposed as soon as their results are actually marshalled (in RangeQuery). AsyncIterator is no longer disposable, but a new interface DisposableAsyncIterator provides a disposable version. getBoundaryKeys returns a DisposableAsyncIterator rather than an AsyncIterable. Update the stack testers to dispose of their objects. 2017-12-06 09:58:53 -08:00
Alec Grieser 773a239830 whitespace fixes 🤮 2017-12-05 08:45:40 -08:00
Alec Grieser 8971f35a73 fixed some errors found by inspection 2017-12-04 10:16:57 -08:00
Alec Grieser 9d5aa5fc96 pass -Xlint to javac ; fix kvetching 2017-12-04 09:56:35 -08:00
A.J. Beamon 3ded271153 Dispose of Cluster objects in fdb.open() 2017-11-17 12:21:14 -08:00
Alec Grieser f657be8136 add a space to match the bracing style used in this file 2017-11-17 09:55:11 -08:00
A.J. Beamon 0981e0dcdd Dispose of newly created transactions if transfer() fails. 2017-11-17 09:47:17 -08:00
A.J. Beamon 5b5850e097 The dispose in Database.createTransaction was supposed to happen on error, not in the finally block 2017-11-16 10:50:13 -08:00
A.J. Beamon db017317ac Update the Java bindings to call add missing dispose calls. 2017-11-15 15:56:50 -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
A.J. Beamon fee6734e71 Add braces around multiline if block 2017-11-06 16:38:32 -08:00
Alec Grieser 396434794d some python versionstamp api tweaks 2017-11-06 14:56:41 -08:00
Alec Grieser dafe553dc1 now pass along firstChunk when doing asList to avoid making two calls 2017-11-02 17:15:23 -07:00
Alec Grieser eb62b9d9a9 add overload to whileTrue that takes supplier ; deprecated version that takes a Function 2017-11-01 11:21:23 -07: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 381928535c removed spurious 'at' ; fixed whitespace 🤮 2017-10-26 09:27:34 -07:00
Alec Grieser 5cc4328602 Merge remote-tracking branch 'origin/master' into bindings-versionstamps-in-tuples 2017-10-26 08:58:09 -07:00
Balachandar Namasivayam cfefab18fb Merge branch 'master' into add-new-atomic-ops 2017-10-25 18:03:34 -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 9dd588dcce Addressed review comments.
Changed naming for NewMin and NewAnd to MinV2 and AndV2
2017-10-25 14:48:05 -07:00
Alec Grieser 2b293242f6 resolver -> db ; correct versionstamp spelling 2017-10-25 13:38:03 -07:00
Alec Grieser 957243a88e tuple encoding now has fewer copies ; various java 8 vs java 6 inconsistency fixes 2017-10-25 10:53:33 -07:00
Alec Grieser 1855f876db Merge remote-tracking branch 'origin/master' into bindings-versionstamps-in-tuples 2017-10-24 18:08:47 -07:00
Alec Grieser 929fa5699a tuple and versionstamp documentation updates 2017-10-24 17:53:16 -07:00
Alec Grieser deb48641e3 use a constant instead of 12 ; some better comments ; remove prefix_len weirdness 2017-10-24 16:40:58 -07:00
Alec Grieser 584b56ecaf bindingtester spec typos ; pack versionstamps more naturally ; fix double/float mixup 2017-10-24 16:08:19 -07:00
Alec Grieser f0bca54061 mostly javadocs fixes 2017-10-24 16:06:56 -07:00
Alec Grieser a2b7fce4d9 whitespace changes 2017-10-24 15:44:39 -07:00
Alec Grieser e2932b7660 fixed unnecessary differences between src and src-completable versions of TupleUtil 2017-10-24 12:03:28 -07:00
Alec Grieser d7adaf766c whitespace fixes 🤮 2017-10-24 11:58:45 -07:00
Alec Grieser 9baa8c30b5 added hashCode implementation to subspace 2017-10-23 09:12:45 -07:00
Alec Grieser dd6d8f3b0e Merge branch 'master' into add-new-atomic-ops 2017-10-18 16:36:44 -07:00
Alec Grieser 1ebdd574cd fixed some sneaky references to com.apple.cie.foundationdb hiding in javadocs 2017-10-18 14:16:46 -07:00
Alec Grieser c12c928141 Merge branch 'master' into bindings-versionstamps-in-tuples 2017-10-18 14:13:01 -07:00
Alec Grieser d40eb1ef9a changed java package from com.apple.cie.foundationdb to com.apple.foundationdb 2017-10-16 08:31:44 -07:00
Alec Grieser 18432f235f moved java files from com/apple/apple/foundationdbdb to com/apple/foundationdb in preparation for package rename 2017-10-16 08:11:41 -07:00
Alec Grieser 09e54aa23b ~~whitespace fixes~~ 2017-10-11 14:54:49 -07:00
Alec Grieser 2722e6d99e added a helper method to fdb.Subspace and updated some docs 2017-10-11 14:48:09 -07:00
Balachandar Namasivayam 8e0bea2795 Update API_VERSION from 500 to 510 2017-10-11 13:49:38 -07:00
Alec Grieser 5e44aa06e4 python tester now sometimes uses has_incomplete_versionstamp 2017-10-11 11:00:16 -07:00
Alec Grieser 9fd934e002 added packWithVersionstamp to subspace ; some testing/javadocs tweaks 2017-10-11 10:53:51 -07:00
Alec Grieser f95553aca2 updated javadocs 2017-10-10 16:56:32 -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
Alec Grieser fc97fa3c8d added documentation for versionstamped tuples to python docs 2017-10-10 09:12:42 -07:00
Alec Grieser 2868908c14 make use of Tuple.pack(prefix) in java tests 2017-10-09 15:28:52 -07:00
Alec Grieser 152e10eba1 added hasIncompleteVersionstamp utility method to tuples 2017-10-09 13:52:00 -07:00
Alec Grieser a9cc7af79e added versionstamps to java tuples 2017-10-09 11:07:34 -07:00
A.J. Beamon d886b95628 Merge pull request #131 from cie/33300740-with-shutdown-hooks
<rdar://problem/33300740> Java: support callbacks from external multi-version client threads
2017-10-04 09:17:25 -07:00
Evan Tschannen ef41b07bb3 renamed past_version to transaction_too_old
implemented read_lock_aware option
2017-09-28 16:35:08 -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
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 91281ec754 Don't use SetByteArrayRegion for get range results. 2017-09-27 13:41:06 -07:00
Alec Grieser 80f559d148 changed name from thread_completion_hook to network_thread_completion_hook 2017-09-27 11:30:39 -07:00
Alec Grieser 18edc56559 removed unused local variable 2017-09-27 09:32:31 -07:00
Alec Grieser d7e1b267be changed name from shutdown hook to thread completion hook ; added hook parameter 2017-09-26 17:00:04 -07:00
Alec Grieser a5f1c3b15b Merge remote-tracking branch 'origin/master' into 33300740-with-shutdown-hooks 2017-09-26 11:28:40 -07:00
Ben Collins 21688afeb3 Merge pull request #155 from cie/feature-jni-no-memcpy
Fix possible leaks, move to SetByteArrayRegion()
2017-09-20 11:01:29 -07:00
A.J. Beamon da9b56e1ef More use of SetByteArrayRegion and various memory management fixes. 2017-09-20 10:31:25 -07:00
Alvin Moore b1dd2ac6fe Merge branch 'release-5.0' 2017-09-12 13:34:28 -07:00
Alec Grieser 81860eeee7 fixed exclusion rule to actually not take flow tester 2017-09-11 13:04:45 -07:00
A.J. Beamon a3eceb71ec Merge branch 'release-5.0' 2017-09-01 12:37:16 -07:00
A.J. Beamon 560e172c46 tests: Update binding single key get range performance test to specify a limit of 2 and use exact mode. 2017-09-01 12:36:24 -07:00
Alvin Moore 0994587573 Fixed OS X compilation build warnings due to printf field specifiers 2017-09-01 09:35:56 -07:00
Alvin Moore fd439e9d1c Fixed OS X compilation build warnings due to printf field type specifiers 2017-09-01 09:34:53 -07:00
Ben Collins 52f5ad83ea Clean up some boilerplate by switching to SetByteArrayRegion() 2017-09-01 09:29:11 -07:00
Ben Collins f19deec5d7 Remove a few more outdated items 2017-09-01 09:15:59 -07:00
Alec Grieser e31a7ff354 Merge branch 'release-5.0' 2017-08-24 17:07:35 -07:00
Alec Grieser 45ade048c4 use apple internal repos for node stuff 2017-08-24 16:30:39 -07:00
A.J. Beamon f8be643662 Merge branch 'release-5.0' 2017-08-09 15:30:43 -07:00
A.J. Beamon 853a98053c Move some memory related activities outside of the timed block 2017-08-09 14:36:19 -07:00
Alec Grieser baa9998e4d Merge branch 'release-5.0' 2017-08-07 10:44:04 -07:00
Alec Grieser 2499aac09d for once, a whitespace change 2017-08-07 09:51:53 -07:00
Alec Grieser b8b61a66b3 maybeLogError uses logError ; FDB_API_VERSION defined in test.h 2017-08-02 21:58:51 -07:00
Alec Grieser 604be02f62 spaces to tabs 😢 2017-08-02 21:55:36 -07:00
Alec Grieser d34e301dc6 added c performance test ; make packages now includes archive of them 2017-07-31 18:08:13 -07:00
Alec Grieser 83bf2ee312 added add_shutdown_hook to fdb_c api and used it to detach java threads where appropriate 2017-07-25 15:57:26 -07:00
Alec Grieser 5a33d102a9 Merge branch '33300740-java-bindings-callbacks-on-external-threads' into 33300740-with-shutdown-hooks 2017-07-24 16:52:25 -07:00
Alec Grieser ee1e413927 fix whitespace issues <grumble, grumble> 2017-07-24 10:09:54 -07:00
Alec Grieser 68e539164e JNI now tries to attach thread to JVM if g_thread_jenv not set 2017-07-21 18:26:18 -07:00
Alec Grieser e065254b4f Merge branch 'release-5.0' 2017-07-17 17:20:28 -07:00
Alec Grieser 1ef77ef99a java tester support on release-5.0 2017-07-17 16:42:50 -07:00
Alec Grieser c860f09d8a Merge branch 'release-5.0' 2017-07-14 16:01:15 -07:00
Alec Grieser 660729839c moved Notified.h from flow -> fdbclient ; flow bindings package does better job when excluding testers 2017-07-14 15:49:30 -07:00
Alec Grieser 4a9b5d95f2 Merge branch 'master' of github.com:apple/foundationdb 2017-07-13 11:21:26 -07:00
Alec Grieser f75b6f333b Merge branch 'release-5.0' 2017-07-13 11:21:18 -07:00
Alec Grieser b133862db6 added FLOW and FDB_FLOW targets to make packages of flow headers and libs 2017-07-13 10:21:36 -07:00
Alec Grieser 50c206c93e CompletableFuture reference is now an @link 2017-07-12 10:41:31 -07:00
Alec Grieser a5a403fff1 Merge branch 'release-5.0' of github.com:apple/foundationdb into release-5.0 2017-07-12 09:52:49 -07:00
Alec Grieser 6576e62a4e removed FIXME from Javadocs 2017-07-12 09:52:19 -07:00
Alec Grieser 800cbc0ccf added perf tests in python and java for single key get ranges 2017-07-11 19:32:24 -07:00
Alec Grieser a6ed7532c0 now build files into binaries for go when running fdb-go-install 2017-07-10 15:40:26 -07:00
Alec Grieser 3cb6a8faf1 added .PHONY for go targets 2017-07-10 13:45:18 -07:00
Alec Grieser 94f195c6a7 handle name change of fdb-java-completable packages used by circus 2017-07-10 10:33:42 -07:00
Alec Grieser 4a751ffa49 updated paths and formatting with go docs and examples 2017-07-05 17:25:32 -07:00
Alec Grieser 99ca7105a9 messed with the build stuff more to allow for local builds that do not pollute public go path 2017-07-05 14:59:00 -07:00
Alec Grieser 8d09b8554b fixed go imports to use github ; some spaces -> tabs "fixes" 2017-07-04 23:10:11 -07:00
A.J. Beamon 713ca46536 Remove fdb_rpc dependency in fdb_flow_tester 2017-06-30 14:19:24 -07:00
A.J. Beamon f51d8c59fa Add error handling and memory cleanup. 2017-06-30 10:44:13 -07:00
A.J. Beamon 03fe86aa1f RYW benchmark in C 2017-06-29 16:38:57 -07:00
A.J. Beamon da3015c6e5 Update ryw benchmark key count for get range/clear range tests 2017-06-29 15:37:18 -07:00
Alec Grieser e5a8b25d7d fixed KPI names in java tests ; added subspace arg for those tests as well 2017-06-28 14:00:34 -07:00
Alec Grieser 693ef857ad added Java perf tests ; made python ryw tests more to what appears to be the spec 2017-06-27 16:26:29 -07:00
Alec Grieser 06d9e28ebe added new files to fdb_node.target to fix windows build 2017-06-23 15:32:28 -07:00
Alec Grieser 61d8c1a0a1 added FdbUtil to binding.gyp.npmsrc 2017-06-23 14:54:56 -07:00
Alec Grieser c39d353eee Merge pull request #119 from cie/bindings-tuple-improvements
Added docs for new-fangled tuple types for ruby and node
2017-06-23 14:35:03 -07:00
Alec Grieser 8a0155a9d2 removed unused header file 2017-06-23 14:34:12 -07:00
Alec Grieser ed204fe200 added explicit float casting to node C++ extension to avoid undefined behavior 2017-06-23 10:14:28 -07:00
Evan Tschannen 4bdcd8fc12 Merge branch 'release-4.6' into release-5.0
# Conflicts:
#	bindings/bindingtester/run_binding_tester.sh
#	fdbrpc/AsyncFileKAIO.actor.h
2017-06-14 16:43:53 -07:00
A.J. Beamon b0af820d61 Add back a cast that I shouldn’t have removed. 2017-05-26 15:20:47 -07:00
Alec Grieser 0740d587dd Merge pull request #82 from cie/bindings-tuple-improvements
<rdar://problem/30053926> Bindings: Upstream Tuple2 changes from CK's fdbext
2017-05-26 14:38:43 -07:00
Alec Grieser 1bca602956 updated javadoc for fromStream with new types 2017-05-26 14:36:12 -07:00
A.J. Beamon bd3757ba90 We no longer need to cast int to int64_t when inserting into flow tuples. 2017-05-26 14:32:56 -07:00
Alec Grieser d9dffd39ac Merge pull request #111 from cie/java-remove-transaction-reset
Remove transaction reset from Java bindings.
2017-05-26 14:28:51 -07:00
Alec Grieser 15eed95508 Merge pull request #114 from cie/flow-bindings-remove-pre-api500
Flow bindings no longer support API versions prior to 500. Remove DB name argument.
2017-05-26 14:19:08 -07:00
Alec Grieser 1e29aef09c Merge pull request #113 from cie/node-remove-pre-api500-code
Remove old api version specific code, remove dbname from open/createDatabase
2017-05-26 14:18:04 -07:00
A.J. Beamon ad7c4708ec Change streamline tester supported API versions to match node. 2017-05-26 14:00:11 -07:00
A.J. Beamon ca3fdddf03 Flow bindings no longer support API versions prior to 500. Remove DB name argument. 2017-05-26 13:59:10 -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
A.J. Beamon 84d4bfe749 Merge pull request #112 from cie/executor-marshall-on-callback
<rdar://problem/32413365> Java Bindings: Execute marshalling and callbacks off of network thread
2017-05-26 09:16:08 -07:00
FDB Dev Team a674cb4ef4 Initial repository commit 2017-05-25 13:48:44 -07:00