From 1be48e51386957ae5f3b4fe1c704981caafef6b2 Mon Sep 17 00:00:00 2001 From: Ken Zangelin Date: Thu, 28 Jul 2022 15:52:55 +0200 Subject: [PATCH] Made the -experimental CLI option visible, and explained it in the changelog --- CHANGES_NEXT_RELEASE | 18 ++++++++++-------- src/app/orionld/orionld.cpp | 4 ++-- .../cases/0000_cli/bool_option_with_value.test | 1 + .../cases/0000_cli/command_line_options.test | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 3f8c39542e..59e92b4e9c 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -39,14 +39,16 @@ Replacing the deprecated MongoDB C++ Legacy driver with the newest MongoDB drive * Subscription Cache Counters are now updated using mongoc and not with the old legacy driver * PATCH subscriptions/{subId} now uses the new mongoc driver -Experimental Features (to turn on - start the broker with `-experimental`): +Experimental Features (to turn on - start the broker with `-experimental`). +Note that this is experimental implementations, not yet thoroughly tested. +_They all pass the basic functional tests, and seem to work just find, but, no promises made._ * Fresh implementations of services using 'mongoc' (the new MongoDB driver) instead of mongoBackend+Legacy driver: - * PUT /entities/{entityId} (not supported if -experimental is not set) - * PATCH /entities/{entityId} (not supported if -experimental is not set) - * POST /entities (two versions: legacy and mongoc) - * GET /entities (two versions: legacy and mongoc) - * GET /entities/{entityId} (two versions: legacy and mongoc) - * POST /subscriptions (two versions: legacy and mongoc) - * DELETE /subscriptions/{subId} (two versions: legacy and mongoc) + * PUT /entities/{entityId} (not supported if -experimental is not used) + * PATCH /entities/{entityId} (not supported if -experimental is not used) + * POST /entities (two versions: legacy and mongoc - mongoc version if -experimental is used) + * GET /entities (two versions: legacy and mongoc - mongoc version if -experimental is used) + * GET /entities/{entityId} (two versions: legacy and mongoc - mongoc version if -experimental is used) + * POST /subscriptions (two versions: legacy and mongoc - mongoc version if -experimental is used) + * DELETE /subscriptions/{subId} (two versions: legacy and mongoc - mongoc version if -experimental is used) * Support for LanguageProperty attributes * Support for URI parameter 'observedAt' for PATCH /entities/{entityId} in combination with options=keyValues - update existing observedAt sub-attributes diff --git a/src/app/orionld/orionld.cpp b/src/app/orionld/orionld.cpp index 1f0bbf2fc3..e24fb40d70 100644 --- a/src/app/orionld/orionld.cpp +++ b/src/app/orionld/orionld.cpp @@ -305,7 +305,7 @@ bool debugCurl = false; #define ID_INDEX_DESC "automatic mongo index on _id.id" #define NOSWAP_DESC "no swapping - for testing only!!!" #define NO_NOTIFY_FALSE_UPDATE_DESC "turn off notifications on non-updates" -#define EXPERIMENTAL_DESC "enable experimental implementation" +#define EXPERIMENTAL_DESC "enable experimental implementation - use at own risk - see release notes of Orion-LD v1.1.0" #define MONGOCONLY_DESC "enable experimental implementation + turn off mongo legacy driver" #define DBAUTHDB_DESC "database used for authentication" #define DBAUTHMECHANISM_DESC "database authentication mechanism (either SCRAM-SHA-1 or SCRAM-SHA-256)" @@ -392,7 +392,7 @@ PaArgument paArgs[] = { "-ssPort", &socketServicePort, "SOCKET_SERVICE_PORT", PaUShort, PaHid, 1027, PaNL, PaNL, SOCKET_SERVICE_PORT_DESC }, { "-forwarding", &forwarding, "FORWARDING", PaBool, PaOpt, false, false, true, FORWARDING_DESC }, { "-noNotifyFalseUpdate", &noNotifyFalseUpdate, "NO_NOTIFY_FALSE_UPDATE", PaBool, PaOpt, false, false, true, NO_NOTIFY_FALSE_UPDATE_DESC }, - { "-experimental", &experimental, "EXPERIMENTAL", PaBool, PaHid, false, false, true, EXPERIMENTAL_DESC }, + { "-experimental", &experimental, "EXPERIMENTAL", PaBool, PaOpt, false, false, true, EXPERIMENTAL_DESC }, { "-mongocOnly", &mongocOnly, "MONGOCONLY", PaBool, PaOpt, false, false, true, MONGOCONLY_DESC }, { "-debugCurl", &debugCurl, "DEBUG_CURL", PaBool, PaHid, false, false, true, DEBUG_CURL_DESC }, diff --git a/test/functionalTest/cases/0000_cli/bool_option_with_value.test b/test/functionalTest/cases/0000_cli/bool_option_with_value.test index 523e14b54c..20bc30ac0c 100644 --- a/test/functionalTest/cases/0000_cli/bool_option_with_value.test +++ b/test/functionalTest/cases/0000_cli/bool_option_with_value.test @@ -105,6 +105,7 @@ Usage: orionld [option '-U' (extended usage)] [option '-troePoolSize' ] [option '-forwarding' (turn on forwarding)] [option '-noNotifyFalseUpdate' (turn off notifications on non-updates)] + [option '-experimental' (enable experimental implementation - use at own risk - see release notes of Orion-LD v1.1.0)] [option '-mongocOnly' (enable experimental implementation + turn off mongo legacy driver)] --TEARDOWN-- diff --git a/test/functionalTest/cases/0000_cli/command_line_options.test b/test/functionalTest/cases/0000_cli/command_line_options.test index 09d5d93c81..86a0ec791f 100644 --- a/test/functionalTest/cases/0000_cli/command_line_options.test +++ b/test/functionalTest/cases/0000_cli/command_line_options.test @@ -94,6 +94,7 @@ Usage: orionld [option '-U' (extended usage)] [option '-troePoolSize' ] [option '-forwarding' (turn on forwarding)] [option '-noNotifyFalseUpdate' (turn off notifications on non-updates)] + [option '-experimental' (enable experimental implementation - use at own risk - see release notes of Orion-LD v1.1.0)] [option '-mongocOnly' (enable experimental implementation + turn off mongo legacy driver)] --TEARDOWN--