Commit Graph

4303 Commits

Author SHA1 Message Date
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
Alec Grieser 1ac8ecf55e
Merge pull request #1187 from ryanworl/bindings/go-tuple-layer-versionstamps
Add Versionstamp support to the Go Tuple layer
2019-03-11 12:36:47 -07:00
Ryan Worl d90da27ee5 Add Go to list of supported bindings for `set_versionstamped_key` in the Tuple layer. 2019-03-11 14:33:32 -04: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
Evan Tschannen c304397166 fixed a memory leak when allocating memory > 4K and < 8K 2019-03-10 21:13:00 -07:00
Ryan Worl 92167fd03f handle incomplete versionstamp attempting to be packed into vanilla tuple 2019-03-09 11:11:22 -05:00
Ryan Worl 8066556753 address review comments and bugs after running binding tester compared to python bindings 2019-03-09 10:48:22 -05:00
Balachandar Namasivayam 0dfca4435b
Merge pull request #1266 from alexmiller-apple/buildfix
Fix part of the windows build by adding a header
2019-03-08 22:58:26 -08:00
Alex Miller 59f598ab51 Try adding a header? 2019-03-08 21:46:32 -08:00
Jingyu Zhou 17710ae143
Merge pull request #1265 from bnamasivayam/trying-to-fix-msvc14-issue
Code refactor to fix windows msvc14 compiler errors.
2019-03-08 15:39:56 -08:00
Balachandar Namasivayam b9acc9a0e8 Code refactor to fix windows msvc14 compiler errors. 2019-03-08 15:13:11 -08:00
Andrew Noyes 121ed4acf9 Trace the cmake SEED
This will be included in the repro instructions, so we need to trace it
to keep track of it.
2019-03-08 15:03:56 -08:00
Andrew Noyes 657c11b00b Add snowflake-ci to docker-compose
This is intended to be used for easy reproduction of failures found by
snowflake's planned CI.
2019-03-08 15:03:56 -08:00
mpilman ebffe8c633 print correct pahes in alloc instrumentation 2019-03-08 15:03:17 -08:00
mpilman f593562743 use 8KB pages in Arena 2019-03-08 15:03:17 -08:00
mpilman 426da90493 Add 8192 bit fast allocator
StorageServer is getting close to 4KB on older gccs. However,
on some systems (for example Fedora) the storageServer actor
is already larger than 4KB. This results in a linker error.
2019-03-08 15:03:17 -08:00
Vishesh Yadav 291522383a
Merge pull request #1259 from alexmiller-apple/assertfix
Remove a broken ASSERT.
2019-03-08 11:11:31 -08:00
Alex Miller 4891d31cc0 Remove a broken ASSERT.
It's now totally valid to have:
permits=3
take(1)
take(2)
take(72)

and the take(72) will only be granted once the first two finish.
2019-03-07 18:31:18 -08:00
mpilman 668eaeb8ae Packages tested and all seems working 2019-03-07 16:49:29 -08:00
mpilman 51ccdb1c9b Remove pidof hack as it was not stable 2019-03-07 16:49:29 -08:00
mpilman da72306642 several minor bug fixes 2019-03-07 16:49:29 -08:00
mpilman 66cf5438bd Account for rpmsave in keep_config test 2019-03-07 16:49:29 -08:00
mpilman 645eba7b58 fixed cmake generated symlinks 2019-03-07 16:49:29 -08:00
mpilman 55f4d78fcf Support generating el6 and el7 rpms 2019-03-07 16:49:29 -08:00
mpilman 294baa4091 Fix package naming 2019-03-07 16:49:29 -08:00
mpilman e8624efb3b several minor improvements 2019-03-07 16:49:29 -08:00
mpilman 2b11a66ff9 Improved package testing
The requirements changed here - so in order to test these
cmake changes properly, we need a framework that does that
2019-03-07 16:49:29 -08:00
mpilman 42e0a89a66 This makes package generation work
Resulting packages are not tested yet
2019-03-07 16:49:29 -08:00
mpilman 2537f26de6 First implementaion of more user-friendly cpack
Up unto here this code is only very rudiemantery tested.

This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.

In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.

Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
Andrew Noyes 27d199409e Add KillRegion.actor.cpp workload to cmake 2019-03-07 12:14:42 -08:00
Balachandar Namasivayam 9e4c780baa
Merge pull request #1249 from xumengpanda/mengxu/status/teamcollection-info
Status:healthy: Add optimizing_team_collections
2019-03-07 11:44:24 -08:00
Alec Grieser 83e4b966d5 Resolves #1235: Java: FDBExceptions are created successful operation completion (#1236)
The native function `NativeFuture::Future_getError` now returns `null` when the error code is 0 instead of an `FDBException` with a "Success" message and an error code of 0. This was only used in two places within the codebase; those two places now check for `null` errors and treats them like successes.
2019-03-06 18:34:36 -08:00
Steve Atherton 157fe98be7
Merge pull request #1253 from bnamasivayam/master
Address review comments.
2019-03-06 17:42:15 -08:00
Balachandar Namasivayam 43c290b546 Address review comments. 2019-03-06 17:39:29 -08:00
Meng Xu b0a928fc58
Merge pull request #1243 from KrzysFR/patch-1
Add instruction to install Python for CMake/Windows
2019-03-06 17:32:39 -08:00
Meng Xu 1464bceece ReleaseNote: Correct the format
Make the improved replication mechanism feature as bullet instead of
a paragraph.
2019-03-06 17:02:26 -08:00
Balachandar Namasivayam f3391ea413
Merge pull request #1240 from satherton/feature-restore-by-timestamp
Restore by timestamp
2019-03-06 16:21:06 -08:00
Ryan Worl 77f7c0721f revent this again because my environment is dumb 2019-03-06 18:27:43 -05:00
Ryan Worl 2fbc7522e4 review feedback: fix bindingtester test, add comments to versionstamp and other structures, handle nested tuples, handle prefix []byte in PackWithVersionstamp 2019-03-06 18:25:02 -05:00
Meng Xu 845f8fdcbc Status:healthy: Add optimizing_team_collections
Change removing_redundant_teams status name to
optimizing_team_collections.
The new name is more general and can be applied in the future
when we switch storage engines.
2019-03-06 15:05:23 -08:00
mpilman 4a4af6fb2c Make cmake build fail if old build system was used
This changes makes a cmake build check for an existing
versions.h file in the source directory before it builds
anything else. If it finds it it will fail the build.

This is to prevent confusion when someone tries to use cmake
on a source directory where the old build system was used
before (as this is not supported).
2019-03-06 13:48:18 -08:00
Christophe Chevalier eba77bc10c
Update README.md
Update wording of python requirements
2019-03-06 20:50:46 +01:00
Christophe Chevalier 30b914c2a5
Add instruction to install Python for CMake/Windows
I followed the instructions to build with CMake on Windows, but cmake complains about missing Python interpreter.

Installation Python 2.7.x solved the issue.

```
C:\Data\Git\GitHub\foundationdb\build>cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=C:\Users\chevalier\Downloads\boost_1_67_0\boost_1_67_0 c:\data\git\github\foundationdb
-- C:/Data/Git/GitHub/foundationdb C:/Data/Git/GitHub/foundationdb/build
-- Could NOT find LibreSSL, try to set the path to LibreSSL root folder in the system variable LibreSSL_ROOT (missing: LIBRESSL_CRYPTO_LIBRARY LIBRESSL_SSL_LIBRARY LIBRESSL_TLS_LIBRARY LIBRESSL_INCLUDE_DIR)
-- LibreSSL NOT Found - Will compile without TLS Support
-- You can set LibreSSL_ROOT to the LibreSSL install directory to help cmake find it
-- Found JNI: C:/Program Files/Java/jdk-11.0.2/lib/jawt.lib (Required is at least version "1.8")
-- Found Java: C:/Program Files/Java/jdk-11.0.2/bin/java.exe (found suitable version "11.0.2", minimum required is "1.8") found components:  Development
-- Could NOT find Python (missing: Python_EXECUTABLE Interpreter)
CMake Error at cmake/FDBComponents.cmake:46 (message):
  Could not found a suitable python interpreter
Call Stack (most recent call first):
  CMakeLists.txt:60 (include)


-- Configuring incomplete, errors occurred!
See also "C:/Data/Git/GitHub/foundationdb/build/CMakeFiles/CMakeOutput.log".
See also "C:/Data/Git/GitHub/foundationdb/build/CMakeFiles/CMakeError.log".
```

After installing python
```
...
-- Found Python: C:/Python27/python.exe (found version "2.7.16") found components:  Interpreter
...
-- =========================================
--    Components Build Overview
-- =========================================
-- Build Java Bindings:                  ON
-- Build with TLS support:               OFF
-- Build Go bindings:                    OFF
-- Build Ruby bindings:                  OFF
-- Build Python sdist (make package):    ON
-- Build Documentation (make html):      OFF
-- =========================================
-- CPACK_COMPONENTS_ALL
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Data/Git/GitHub/foundationdb/build
```
2019-03-06 15:38:13 +01:00
Stephen Atherton 7778112f6a Bug fix, restore was using the destination cluster to look up timestamps when printing the backup description instead of (optionally) the original cluster which generated the backup. Made missing cluster file errors more clear. 2019-03-06 02:45:55 -08:00
Stephen Atherton 888c4764d3 Bug fix: fdbrestore was not using a default range set. 2019-03-06 01:57:03 -08:00
Stephen Atherton 28e67aa041 Fixed option name to match documentation. 2019-03-05 23:26:45 -08:00