Advanced Persistence Store Configuration
To configure Stores using a GUI Grid, ensure you are in the Peer-to-Peer UI mode. Navigate to the Stores page using the left menu, and turn on edit mode. For a simplified Store Configuration workflow, switch to the Destinations UI mode and see Persistence Store Configuration for more information.
For consequences of modifying a store definition, see Persistence Modifications: Store and Durable and Quorum Behaviors in TIBCO FTL® - Enterprise Edition Administration.
Stores Grid
The Stores Grid has the following levels: Store, Durable, and Content Matcher.
Store Level
Durable Level
The durable level presents the definitions of static durables and dynamic durable templates in the store.
From the left menu, select Stores. Click the expand button by Durable Name to display the following information for the durable.
| Column | JSON Attribute | Description |
|---|---|---|
| Durable Name | name
|
Required.
Name of the static durable or dynamic durable template. (The name of an individual dynamic durable comes from subscriber create call, and not from administrative configuration.) Names must be unique within each persistence store. All names are limited to maximum length of 256 characters. |
| Durable Type | type
|
Select the type of durable definition from the drop-down menu.
You may define either a static durable or a dynamic durable template of the following types: Standard
The durable retains a message stream for exactly one durable subscriber.
Shared
Many subscribers can share this durable, which distributes each message to only one of those subscribers.
Last-Value
The durable retains only the most recent message for each sub-stream.
For background information, see Durable Behavior in TIBCO FTL® - Enterprise Edition Administration. |
| Acknowledgment | ack_settings
|
Select an acknowledgment mode from the drop-down menu.
This parameter applies only to standard and shared durables. When a subscriber finishes processing a message, the client library sends an acknowledgment to the durable. This interaction can be either Synchronous or Asynchronous. For complete details, see Acknowledgment Mode in TIBCO FTL® - Enterprise Edition Administration. |
| Interest | interest
|
Message interest determines a stream of messages:
Store All Messages
The durable collects the full message stream. (This behavior is available only for standard durables and shared durables.)
Store Matching Messages
The durable collects a sub-stream determined by a content matcher.
Store Messages with Key
The durable collects the sub-stream of messages that contain a key field. You must specify the
Key Field Name parameter. This behavior is available only for last-value durables.
|
| Key Field | key_field_name
|
Required. Applies only to static last-value durables.
Supply the name of the key field. The durable stores only the most recent message for each distinct value of that key field. Developers and administrators coordinate to determine the appropriate behavior (see TIBCO FTL Durable Coordination Form). When you set the durable type to static last-value, the GUI automatically sets this parameter value to the placeholder value
|
Content Matcher Level
This level applies only to static durables, and only when the Interest column is Store Matching Messages.
Developers and administrators coordinate to determine the appropriate behavior (see TIBCO FTL Durable Coordination Form).
Administrators configure a content matcher at this level to implement that behavior. A content matcher can match one or more fields.
For background information, see Message Interest in TIBCO FTL® - Enterprise Edition Administration.
| Column | Description |
|---|---|
| Match Field | Enter a field name.
For static last-value durables, one matcher clause must test the existence of the key field. |
Store Detail Panel
The Store details panel presents the details of a persistence store definition. In edit mode, you can modify the definition.
From the left menu, select Stores. Select the three dots above a store, then select View Details.
| GUI Parameter | JSON Attribute | Description |
|---|---|---|
| Dynamic Durables Limit | dynamic_durable_limit
|
Optional.
This parameter limits persistence service memory growth by restricting the number of dynamic durables that the store can create. When a program attempts to create a dynamic durable in excess of this maximum, the create subscriber call throws an exception. Zero is a special value, indicating no limit. When absent, the default value is zero. For further details, see Persistence Limits in TIBCO FTL® - Enterprise Edition Administration. |
| Maximum Message Limit | message_limit
|
This parameter limits the number of messages that can be held by the store. When this limit is reached, the client receives an exception on Note that even when messages are stored on disk, message metadata is still stored in memory. Hence, use this setting to constrain memory use. Zero is a special value indicating no limit. The store may grow until it exhausts available memory or disk of any one of its persistence services. |
| Maximum Message Size | max_message_size
|
Optional.
Set the maximum allowed message size. If the application's message exceeds the configured limit,
|
| Swap Byte Limit | swap_bytelimit
|
Optional.
If message swapping is enabled, set a byte quantity threshold for the store above which messages are swapped to disk to keep store memory use limited. Valid values are -1 (unlimited), 0, or any positive byte count. Positive byte counts can be expressed with a suffix. For example,
If |
Durable Details Panel
The Durable details panel presents the parameters of a static durable or a dynamic durable template. In edit mode, you can modify the parameter values.
From the left menu, select Stores. Select the left arrow above a store to display the durables. Select the three dots above a durable, select View Details.
The title of the panel indicates the location and name of the durable or template: Store /Durable.
For consequences of modifying this configuration, see Persistence Modifications: Store and Durable in TIBCO FTL® - Enterprise Edition Administration.
For background information, see Durable Behavior in TIBCO FTL® - Enterprise Edition Administration.
TTL Settings
| GUI Parameter | Description |
|---|---|
| Message Time to Live |
Optional. This parameter limits persistence service memory growth by limiting the time (in seconds) that messages remain in the durable. When a message arrives in the durable, a timer counts this interval. The persistence service can delete that message at any time after the interval elapses. Zero is a special value, indicating no time limit on messages in this durable. When absent, the default value is zero. For further details, see Persistence Limits in TIBCO FTL® - Enterprise Edition Administration. |
| Durable Time to Live | Optional.
This parameter limits persistence service memory growth by limiting the time (in seconds) that a dynamic durable without any subscribers can remain in the store. When a dynamic durable no longer has any connected subscribers, a timer counts this interval. The persistence service can delete the durable at any time after the interval elapses. During the interval, the presence of any subscriber stops the timer and prevents deletion. Note: Using this feature weakens the quality of service of the dynamic durable. The durable no longer assures delivery to clients that disconnect without closing subscribers.
Zero is a special value, indicating no time limit on dynamic durables without subscribers. When absent, the default value is zero. For further details, see Persistence Limits in TIBCO FTL® - Enterprise Edition Administration. |
| Message Retention Time |
Acknowledged messages may be retained for this amount of time (in seconds), as measured from the time when the message was published. Zero is a special value indicating that message retention is disabled. When absent, the default value is zero. For further details, see Retention Time in TIBCO FTL® - Enterprise Edition Administration. |
Limits and Discard Policy Settings
| GUI Parameter | Description |
|---|---|
| Message Limit |
Optional. This parameter limits persistence service memory growth by limiting the number of messages in a durable. When a message arrives, the persistence service checks the number of messages in the durable. If the new message would exceed the limit, the service discards a message (see the discard parameter). A value of 0 indicates no limit on the number of messages in this durable. (When a durable discards the newest message, the publisher does not throw an exception.) You can set this parameter for static durables and for dynamic durable templates. If you change its value on a dynamic durable template, all of that template's individual dynamic durables reflect the new behavior. For further details, see Persistence Limits in TIBCO FTL® - Enterprise Edition Administration. |
| Byte Limit |
Optional. This parameter limits persistence service memory growth by limiting the number of bytes in a durable. When a message arrives, the persistence service checks the bytes in the durable to ensure the total message size in a durable does not increase continuously past the durable byte limit. If the new message would exceed the limit, the service discards a message (see the discard parameter) and logs a warning. A value of
For further details, see Persistence Limits in TIBCO FTL® - Enterprise Edition Administration. |
| Discard Policy |
With the toggle button, you can set this parameter to govern the message discard behavior of the message limit or byte limit parameter. The durable can discard either its oldest message or the new message. You can set this parameter for static durables and for dynamic durable templates. If you change its value on a dynamic durable template, all of that template's individual dynamic durables reflect the new behavior. |
| Maximum Delivery |
Applies only to shared durables and standard durables with prefetch. This parameter limits the number of times that a persistence service will attempt to deliver each message in the shared durable. Zero is a special value, indicating no limit on delivery attempts. Administrators can set this parameter to zero or any positive integer strictly greater than one. (The value 1 is invalid.) When absent, the default value is zero. Note: Robust message callback methods verify field data types before operating on field data content. Nonetheless, sometimes a message with unexpected data content can cause a subscribing application to abruptly exit. When the persistence service repeatedly delivers such a message to the subscribers of a shared durable, it could potentially cause all the subscribing applications to exit. To limit the damage that such messages can cause, set this parameter to a non-zero value that is less than the expected number of subscribed applications |
Prefetch Settings
| GUI Parameter | Description |
|---|---|
| Prefetch Count |
With prefetch enabled, when a subscriber is ready, the store delivers a portion of the message stream. This value, a positive integer, limits the number of messages in a portion. To disable prefetch, supply a value of
Prefetch can only be disabled for standard durables. When prefetch is disabled, a direct path transport between publisher and subscriber is the primary means of message delivery. For more information, see Durable Prefetch Count in TIBCO FTL® - Enterprise Edition Administration. You cannot enable or disable prefetch after a durable configuration has been deployed to the FTL server. However, you can still change the prefetch value. |
Swap Settings
| GUI Parameter | Description |
|---|---|
| Swap Byte Limit |
Optional. If message swapping is enabled, set a threshold above which messages are swapped to disk to keep store memory use limited. Choose one of the following options.
If disk_swap is set to false for the persistence cluster, this parameter is ignored. Note:
For shared durables or standard durables with prefetch, setting this value to a higher limit can improve throughput in some cases.
|
Acknowledge Batch Settings
| GUI Parameter | Description |
|---|---|
| Batch Size |
In asynchronous acknowledgment mode, each client immediately sends accumulated acknowledgments when the number of waiting acknowledgments exceeds this number, even if the batch time interval has not elapsed. This setting only applies to durables or durable templates with asynchronous acknowledgment mode. |
| Batch Timeout |
In asynchronous acknowledgment mode, each client immediately sends accumulated acknowledgments when the oldest acknowledgment has waited for this interval, in seconds, even before exceeding the batch count. This setting only applies to durables or durable templates with asynchronous acknowledgment mode. |