Robert Escriva
268093a96d
Adjust all includes to be relative to the root.
...
Remove the use of relative paths. A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h". Adjust so that every include references such a header with the
latter form.
Signed-off-by: Robert Escriva <rescriva@dropbox.com>
2018-10-19 17:35:33 +00:00
Evan Tschannen
db71b60d72
Merge pull request #819 from satherton/feature-redwood
...
Redwood storage engine, initial/experimental version
2018-10-18 18:38:11 -07:00
Evan Tschannen
0217aed74c
Merge branch 'release-6.0'
...
# Conflicts:
# bindings/go/README.md
# documentation/sphinx/source/release-notes.rst
# fdbserver/MasterProxyServer.actor.cpp
# versions.target
2018-10-15 18:38:51 -07:00
A.J. Beamon
419231d798
Fix: status was trying to read a metric under the wrong name, leading to an error that caused the cluster to report itself unhealthy and some metrics to be missing.
2018-10-10 13:33:28 -07:00
Stephen Atherton
22f8a4efa9
Normalized all unit test names to begin with "/" if they should be included in random unit testing.
2018-10-05 22:09:58 -07:00
Evan Tschannen
3922e477a5
Merge branch 'release-6.0'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# fdbclient/ManagementAPI.actor.cpp
# fdbserver/ClusterController.actor.cpp
# fdbserver/DataDistribution.actor.cpp
# fdbserver/LogSystemDiskQueueAdapter.actor.cpp
# fdbserver/SimulatedCluster.actor.cpp
# fdbserver/TLogServer.actor.cpp
2018-10-03 16:57:18 -07:00
A.J. Beamon
84c2e3567f
Fix keys queried to use the RowsQueried metric instead of BytesQueried.
2018-10-01 11:19:28 -07:00
A.J. Beamon
a98fcf5972
Rename durable_lag to durability_lag
2018-10-01 09:58:49 -07:00
A.J. Beamon
f196e2d4dc
Lot metrics about read requests as well as completed reads.
2018-09-27 15:32:39 -07:00
A.J. Beamon
118e21c446
Add new metrics for bytes queried, keys queried, mutation bytes, mutations, and durable lag to the storage role in status.
2018-09-27 14:33:21 -07:00
Alec Grieser
10a8e67266
Merge remote-tracking branch 'upstream/release-6.0' into merge-release-6.0
2018-09-11 21:49:59 -07:00
Stephen Atherton
b47902584b
Added comparison of serialization speed of json_spirit and JsonBuilder to JsonBuilder perf test.
2018-09-10 19:54:27 -07:00
Stephen Atherton
5b8971ef18
Rename JsonString to JsonBuilder
2018-09-10 19:01:24 -07:00
Stephen Atherton
8ed8f290c4
Merge branch 'release-6.0' of github.com:etschannen/foundationdb into evan-6
2018-09-10 13:28:49 -07:00
Stephen Atherton
4753172991
Added support for NaN and infinity in JsonBuilder in double and ascii number interfaces.
2018-09-10 13:28:31 -07:00
Evan Tschannen
63271072e8
fixed linker problem
2018-09-10 12:59:22 -07:00
Stephen Atherton
9febc01106
In simulation, strict JSON parser will print bad input to stdout (not std since whether it's an error depends on context).
2018-09-10 12:07:03 -07:00
Evan Tschannen
ce38ddbd4b
added tests with the + sign
2018-09-10 10:52:15 -07:00
Stephen Atherton
4510881ba1
Added JSON reparsing and error output to all JsonBuilder output tests.
2018-09-10 03:21:55 -07:00
Stephen Atherton
9828db4399
Rewrote ASCII -> JSON number support as sort of a filter which cleans up ASCII numbers into valid JSON. Added tests for strange numbers which tests the generated output by parsing it as JSON.
2018-09-10 03:07:11 -07:00
Evan Tschannen
5bff967763
avoid parsing numbers that are never used as numbers
2018-09-09 23:19:00 -07:00
Stephen Atherton
2afd4cffb9
Simplified raw string writers and added StringRef version so that locality field names in status do not have to be repeatedly copied.
2018-09-09 22:47:12 -07:00
Stephen Atherton
41b03f6f68
Some refactoring in JsonBuilder to remove code duplication and make some expressions simpler. Some performance improvements, switched vector to VectorRef and used its bulk append method, and redirected basic mValue types to faster serialization. Added StringRef writeValue() method so that locality field writing in status does not have to use toString().
2018-09-09 22:39:51 -07:00
Stephen Atherton
7ca304d209
Bug fix, adding empty JsonBuilder object or array to same would cause an errant comma at the end of the target.
2018-09-09 22:11:11 -07:00
Stephen Atherton
2d6632dfc6
Added more JsonBuilder unit tests, some of which fail.
2018-09-09 22:05:04 -07:00
Evan Tschannen
84737b1fbe
speed up status
2018-09-09 18:12:41 -07:00
Stephen Atherton
ce6a9da423
Added JsonBuilder performance unit test for tracking optimizations.
2018-09-08 18:05:16 -07:00
Stephen Atherton
21c7ed2b50
JsonString refactored so that type compatibility is enforced at compile time. Specific JSON types are handled with subclasses that have type-specific access methods and a caller's intentions can no longer be ambiguous. Nothing that compiles should be able to produce malformed JSON.
2018-09-08 15:44:48 -07:00
Stephen Atherton
ce3f01a0cf
Added concept of type to JsonString. Appending single items or key/value pairs is now type-safe and only allowed in certain cases. JsonString will refuse to produce invalid JSON. All duplicative functions have been replaced with templates. Encoding of values uses json_spirit's value writer which should be no worse performance than format() and it will escape everything properly. Final string form is now built directly using knowledge of type, such as when an instance becomes an Array or Object the appropriate opening character is written. This avoids a full copy just to prepend the opening character later. Index interface for key/value pairs no longer makes a temporary copy of the key string. JsonString is now only needed by Status.actor.cpp. Still more work to be done here.
2018-09-08 07:15:28 -07:00
Evan Tschannen
d3c8d7ab4e
fix: status would generate invalid json
2018-09-07 18:26:05 -07:00
Bhaskar Muppana
70ba750bcd
dbName is not used anymore.
2018-09-06 14:31:26 -07:00
Bhaskar Muppana
920fd3fe97
Merge branch 'release-6.0'
2018-09-06 14:24:02 -07:00
Evan Tschannen
98651bafb1
removed _keyNames from JsonString
2018-09-05 22:51:15 -07:00
Evan Tschannen
90301f497f
Merge branch 'release-6.0'
...
# Conflicts:
# fdbclient/ManagementAPI.actor.cpp
# fdbrpc/FlowTransport.actor.cpp
# fdbrpc/TLSConnection.actor.cpp
# fdbserver/DataDistribution.actor.cpp
# fdbserver/Status.actor.cpp
# fdbserver/storageserver.actor.cpp
# fdbserver/workloads/StatusWorkload.actor.cpp
# versions.target
2018-09-05 16:06:33 -07:00
Alvin Moore
221f73e69e
Merge branch 'release-6.0' of github.com:apple/foundationdb into status-json
...
# Conflicts:
# fdbclient/fdbclient.vcxproj
# fdbserver/Status.actor.cpp
2018-09-05 14:44:09 -07:00
Alvin Moore
6aa22af83b
Added explicit keyword for appropriate constructor
...
Templatized some methods
Removed unused hash function
2018-09-05 12:22:04 -07:00
Evan Tschannen
4eaff42e4f
Merge pull request #712 from ajbeamon/remove-database-name-internal
...
Eliminate use of database names (phase 1)
2018-09-05 10:35:00 -07:00
Alvin Moore
43a2afc3b6
Added TODO comment
...
Removed debug comments
2018-09-05 08:06:19 -07:00
Alvin Moore
04a768042a
Added TraceEvent to measure time to create Status Json
...
Simplified JsonString class to use implementation method for reuse of methods
Removed quotes from non-string values within json
Added Tests for jsonstring
Removed hashing of names for JsonString
Switched name tracker to unordered set
2018-09-05 03:50:53 -07:00
Evan Tschannen
1e2ce75ce4
fix: if usable_regions=1 extraTlogEligibleMachines was calculated incorrectly
2018-08-31 13:04:00 -07:00
Alvin Moore
affd7423b4
Added class to write json as objects are added
...
Integrated JsonString class into status
2018-08-31 01:21:24 -07:00
Evan Tschannen
717c43a69f
merge 6.0 into master
2018-08-22 00:28:04 -07:00
A.J. Beamon
2a97139d5d
This is the first step in eliminating the usage of database names in our code. The C API remains the same, but underneath that all usage of database names is eliminated.
2018-08-16 10:24:12 -07:00
Evan Tschannen
e770629229
fix: json_spirit::write_string is very CPU intensive, especially for large JSON documents. The cluster controller would call this function for each status reply it needed to send, resulting in a slow task.
2018-08-15 19:39:06 -07:00
Alex Miller
fb31a6999f
Rewrite all files to have #include actorcompiler.h as the last include.
2018-08-14 15:50:26 -07:00
Alex Miller
535b5701e5
Rewrite all `Void _ = wait(...)` -> `wait(...)`.
...
This takes advantage of the new actorcompiler functionality to avoid
having duplicate definitions of `Void _` when trying to feed the
un-actorompiled source through clang.
2018-08-14 15:50:26 -07:00
Evan Tschannen
9c918a28f6
fix: status was reporting no replicas remaining when the remote datacenter was initially configured with usable_regions=2
2018-08-09 13:16:09 -07:00
A.J. Beamon
7d831ef9c3
Revert change that prints lag with 2 decimal points of precision.
2018-08-07 15:41:51 -07:00
A.J. Beamon
e0cf525951
Fix: use new data lag fields when making storage server message indicating high lag.
2018-08-07 11:02:09 -07:00
Evan Tschannen
6d76ff67a3
added the connection string to status
2018-07-09 22:11:58 -07:00