Commit Graph

713 Commits

Author SHA1 Message Date
Alec Grieser 4d734a4925 Merge branch 'java-add-missing-dispose' into java-future-cleanup 2017-12-12 11:11:46 -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 33d047b6e8 Merge branch 'master' into java-add-missing-dispose 2017-12-08 14:53:05 -08:00
A.J. Beamon 0c0069a02e Various fixes to stack tester Transaction reference counting. 2017-12-08 14:52:01 -08:00
Alec Grieser 7818beac18 Merge remote-tracking branch 'origin/java-add-missing-dispose' into java-future-cleanup 2017-12-06 16:44:17 -08:00
Stephen Atherton 872edd7540 Merge branch 'release-5.0'
# Conflicts:
#	fdbclient/FileBackupAgent.actor.cpp
2017-12-06 16:27:04 -08:00
Stephen Atherton 532de63a05 Changed log and range backup task error events to SevWarn from SevError. 2017-12-06 16:21:15 -08:00
Stephen Atherton 41f80bf7ed Renamed an error, changed blob request failure to Warn severity. 2017-12-06 15:58:54 -08:00
Stephen Atherton abb2dd1ebc Merge pull request #214 from cie/alexmiller/fallocate
Use fallocate to zero ranges instead of writing zeroes
2017-12-06 13:47:40 -08:00
Alex Miller 064670a95b Maintain a reference to the IAsyncFile in zeroRange.
And also add some notes about the reference semantics to the IAsyncFile header
for future readers.
2017-12-06 13:41:21 -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
Evan Tschannen 5a947212ed fix: ensure all prior commits have completed before returning that a commit has committed from the disk queue 2017-12-06 12:31:07 -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
Alex Miller 1be6fdf687 Fix hardening compile under MacOS.
...via moving it all to linux-only.  Clang is picky about flags, and the osx
linker doesn't accept -z flags.  Technically, this will likely break
clang-on-linux, but that's not a config that we run and I'll probably end up
fixing it later.
2017-12-05 14:19:29 -08:00
Alex Miller f422e5939b Merge pull request #216 from cie/alexmiller/hardening
Add hardening flags to our compile.
2017-12-05 11:45:21 -08:00
A.J. Beamon 95aeed697b Merge pull request #217 from cie/java-xlint-on
pass -Xlint to javac ; fix kvetching
2017-12-05 08:53:53 -08:00
Alec Grieser 773a239830 whitespace fixes 🤮 2017-12-05 08:45:40 -08:00
Evan Tschannen 44f0f943e8 fix: an abort is not successful until a second dummy transaction in committed to ensure that apply mutations has stopped 2017-12-04 17:21:43 -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
Alex Miller f57880607a Add hardening flags to our compile.
This makes us fully position independant and have a noexec stack.  There's a
small chance that the former part of that can interfere with
gdb/corefiles/stackdumps, but we'll handle that if it becomes a problem.
2017-12-01 19:47:55 -08:00
Evan Tschannen 49dac11a5f added a SevWarnAlways for when a disk queue file grows larger than 20GB 2017-12-01 15:05:17 -08:00
Evan Tschannen 482ac38ca6 added knobs so that the client failure monitoring update rate and the server failure monitoring update rate are separate knobs 2017-12-01 13:04:32 -08:00
Evan Tschannen c3918d892a do not use bandwidth splitting on the keyServer shard, lots of sets and clears to this shard generally means you do not want to create additional data distribution work 2017-11-30 18:28:16 -08:00
Evan Tschannen 0c986f25ed Merge pull request #215 from cie/alexmiller/drtimefix
Fix a race between dumpData and version upgrades.
2017-11-30 18:17:19 -08:00
Alex Miller 7bab3a4ece AsyncFileKAIO will prefer using fallocate's ZERO_RANGE for AsyncFile::zero().
For situations in which we have support for FALLOC_FL_ZERO_RANGE, it's much
faster to use fallocate than manually overwrite the file with zero bytes.  Note
that this support depends on having a kernel from late 2014 or newer, and being
on ext4 or xfs.  If these conditions aren't met, we'll fall back to writing
zeros in 1MB chunks as normal.
2017-11-30 17:57:55 -08:00
Alex Miller 196258080b Refactor zeroing a chunk of a file from DiskQueue into IAsyncFile.
If we're going to do the work to provide more optimized ways to zero files,
then I'd feel better with this being in a more common place, so that any other
zero-ers are likely to reuse it.  It also makes testing easier/more obvious.

Also, because it's needed for correctness, fix the aligned_alloc for OSX, which
wasn't aligned, and use an actually aligned allocation function.
2017-11-30 17:57:55 -08:00
Alex Miller e583beb8f6 Fix a race between dumpData and version upgrades.
This fixes the occasional VersionStampBackupToDB failures, that were caused by
the version upgrade comarision happening before dumpData invocations were
stopped.  Committing the first transaction stops dumpData, and thus we can then
do the primary vs secondary version check correctly.
2017-11-30 17:37:00 -08:00
Alex Miller c7a120c59d Rename IAsyncFile::incrementalDelete -> IAsyncFileSystem::incrementalDeleteFile.
`deleteFile` existed in IAsyncFileSystem, so an incremental delete function
seems to belong more as a virtual method on IAsyncFileSystem than a static
method on IAsyncFile, and the naming should match.

As long as we're here, change IAsyncFile to declare a virtual destructor, so
that it has good and proper C++ behavior.  I presume this is what was vaguely
intended by the default constructor definition that previously existed?
2017-11-30 17:19:10 -08:00
Evan Tschannen 7f72aa7de5 fix: a storage server does not ever need to rollback before a version restored from disk 2017-11-30 11:19:43 -08:00
Evan Tschannen e5a682948c Merge pull request #212 from cie/check-cluster-controller-desired-class
Check cluster controller using desired process class in consistency c…
2017-11-29 15:57:51 -08:00
Yichi Chiang 8ba0eaebff Check cluster controller using desired process class in consistency check 2017-11-29 15:09:23 -08:00
Evan Tschannen 8c51bc4ac4 fixed low latency tests in a way that gives us better test coverage 2017-11-28 18:20:29 -08:00
Evan Tschannen dc624a54dc fix: avoid flushing large queues in simulation when checking latency 2017-11-27 17:23:20 -08:00
Evan Tschannen 062d7ad400 fix: client might not notice a cluster controller which has changed ids because of process class or exclusion changes 2017-11-27 15:08:03 -08:00
Evan Tschannen f9efdf1fc1 fix: typeString was not static, so it added a lot of memory to MutationRef 2017-11-17 23:36:09 -08:00
Alex Miller f19cb3bbbd Merge pull request #208 from cie/alexmiller/grvtfix
Fix the GRV performance regression
2017-11-17 15:00:44 -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
Bhaskar Muppana 1bf84cd51a Merge pull request #210 from bmuppana/backup-logs
Adding TraceEvents for BackupRangeTask.
2017-11-16 19:12:04 -08:00
Bhaskar Muppana 5e596ea670 Adding TraceEvents for BackupRangeTask. 2017-11-16 19:11:31 -08:00