Realm Modifications Reference
The following tables describe the ways in which you can modify the realm definition, and the deployment consequences of each modification.
The details in these tables determine the validity of a deployment (see Responses to Deployment Tests).
Realm Property Modifications
Modification | Details |
---|---|
Modify realm properties | You can modify any realm property.
If you modify the realm property Realm Properties Details Panel, then some clients could require restart. In particular, if the modification changes an application’s effective value of this parameter, then all instances of that application require restart. Modifying |
Application Definition Modifications
Modification | Details |
---|---|
Add applications | You can add a new application definition. |
Delete applications | You can delete an application definition from the realm definition. All client instances of that application implicitly become invalid (though they continue to run). You must explicitly stop or disable those client processes (see Conditions for Disabling Clients). |
Add endpoints | You can add new endpoints to an application definition. |
Delete endpoints | You can delete an endpoint from an application definition, but only if the client does not have any publishers or subscribers on the endpoint.
If a client has publisher or subscriber objects on that endpoint, then the application throws a protocol exception. |
Add transports to endpoints | You can add a transport to implement an existing endpoint in an application instance. Upon deployment, existing process instances immediately bind the new transport to implement the endpoint, and attempt to establish a bus. |
Delete transports from endpoints | You can delete a transport from an endpoint (in an application instance). Client processes immediately stop using that transport to implement that endpoint:
|
Enable or disable abilities | You can enable or disable transport abilities of an endpoint in an application instance.
Communications on the endpoint immediately expand to use the additional ability. A disabled ability immediately stops carrying messages:
|
Manage All Formats | If you modify the application parameter Manage All Formats , then clients could require restart. In particular, if the modification changes an application’s effective value of this parameter, then all instances of that application require restart. |
Transport Modifications
Modification | Details |
---|---|
Add transports | You can add new transports to an application definition. |
Delete transports | You can delete an existing transport definition. Client processes immediately stop using the bus on the affected transport:
|
Modify transport parameters | You can modify the parameter values of a transport. If an application instance binds an affected transport, then it requires restart. |
Format Modifications
Persistence Modifications: Store and Durable
Modification | Details |
---|---|
Add or delete persistence clusters | You can add, rename, or delete a persistence cluster.
You cannot delete a cluster definition while any of its persistence services are running. Renaming a cluster is equivalent to deleting and re-adding the cluster definition. |
Add or delete persistence stores | You can add, rename, or delete a persistence store.
Deleting a store discards all messages in the store. Renaming a store is like deleting it and creating a new, empty store. Before deleting or renaming a store, you must first review every application definition in the realm, ensuring that none of the endpoints still refer to the store you plan to delete. After deleting or renaming a store, all the persistence services in the cluster require restart.
|
Add or delete durables | You can add durables to a store, or delete durables from a store.
(When deleting a static durable from a store, you must also remove subscriber name mappings to that durable.) |
Modify store or durable parameters | You can modify parameter values of stores and durables.
When modifying the publisher mode of a store, or the acknowledgment mode of a durable, all affected clients disconnect from the cluster (that is, the leader) and automatically reconnect. From the moment that a subscriber object first interacts with a durable, you may no longer change a durable’s message interest, nor its matcher fields. If these configuration values must subsequently change, you can instead map the subscriber to a new durable with the correct message interest and matcher fields. |
Modify the mapping from subscriber names to durables | You can modify the mapping from subscriber names to static durable names for an endpoint. |
Add dynamic durable templates | You can add dynamic durable templates and associate endpoints with the new templates. |
Modify or delete dynamic durable templates | You can modify or delete dynamic durable templates. You can associate an endpoint with a different dynamic durable template. All clients that have durable subscribers on an affected endpoint require restart. |
Add or delete persistence services | You can add a persistence service. You can delete or rename a persistence service only if none of the services in the cluster are running.
Changes to persistence services in the realm definition usually entail parallel changes in the FTL server configuration file. Restart the FTL server to read its updated configuration file. When adding a service, assign it a low weight, so that it does not immediately become the leader. You can raise its weight later, after it replicates the cluster’s message data. While reforming a quorum the cluster temporarily becomes unavailable. Ensure that adding or deleting a persistence service does not prevent forming a quorum. |
Modify cluster transport parameters of a persistence service | It is illegal to modify cluster transports of persistence services. |
Modify client transport parameters of a persistence service | You can modify client transports of persistence services.
When modifying a primary client transport or any of its parameters, that persistence service and all its clients require restart.
|
Modify alternate client transport parameters of a persistence service | You can modify alternate client transports of persistence services.
Adding an alternate client transport that was not previously configured does not require restart. Clients can connect using that transport immediately following successful deployment. Deleting an alternate client transport does not require restart. Clients cannot connect nor reconnect using the deleted transport. However, existing clients can remain connected on the deleted transport. Modifying the transport parameters of an alternate client transport requires restart of the persistence service and the clients that connect using the modified transport.
You can add and delete associated client host names. The persistence service does not require restart. Clients on added hosts can connect using the alternate client transport immediately following successful deployment. A client on a deleted host remains connected until the client restarts. For example:
|