Commit Graph

245 Commits

Author SHA1 Message Date
Balachandar Namasivayam 36c12cd749 Add missing definitions. 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
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
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
Alex Miller af617d68e6 boost 1.52.0 -> 1.67.0 in all vcxproj files 2019-03-05 22:06:12 -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
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 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
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 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 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
mpilman 7a858b902d Most of FDB compiling on Windows with cmake 2019-02-07 15:37:04 -08:00
A.J. Beamon 2173e0acda Remove ClusterOptions from generated sources in Java 2019-01-25 09:30:02 -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
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
Bhaskar Muppana 5a8419e5cf Move Java specific setup into bindings/java/CMakeLists.txt
and s/SET/set
2019-01-02 21:19:08 -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
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 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
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
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
Alec Grieser 46b8612566
bump API version from 520 to 600 2018-07-09 11:00:57 -07:00
Alvin Moore c3f88dbfe1 Merge branch 'master' of github.com:apple/foundationdb into tls-static 2018-07-01 23:13:57 -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
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 0c2e801d40
Merge remote-tracking branch 'upstream/release-5.1' into merge-release-5.1 2018-05-30 11:49:29 -07:00
A.J. Beamon e172a7f6f1 Fix spacing in build file 2018-05-23 15:01:13 -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
Alvin Moore 83c1754181 Modified the groupId to org.foundationdb 2018-05-17 12:53:57 -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 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
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
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
Iuri Sitinschi d52f8eb255 java binding: remove unnecessary collection wrapper 2018-04-30 10:05:53 -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 d2a684363b remove more dev null is web scale options in the binding testers 2018-04-27 12:22:38 -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
Alec Grieser b18f6200db
remove references to read_ahead_disable transaction option in bindings tests 2018-04-11 11:43:01 -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
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
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
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
Yichi Chiang e9e8674516 Fix java dead links and anchors 2018-03-20 15:31:17 -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 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
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
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 8dc05b3d81
added methods to (1) determine if an API version has been selected and (2) get it in flow, go, java, python, and ruby bindings
rdar://problem/33838833
2018-03-14 12:26:00 -07:00
Alec Grieser 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 0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -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 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