Commit Graph

138 Commits

Author SHA1 Message Date
Markus Pilman 0fbe7101c3 Revert "Revert "Request tracing""
This reverts commit 327cc31e35.
2020-07-07 10:06:13 -06:00
Jingyu Zhou 327cc31e35
Revert "Request tracing" 2020-06-16 12:32:42 -07:00
Meng Xu 8595813b7d
Merge pull request #3355 from apple/release-6.3
Merge Release 6.3 into master branch
2020-06-12 20:08:47 -07:00
Daniel Smith 2243ee0033
s/NULL/nullptr/
Co-authored-by: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-06-11 12:06:16 -04:00
Daniel Smith 8088bf7212 Move flush call onto main thread to make TraceBatch not thread hostile 2020-06-11 15:53:29 +00:00
Markus Pilman 09c136e434 Framework for transaction tracing 2020-06-08 16:09:37 -07:00
Markus Pilman 8a7d98ab21 Started instrumentation 2020-05-27 15:36:04 -07:00
Markus Pilman d748166ed3 Merge branch 'master' of github.com:apple/foundationdb into features/flatbuffers-debugtx 2020-05-18 10:15:58 -07:00
Alex Miller 27da91ab9e Merge remote-tracking branch 'upstream/master' into mutation-debugging 2020-05-13 12:51:44 -07:00
A.J. Beamon 47477382b1 Fix invalid trace event detail named "Type" 2020-05-07 11:22:32 -07:00
Markus Pilman 1c8db89ad4 Implement missing destructor 2020-05-06 14:18:53 -07:00
Markus Pilman 1453ca6303 Added log writer 2020-05-05 17:58:41 -07:00
Markus Pilman 2f0339334f moved dummy pool - started implementation of backend 2020-04-28 20:52:23 +00:00
Markus Pilman ca5946dd29 Implemented a chunk allocator for FB messages 2020-04-22 11:51:31 -07:00
Markus Pilman 9f114d96c1 Merge branch 'master' of github.com:apple/foundationdb into features/flatbuffers-debugtx 2020-04-16 12:32:19 -07:00
Evan Tschannen a3598a7616
Merge pull request #2738 from ajbeamon/fix-assertion-failure-on-io-error
Fix assertion failure in SQLite thread pools on io_error
2020-04-14 16:48:22 -07:00
A.J. Beamon c851ee4031
Merge pull request #2897 from tclinken/fix-trace-batch-loggroup-and-role
Annotate trace batch events before dumping
2020-04-13 11:22:51 -07:00
tclinken 8ef5a04896 Guard all of annotateEvent with mutex 2020-04-10 13:03:15 -07:00
tclinken 01285f3374 Delay annotation of trace batch events created before trace file is opened 2020-04-09 14:09:00 -07:00
Markus Pilman 9beb191932 Merge branch 'master' of github.com:apple/foundationdb into features/flatbuffers-debugtx 2020-04-06 09:38:58 -07:00
tclinken 10fee8fafc Annotate trace batch events before dumping 2020-04-02 19:34:02 -07:00
Markus Pilman 3e3ac9f67d Added interface 2020-04-01 14:41:16 -07:00
Xin Dong 6820167d77
Merge branch 'master' into feature/1689/allow-custome-trace-log-file-identifier 2020-03-31 16:50:46 -07:00
Xin Dong 2805111a32 When provided with a custome identifier, use that string instead of the port/PID as the last part of the baseName. 2020-03-31 11:02:02 -07:00
Alex Miller cd65f301dd Merge remote-tracking branch 'upstream/master' into mutation-debugging 2020-03-27 03:47:24 -07:00
Alex Miller 72e5891058 Clean up and rework the debugMutation API.
As a relatively unknown debugging tool for simulation tests, one could
have simulation print when a particular key is handled in various stages
of the commit process.  This functionality was enabled by changing a 0
to a 1 in an #if, and changing a constant to the key in question.

As a proxy and storage server handle mutations, they call debugMutation
or debugKeyRange, which then checks against the mutation against the key
in question, and logs if they match.  A mixture of printfs and
TraceEvents would then be emitted, and for this to actually be usable,
one also needs to comment out some particularly spammy debugKeyRange()
calls.

This PR reworks the API of debugMutation/debugKeyRange, pulls it out
into its own file, and trims what is logged by default into something
useful and understandable:
* debugMutation() now returns a TraceEvent, that one can add more details to before it is logged.
* Data distribution and storage server cleanup operations are no longer logged by default
2020-03-27 03:30:28 -07:00
Xin Dong 03e2102a21 Fix macOS build failure. 2020-03-26 11:41:36 -07:00
Xin Dong a0177a9335 Allow the user to provide a custome trace log file identifier that will be used as the prefix of all trace log files created at the client side. 2020-03-26 11:25:05 -07:00
tclinken baf0fe956c Take trace mutex in setLogGroup 2020-03-26 09:55:03 -07:00
tclinken 7d5ed53215 Allow trace log group to be set after database is created 2020-03-25 13:40:43 -07:00
Balachandar Namasivayam 58a9bfa78b
Merge pull request #2820 from dongxinEric/fix/1977/add-back-trace-event-flush-failure-report
Fix/1977/add back trace event flush failure report
2020-03-18 16:11:44 -07:00
Evan Tschannen e08f0201f1 merge release 6.2 into master 2020-03-17 12:51:47 -07:00
Xin Dong 31a9f0a26c Fix the segfault 2020-03-17 11:03:46 -07:00
A.J. Beamon f1523bd472 Setting the network thread more than once is a no-op 2020-03-16 15:37:06 -07:00
A.J. Beamon 7769218303 Move an increment after an ASSERT. 2020-03-16 14:11:07 -07:00
A.J. Beamon d8cfabe73b Extend the allocation tracing disabling flag to cover more parts of trace logging as a precaution. Make it possible to disable via knob. 2020-03-16 13:59:31 -07:00
Xin Dong 89861c661e Fix the random crash. Use a thread safe 'ThreadReturnPromise' instead of the ThreadFuture. 2020-03-16 13:36:55 -07:00
Xin Dong 5967ef5eab Added back the changes that report trace log flush failures and fix the random crash 2020-03-12 14:34:19 -07:00
A.J. Beamon 2466749648 Don't disallow allocation tracking when a trace event is open because we now have state trace events. Instead, only block allocation tracking while we are in the middle of allocation tracking already to prevent recursion. 2020-03-12 11:17:49 -07:00
Evan Tschannen 303df197cf Merge branch 'release-6.2'
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	documentation/sphinx/source/release-notes.rst
#	fdbbackup/backup.actor.cpp
#	fdbclient/NativeAPI.actor.cpp
#	fdbclient/NativeAPI.actor.h
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogRouter.actor.cpp
#	fdbserver/SkipList.cpp
#	fdbserver/fdbserver.actor.cpp
#	flow/CMakeLists.txt
#	flow/Knobs.cpp
#	flow/Knobs.h
#	flow/flow.vcxproj
#	flow/flow.vcxproj.filters
#	versions.target
2020-03-06 18:22:46 -08:00
Evan Tschannen 1128666840 added additional logging on the log router 2020-03-05 18:17:06 -08:00
Xin Dong 39610d15f8 Revert this change since it somehow introduced a random crash detected on circus 2020-03-04 16:14:38 -08:00
Xin Dong 16575ae94d Address review comments 2020-02-27 11:54:15 -08:00
Xin Dong 4ac7b36e44 Added back the mutex holder that was removed accidentally 2020-02-27 10:19:17 -08:00
Xin Dong 7b51ab6b63 Rebased with master 2020-02-25 15:43:33 -08:00
Xin Dong f20619c9fb Resolve review comments. Changed how issues got cleared 2020-02-25 15:39:51 -08:00
Xin Dong 3f24ae93f2 Remove the unused variable 2020-02-25 15:39:38 -08:00
Xin Dong 090c89e90a Addressed review comments. Fix the bug where issues on a worker may be wrongly cleared by subsequent GetDBinfo request. 2020-02-25 15:39:38 -08:00
Xin Dong 288e95c7e1 Reallocate the issues set after each get. Changed an issues name to be accurate 2020-02-25 15:39:09 -08:00
Xin Dong 1c346fcfb0 Added the new issues into Status Schema. Remove the issue reporting in lastError since:
- If the issue string contains the error number, status schema needs to be super verbose to include all possible issue strings
- If the issue string does not contain the error number, the generic issue string can be pretty useless.

Thus now specific issues are being reported before calling lastError
2020-02-25 15:38:14 -08:00