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