Commit Graph

894 Commits

Author SHA1 Message Date
A.J. Beamon 4d39509034
Merge pull request #774 from apple/release-6.0
Merge release-6.0 into master
2018-09-18 15:01:26 -07:00
Balachandar Namasivayam d622cb1f6e When the cluster is configured from fearless setup to usable_regions=1, master goes into a loop changing team priority . Fix this issue. 2018-09-12 18:29:49 -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
Evan Tschannen 23a979a095
Merge pull request #758 from etschannen/release-6.0
fix: status would generate invalid json
2018-09-10 17:47:58 -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
Evan Tschannen c4eea395d4 fix: schema basic test did not pass in a complete json document 2018-09-10 09:28:53 -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
A.J. Beamon da4f32e600 Fix line endings. 2018-09-06 15:31:07 -07:00
Bhaskar Muppana 471cf84a47
Merge pull request #751 from apkar/master
Merge release-6.0 into master
2018-09-06 14:33:08 -07:00
Bhaskar Muppana 70ba750bcd dbName is not used anymore. 2018-09-06 14:31:26 -07:00
Evan Tschannen fcdb8fb848
Merge pull request #749 from ajbeamon/remove-debug-query-request
Remove defunct DebugQueryRequest.
2018-09-06 14:30:10 -07:00
Bhaskar Muppana 920fd3fe97 Merge branch 'release-6.0' 2018-09-06 14:24:02 -07:00
A.J. Beamon 99ac54e2b6 Fix line endings 2018-09-06 13:47:00 -07:00
A.J. Beamon 7f0a70db7f Remove defunct DebugQueryRequest. 2018-09-06 13:44:25 -07:00
Evan Tschannen 98651bafb1 removed _keyNames from JsonString 2018-09-05 22:51:15 -07:00
Evan Tschannen 29c2783d21 fixed merge issue 2018-09-05 16:11:24 -07:00
Evan Tschannen 4dd2dda0a3 Merge branch 'release-6.0'
# Conflicts:
#	fdbserver/worker.actor.cpp
2018-09-05 16:11:06 -07:00
Evan Tschannen df406a340e
Merge pull request #742 from ajbeamon/roles-in-trace-events
Add the roles running on a process as a field on trace events in the …
2018-09-05 16:08:12 -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
A.J. Beamon 9e79f9ec59 Cleanup from review 2018-09-05 15:53:12 -07:00
A.J. Beamon 2de0b5d6d7 Add the roles running on a process as a field on trace events in the form of a comma delimited string of role abbreviations. 2018-09-05 15:06:14 -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
Evan Tschannen d9906d7d6a code cleanup 2018-09-05 13:42:10 -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
Evan Tschannen dcdbb3ec4d Merge branch 'release-6.0' of github.com:apple/foundationdb into feature-movekey-fixes 2018-09-05 10:29:13 -07:00
A.J. Beamon e37f90ff2c
Merge pull request #713 from etschannen/feature-configure-from-file
Added the ability to configure a cluster from a JSON file
2018-09-05 10:28:13 -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 40f5dbe423 fixed issues from review, added a safeguard to prevent configuring a cluster to an invalid configuration 2018-09-04 22:16:35 -07:00
Evan Tschannen 1022e0a5c6 added yields to the log router and tlogs after processing a version 2018-09-04 17:16:44 -07:00
Evan Tschannen 21f5cf9ce9 suppress spammy trace events 2018-09-04 17:12:26 -07:00
Evan Tschannen 65eabedb6c fix: addSubsetOfEmergencyTeams could add unhealthy teams
optimized teamTracker to check if it satisfies the policy more efficiently
added yields to initialization to avoid slow tasks when adding lots of teams
2018-08-31 17:54:55 -07:00