From fa4f8867380ec53c9e8d0ac4a0b05586c0299421 Mon Sep 17 00:00:00 2001 From: Anton Pryakhin Date: Mon, 22 Jul 2024 17:38:01 +0300 Subject: [PATCH] mqbcfg: remove useNtf flag from config (#365) Remove useNtf flag from configs Signed-off-by: Anton Pryakhin --- docker/cluster/config/bmqbrkrcfg.json | 3 +- docker/single-node/config/bmqbrkrcfg.json | 3 +- src/applications/bmqbrkr/etc/bmqbrkrcfg.json | 3 +- src/groups/mqb/mqbcfg/mqbcfg.xsd | 4 -- src/groups/mqb/mqbcfg/mqbcfg_messages.cpp | 31 +++-------- src/groups/mqb/mqbcfg/mqbcfg_messages.h | 55 ++----------------- .../blazingmq/dev/it/tweaks/generated.py | 22 ++++---- src/python/blazingmq/schemas/__init__.py | 4 +- src/python/blazingmq/schemas/mqbcfg.py | 43 +++++++-------- src/python/blazingmq/schemas/mqbconf.py | 9 +-- 10 files changed, 54 insertions(+), 123 deletions(-) diff --git a/docker/cluster/config/bmqbrkrcfg.json b/docker/cluster/config/bmqbrkrcfg.json index dd95856df..09a81473f 100644 --- a/docker/cluster/config/bmqbrkrcfg.json +++ b/docker/cluster/config/bmqbrkrcfg.json @@ -88,8 +88,7 @@ "highWatermark": 1073741824, "nodeLowWatermark": 5242880, "nodeHighWatermark": 10485760, - "heartbeatIntervalMs": 3000, - "useNtf": false + "heartbeatIntervalMs": 3000 } }, "bmqconfConfig": { diff --git a/docker/single-node/config/bmqbrkrcfg.json b/docker/single-node/config/bmqbrkrcfg.json index 82f415385..c77dd5abb 100644 --- a/docker/single-node/config/bmqbrkrcfg.json +++ b/docker/single-node/config/bmqbrkrcfg.json @@ -88,8 +88,7 @@ "highWatermark": 1073741824, "nodeLowWatermark": 5242880, "nodeHighWatermark": 10485760, - "heartbeatIntervalMs": 3000, - "useNtf": false + "heartbeatIntervalMs": 3000 } }, "bmqconfConfig": { diff --git a/src/applications/bmqbrkr/etc/bmqbrkrcfg.json b/src/applications/bmqbrkr/etc/bmqbrkrcfg.json index 126500dc0..9741a62f8 100644 --- a/src/applications/bmqbrkr/etc/bmqbrkrcfg.json +++ b/src/applications/bmqbrkr/etc/bmqbrkrcfg.json @@ -88,8 +88,7 @@ "highWatermark": 1073741824, "nodeLowWatermark": 5242880, "nodeHighWatermark": 10485760, - "heartbeatIntervalMs": 3000, - "useNtf": false + "heartbeatIntervalMs": 3000 } }, "bmqconfConfig": { diff --git a/src/groups/mqb/mqbcfg/mqbcfg.xsd b/src/groups/mqb/mqbcfg/mqbcfg.xsd index 66016b9b4..0de03e584 100644 --- a/src/groups/mqb/mqbcfg/mqbcfg.xsd +++ b/src/groups/mqb/mqbcfg/mqbcfg.xsd @@ -242,9 +242,6 @@ heartbeatIntervalMs..: How often (in milliseconds) to check if the channel received data, and emit heartbeat. 0 to globally disable. - useNtf...............: - Use the new NTF based TCP transport library instead of - the existing one based on BTE @@ -257,7 +254,6 @@ - diff --git a/src/groups/mqb/mqbcfg/mqbcfg_messages.cpp b/src/groups/mqb/mqbcfg/mqbcfg_messages.cpp index b2f25a1bd..08a4b0638 100644 --- a/src/groups/mqb/mqbcfg/mqbcfg_messages.cpp +++ b/src/groups/mqb/mqbcfg/mqbcfg_messages.cpp @@ -2279,8 +2279,6 @@ const bsls::Types::Int64 const int TcpInterfaceConfig::DEFAULT_INITIALIZER_HEARTBEAT_INTERVAL_MS = 3000; -const bool TcpInterfaceConfig::DEFAULT_INITIALIZER_USE_NTF = false; - const bdlat_AttributeInfo TcpInterfaceConfig::ATTRIBUTE_INFO_ARRAY[] = { {ATTRIBUTE_ID_NAME, "name", @@ -2326,19 +2324,14 @@ const bdlat_AttributeInfo TcpInterfaceConfig::ATTRIBUTE_INFO_ARRAY[] = { "heartbeatIntervalMs", sizeof("heartbeatIntervalMs") - 1, "", - bdlat_FormattingMode::e_DEC}, - {ATTRIBUTE_ID_USE_NTF, - "useNtf", - sizeof("useNtf") - 1, - "", - bdlat_FormattingMode::e_TEXT}}; + bdlat_FormattingMode::e_DEC}}; // CLASS METHODS const bdlat_AttributeInfo* TcpInterfaceConfig::lookupAttributeInfo(const char* name, int nameLength) { - for (int i = 0; i < 10; ++i) { + for (int i = 0; i < 9; ++i) { const bdlat_AttributeInfo& attributeInfo = TcpInterfaceConfig::ATTRIBUTE_INFO_ARRAY[i]; @@ -2370,8 +2363,6 @@ const bdlat_AttributeInfo* TcpInterfaceConfig::lookupAttributeInfo(int id) return &ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_NODE_HIGH_WATERMARK]; case ATTRIBUTE_ID_HEARTBEAT_INTERVAL_MS: return &ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_HEARTBEAT_INTERVAL_MS]; - case ATTRIBUTE_ID_USE_NTF: - return &ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_USE_NTF]; default: return 0; } } @@ -2388,7 +2379,6 @@ TcpInterfaceConfig::TcpInterfaceConfig(bslma::Allocator* basicAllocator) , d_ioThreads() , d_maxConnections(DEFAULT_INITIALIZER_MAX_CONNECTIONS) , d_heartbeatIntervalMs(DEFAULT_INITIALIZER_HEARTBEAT_INTERVAL_MS) -, d_useNtf(DEFAULT_INITIALIZER_USE_NTF) { } @@ -2403,7 +2393,6 @@ TcpInterfaceConfig::TcpInterfaceConfig(const TcpInterfaceConfig& original, , d_ioThreads(original.d_ioThreads) , d_maxConnections(original.d_maxConnections) , d_heartbeatIntervalMs(original.d_heartbeatIntervalMs) -, d_useNtf(original.d_useNtf) { } @@ -2418,8 +2407,7 @@ TcpInterfaceConfig::TcpInterfaceConfig(TcpInterfaceConfig&& original) noexcept d_port(bsl::move(original.d_port)), d_ioThreads(bsl::move(original.d_ioThreads)), d_maxConnections(bsl::move(original.d_maxConnections)), - d_heartbeatIntervalMs(bsl::move(original.d_heartbeatIntervalMs)), - d_useNtf(bsl::move(original.d_useNtf)) + d_heartbeatIntervalMs(bsl::move(original.d_heartbeatIntervalMs)) { } @@ -2434,7 +2422,6 @@ TcpInterfaceConfig::TcpInterfaceConfig(TcpInterfaceConfig&& original, , d_ioThreads(bsl::move(original.d_ioThreads)) , d_maxConnections(bsl::move(original.d_maxConnections)) , d_heartbeatIntervalMs(bsl::move(original.d_heartbeatIntervalMs)) -, d_useNtf(bsl::move(original.d_useNtf)) { } #endif @@ -2458,7 +2445,6 @@ TcpInterfaceConfig::operator=(const TcpInterfaceConfig& rhs) d_nodeLowWatermark = rhs.d_nodeLowWatermark; d_nodeHighWatermark = rhs.d_nodeHighWatermark; d_heartbeatIntervalMs = rhs.d_heartbeatIntervalMs; - d_useNtf = rhs.d_useNtf; } return *this; @@ -2478,7 +2464,6 @@ TcpInterfaceConfig& TcpInterfaceConfig::operator=(TcpInterfaceConfig&& rhs) d_nodeLowWatermark = bsl::move(rhs.d_nodeLowWatermark); d_nodeHighWatermark = bsl::move(rhs.d_nodeHighWatermark); d_heartbeatIntervalMs = bsl::move(rhs.d_heartbeatIntervalMs); - d_useNtf = bsl::move(rhs.d_useNtf); } return *this; @@ -2496,7 +2481,6 @@ void TcpInterfaceConfig::reset() d_nodeLowWatermark = DEFAULT_INITIALIZER_NODE_LOW_WATERMARK; d_nodeHighWatermark = DEFAULT_INITIALIZER_NODE_HIGH_WATERMARK; d_heartbeatIntervalMs = DEFAULT_INITIALIZER_HEARTBEAT_INTERVAL_MS; - d_useNtf = DEFAULT_INITIALIZER_USE_NTF; } // ACCESSORS @@ -2516,7 +2500,6 @@ bsl::ostream& TcpInterfaceConfig::print(bsl::ostream& stream, printer.printAttribute("nodeLowWatermark", this->nodeLowWatermark()); printer.printAttribute("nodeHighWatermark", this->nodeHighWatermark()); printer.printAttribute("heartbeatIntervalMs", this->heartbeatIntervalMs()); - printer.printAttribute("useNtf", this->useNtf()); printer.end(); return stream; } @@ -5428,7 +5411,7 @@ AppConfig& AppConfig::operator=(const AppConfig& rhs) d_hostDataCenter = rhs.d_hostDataCenter; d_isRunningOnDev = rhs.d_isRunningOnDev; d_logsObserverMaxSize = rhs.d_logsObserverMaxSize; - d_latencyMonitorDomain = rhs.d_latencyMonitorDomain; + d_latencyMonitorDomain = rhs.d_latencyMonitorDomain; d_dispatcherConfig = rhs.d_dispatcherConfig; d_stats = rhs.d_stats; d_networkInterfaces = rhs.d_networkInterfaces; @@ -5456,7 +5439,7 @@ AppConfig& AppConfig::operator=(AppConfig&& rhs) d_hostDataCenter = bsl::move(rhs.d_hostDataCenter); d_isRunningOnDev = bsl::move(rhs.d_isRunningOnDev); d_logsObserverMaxSize = bsl::move(rhs.d_logsObserverMaxSize); - d_latencyMonitorDomain = bsl::move(rhs.d_latencyMonitorDomain); + d_latencyMonitorDomain = bsl::move(rhs.d_latencyMonitorDomain); d_dispatcherConfig = bsl::move(rhs.d_dispatcherConfig); d_stats = bsl::move(rhs.d_stats); d_networkInterfaces = bsl::move(rhs.d_networkInterfaces); @@ -5489,7 +5472,7 @@ void AppConfig::reset() bdlat_ValueTypeFunctions::reset(&d_bmqconfConfig); bdlat_ValueTypeFunctions::reset(&d_plugins); bdlat_ValueTypeFunctions::reset(&d_messagePropertiesV2); - d_configureStream = DEFAULT_INITIALIZER_CONFIGURE_STREAM; + d_configureStream = DEFAULT_INITIALIZER_CONFIGURE_STREAM; d_advertiseSubscriptions = DEFAULT_INITIALIZER_ADVERTISE_SUBSCRIPTIONS; } @@ -5837,7 +5820,7 @@ Configuration::print(bsl::ostream& stream, int level, int spacesPerLevel) const } // close package namespace } // close enterprise namespace -// GENERATED BY @BLP_BAS_CODEGEN_VERSION@ +// GENERATED BY BLP_BAS_CODEGEN_2024.07.04.1 // USING bas_codegen.pl -m msg --noAggregateConversion --noExternalization // --noIdent --package mqbcfg --msgComponent messages mqbcfg.xsd // ---------------------------------------------------------------------------- diff --git a/src/groups/mqb/mqbcfg/mqbcfg_messages.h b/src/groups/mqb/mqbcfg/mqbcfg_messages.h index 724952abe..8e1d33d1b 100644 --- a/src/groups/mqb/mqbcfg/mqbcfg_messages.h +++ b/src/groups/mqb/mqbcfg/mqbcfg_messages.h @@ -4031,8 +4031,6 @@ class TcpInterfaceConfig { // cluster nodes where BlazingMQ maintains its own cache. // heartbeatIntervalMs..: How often (in milliseconds) to check if the // channel received data, and emit heartbeat. 0 to globally disable. - // useNtf...............: Use the new NTF based TCP transport library - // instead of the existing one based on BTE // INSTANCE DATA bsls::Types::Int64 d_lowWatermark; @@ -4044,7 +4042,6 @@ class TcpInterfaceConfig { int d_ioThreads; int d_maxConnections; int d_heartbeatIntervalMs; - bool d_useNtf; // PRIVATE ACCESSORS template @@ -4063,11 +4060,10 @@ class TcpInterfaceConfig { ATTRIBUTE_ID_HIGH_WATERMARK = 5, ATTRIBUTE_ID_NODE_LOW_WATERMARK = 6, ATTRIBUTE_ID_NODE_HIGH_WATERMARK = 7, - ATTRIBUTE_ID_HEARTBEAT_INTERVAL_MS = 8, - ATTRIBUTE_ID_USE_NTF = 9 + ATTRIBUTE_ID_HEARTBEAT_INTERVAL_MS = 8 }; - enum { NUM_ATTRIBUTES = 10 }; + enum { NUM_ATTRIBUTES = 9 }; enum { ATTRIBUTE_INDEX_NAME = 0, @@ -4078,8 +4074,7 @@ class TcpInterfaceConfig { ATTRIBUTE_INDEX_HIGH_WATERMARK = 5, ATTRIBUTE_INDEX_NODE_LOW_WATERMARK = 6, ATTRIBUTE_INDEX_NODE_HIGH_WATERMARK = 7, - ATTRIBUTE_INDEX_HEARTBEAT_INTERVAL_MS = 8, - ATTRIBUTE_INDEX_USE_NTF = 9 + ATTRIBUTE_INDEX_HEARTBEAT_INTERVAL_MS = 8 }; // CONSTANTS @@ -4093,8 +4088,6 @@ class TcpInterfaceConfig { static const int DEFAULT_INITIALIZER_HEARTBEAT_INTERVAL_MS; - static const bool DEFAULT_INITIALIZER_USE_NTF; - static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]; public: @@ -4224,10 +4217,6 @@ class TcpInterfaceConfig { // Return a reference to the modifiable "HeartbeatIntervalMs" attribute // of this object. - bool& useNtf(); - // Return a reference to the modifiable "UseNtf" attribute of this - // object. - // ACCESSORS bsl::ostream& print(bsl::ostream& stream, int level = 0, int spacesPerLevel = 4) const; @@ -4301,9 +4290,6 @@ class TcpInterfaceConfig { // Return the value of the "HeartbeatIntervalMs" attribute of this // object. - bool useNtf() const; - // Return the value of the "UseNtf" attribute of this object. - // HIDDEN FRIENDS friend bool operator==(const TcpInterfaceConfig& lhs, const TcpInterfaceConfig& rhs) @@ -12746,7 +12732,6 @@ void TcpInterfaceConfig::hashAppendImpl(t_HASH_ALGORITHM& hashAlgorithm) const hashAppend(hashAlgorithm, this->nodeLowWatermark()); hashAppend(hashAlgorithm, this->nodeHighWatermark()); hashAppend(hashAlgorithm, this->heartbeatIntervalMs()); - hashAppend(hashAlgorithm, this->useNtf()); } inline bool TcpInterfaceConfig::isEqualTo(const TcpInterfaceConfig& rhs) const @@ -12758,8 +12743,7 @@ inline bool TcpInterfaceConfig::isEqualTo(const TcpInterfaceConfig& rhs) const this->highWatermark() == rhs.highWatermark() && this->nodeLowWatermark() == rhs.nodeLowWatermark() && this->nodeHighWatermark() == rhs.nodeHighWatermark() && - this->heartbeatIntervalMs() == rhs.heartbeatIntervalMs() && - this->useNtf() == rhs.useNtf(); + this->heartbeatIntervalMs() == rhs.heartbeatIntervalMs(); } // CLASS METHODS @@ -12824,12 +12808,6 @@ int TcpInterfaceConfig::manipulateAttributes(t_MANIPULATOR& manipulator) return ret; } - ret = manipulator(&d_useNtf, - ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_USE_NTF]); - if (ret) { - return ret; - } - return 0; } @@ -12881,10 +12859,6 @@ int TcpInterfaceConfig::manipulateAttribute(t_MANIPULATOR& manipulator, int id) &d_heartbeatIntervalMs, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_HEARTBEAT_INTERVAL_MS]); } - case ATTRIBUTE_ID_USE_NTF: { - return manipulator(&d_useNtf, - ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_USE_NTF]); - } default: return NOT_FOUND; } } @@ -12950,11 +12924,6 @@ inline int& TcpInterfaceConfig::heartbeatIntervalMs() return d_heartbeatIntervalMs; } -inline bool& TcpInterfaceConfig::useNtf() -{ - return d_useNtf; -} - // ACCESSORS template int TcpInterfaceConfig::accessAttributes(t_ACCESSOR& accessor) const @@ -13014,11 +12983,6 @@ int TcpInterfaceConfig::accessAttributes(t_ACCESSOR& accessor) const return ret; } - ret = accessor(d_useNtf, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_USE_NTF]); - if (ret) { - return ret; - } - return 0; } @@ -13065,10 +13029,6 @@ int TcpInterfaceConfig::accessAttribute(t_ACCESSOR& accessor, int id) const d_heartbeatIntervalMs, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_HEARTBEAT_INTERVAL_MS]); } - case ATTRIBUTE_ID_USE_NTF: { - return accessor(d_useNtf, - ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_USE_NTF]); - } default: return NOT_FOUND; } } @@ -13134,11 +13094,6 @@ inline int TcpInterfaceConfig::heartbeatIntervalMs() const return d_heartbeatIntervalMs; } -inline bool TcpInterfaceConfig::useNtf() const -{ - return d_useNtf; -} - // ------------------------------- // class VirtualClusterInformation // ------------------------------- @@ -17736,7 +17691,7 @@ inline const AppConfig& Configuration::appConfig() const } // close enterprise namespace #endif -// GENERATED BY @BLP_BAS_CODEGEN_VERSION@ +// GENERATED BY BLP_BAS_CODEGEN_2024.07.04.1 // USING bas_codegen.pl -m msg --noAggregateConversion --noExternalization // --noIdent --package mqbcfg --msgComponent messages mqbcfg.xsd // ---------------------------------------------------------------------------- diff --git a/src/python/blazingmq/dev/it/tweaks/generated.py b/src/python/blazingmq/dev/it/tweaks/generated.py index 1295347c7..c39c3dcf7 100644 --- a/src/python/blazingmq/dev/it/tweaks/generated.py +++ b/src/python/blazingmq/dev/it/tweaks/generated.py @@ -374,16 +374,17 @@ def __call__( dispatcher_config = DispatcherConfig() class Stats(metaclass=TweakMetaclass): - class AppIdTagDomains(metaclass=TweakMetaclass): - def __call__(self, value: None) -> Callable: ... - - app_id_tag_domains = AppIdTagDomains() - class SnapshotInterval(metaclass=TweakMetaclass): def __call__(self, value: int) -> Callable: ... snapshot_interval = SnapshotInterval() + class AppIdTagDomains(metaclass=TweakMetaclass): + + def __call__(self, value: None) -> Callable: ... + + app_id_tag_domains = AppIdTagDomains() + class Plugins(metaclass=TweakMetaclass): class Name(metaclass=TweakMetaclass): def __call__(self, value: str) -> Callable: ... @@ -590,11 +591,6 @@ def __call__(self, value: int) -> Callable: ... heartbeat_interval_ms = HeartbeatIntervalMs() - class UseNtf(metaclass=TweakMetaclass): - def __call__(self, value: bool) -> Callable: ... - - use_ntf = UseNtf() - def __call__( self, value: typing.Union[ @@ -678,6 +674,12 @@ def __call__(self, value: bool) -> Callable: ... configure_stream = ConfigureStream() + class AdvertiseSubscriptions(metaclass=TweakMetaclass): + + def __call__(self, value: bool) -> Callable: ... + + advertise_subscriptions = AdvertiseSubscriptions() + def __call__( self, value: typing.Union[blazingmq.schemas.mqbcfg.AppConfig, NoneType] ) -> Callable: ... diff --git a/src/python/blazingmq/schemas/__init__.py b/src/python/blazingmq/schemas/__init__.py index d243437dd..6c4934e46 100644 --- a/src/python/blazingmq/schemas/__init__.py +++ b/src/python/blazingmq/schemas/__init__.py @@ -35,13 +35,13 @@ QueueModeBroadcast, QueueModeFanout, QueueModePriority, + Request, Request1, + Response, Response1, Storage, StorageDefinition, Subscription, - Request, - Response, ) __all__ = [ diff --git a/src/python/blazingmq/schemas/mqbcfg.py b/src/python/blazingmq/schemas/mqbcfg.py index e3dd040f7..c7b82076e 100644 --- a/src/python/blazingmq/schemas/mqbcfg.py +++ b/src/python/blazingmq/schemas/mqbcfg.py @@ -133,7 +133,7 @@ class ClusterMonitorConfig: }, ) max_time_failover: int = field( - default=240, + default=600, metadata={ "name": "maxTimeFailover", "type": "Element", @@ -169,7 +169,7 @@ class ClusterMonitorConfig: }, ) threshold_failover: int = field( - default=120, + default=300, metadata={ "name": "thresholdFailover", "type": "Element", @@ -983,9 +983,6 @@ class TcpInterfaceConfig: heartbeatIntervalMs..: How often (in milliseconds) to check if the channel received data, and emit heartbeat. 0 to globally disable. - useNtf...............: - Use the new NTF based TCP transport library instead of - the existing one based on BTE """ name: Optional[str] = field( @@ -1067,15 +1064,6 @@ class TcpInterfaceConfig: "required": True, }, ) - use_ntf: bool = field( - default=False, - metadata={ - "name": "useNtf", - "type": "Element", - "namespace": "http://bloomberg.com/schemas/mqbcfg", - "required": True, - }, - ) @dataclass @@ -1776,23 +1764,22 @@ class ClusterProxyDefinition: @dataclass class StatsConfig: - app_id_tag_domains: List[str] = field( - default_factory=list, + snapshot_interval: int = field( + default=1, metadata={ - "name": "appIdTagDomains", + "name": "snapshotInterval", "type": "Element", "namespace": "http://bloomberg.com/schemas/mqbcfg", - "min_occurs": 1, "required": True, }, ) - snapshot_interval: int = field( - default=1, + app_id_tag_domains: List[str] = field( + default_factory=list, metadata={ - "name": "snapshotInterval", + "name": "appIdTagDomains", "type": "Element", "namespace": "http://bloomberg.com/schemas/mqbcfg", - "required": True, + "min_occurs": 1, }, ) plugins: List[StatPluginConfig] = field( @@ -1833,7 +1820,8 @@ class AppConfig: bmqconfConfig........: configuration for bmqconf plugins..............: configuration for the plugins msgPropertiesSupport.: information about if/how to advertise support for v2 message properties - configureStream......: send new ConfigureStream instead of old ConfigureQueue/> + configureStream......: send new ConfigureStream instead of old ConfigureQueue + advertiseSubscriptions.: temporarily control use of ConfigureStream in SDK/> """ broker_instance_name: Optional[str] = field( @@ -1987,6 +1975,15 @@ class AppConfig: "required": True, }, ) + advertise_subscriptions: bool = field( + default=False, + metadata={ + "name": "advertiseSubscriptions", + "type": "Element", + "namespace": "http://bloomberg.com/schemas/mqbcfg", + "required": True, + }, + ) @dataclass diff --git a/src/python/blazingmq/schemas/mqbconf.py b/src/python/blazingmq/schemas/mqbconf.py index b16ec0fe3..70d114118 100644 --- a/src/python/blazingmq/schemas/mqbconf.py +++ b/src/python/blazingmq/schemas/mqbconf.py @@ -360,7 +360,7 @@ class Expression: """This complex type contains expression to evaluate when selecting Subscription for delivery. - version................: expression version (default is HSL) + version................: expression version (default is no expression) text...................: textual representation of the expression """ @@ -528,10 +528,10 @@ class StorageDefinition: @dataclass class Subscription: """This complex type contains various parameters required by an upstream node - to configure subscription for a queue handle that has already been created. + to configure subscription for an app. - sId....................: subscription identifier - consumers..............: consumer parameters + appId..................: app identifier + expression.............: expression denoting a subscription for the app """ app_id: Optional[str] = field( @@ -592,6 +592,7 @@ class Domain: message for the purpose of detecting duplicate PUTs. consistency.........: optional consistency mode. + subscriptions.......: optional Auto (Application) subscriptions """ name: Optional[str] = field(