The change I made does not seem to take effect; what should I check?
Short answer
A change saved in TR7 is applied automatically within about one second; Reload is not required (When does a change I make take effect; does it go live as soon as I save it?). If the effect is not seen, it is first checked from the Used in tab that the change was really made on the object this vService uses, and from the Details tab that there is no Modifying vService, Internal sync error or configuration error message in the vService preview. Then it is examined whether the request reaches the condition of the change (condition, action order, Conditional Backend Services block), whether the response comes from the TR7 cache or the browser cache, and whether Persistence keeps the user on the old server. In a cluster, if Manual Sync Mode is on, the change has not gone to the peer device; it is sent with Synchronize.
Problem: The Saved Change Does Not Appear in Traffic
A profile, action or Backend Service setting was changed and saved, but the behavior did not change on the client side. It must be determined whether the change was not applied, whether the request never reaches the change, or whether the old response comes from a cache or an old connection.
Causes and Solutions
| Cause | How to recognize it | Solution |
|---|---|---|
| The changed object is not used in the vService | The vService is not in the Used in tab of the object | The correct object is edited, or the object is assigned to the vService |
| Applying the change is in progress | The vService status is Evaluating; Modifying vService in Details | A short wait |
| The change could not be applied | Internal sync error — please notify the TR7 technical team in Details; traffic continues with the previous configuration | Support is requested (How do I download the encrypted diagnostic bundle for the support team (Encrypted Support Bundle)?) |
| Configuration error | configuration error(s) summary in Details | What does the configuration error(s) warning in the vService preview (DNS Resolution Error, Port binding error) mean; where does Port Collision appear? |
| The feature does not work on this vService | The selected core engine does not support: …, Running without …: not covered by the license or Keep header names is active on this vService in Details | The Core Engine, the license or the Keep Header Names setting is reviewed |
| The condition does not match, or an action above terminates the request | The action's Hit counter does not increase | The condition or the order is corrected (Why is my Action not triggering?) |
| The response comes from the TR7 cache | TRCACHE: HIT in the response | The cache is emptied (Old content is still being served after an application update; what should I do?) |
| The response comes from the browser cache | No header; new behavior in a private window | The browser cache is cleared; permanent 301 redirects and HSTS are stored in the browser |
| Persistence keeps the user on the old server | The same user always goes to the same server | It is tried with a new session (Persistence is enabled, but my users still end up on different servers; why?) |
| The cluster is not synchronized | Manual Sync Mode is on; Sync. Summary is not equal | Synchronize is used (Is the configuration automatically synchronized between cluster members?) |
| The Backend Service address is a domain name (FQDN) | The Backend Service goes to the old IP | The name is resolved when the configuration is loaded (Can I enter a domain name (FQDN) instead of an IP as the Backend Service address?) |
Where Is It Monitored?
| Screen | Path | What it shows |
|---|---|---|
| Sync indicator | Bottom right of the screen | The progress of applying the change (Syncing …); All synced when it finishes (When does a change I make take effect; does it go live as soon as I save it?) |
| Details | Load Balancer vServices → vService → right panel | Application status, configuration errors and feature warnings |
| Log | In the same panel | Who saved the change and when |
| Action Hits | vService → Dashboard → Action Hits tab | How many times the actions with Hit counter on were triggered |
| Sync Summary | HA Clustering & Sync | Synchronization status in the cluster |
Solution: Three Methods
The three methods are applied in order: first it is checked that the change was applied, then that the request reaches the change, and finally the source of the old response.
| Your situation | Suitable method |
|---|---|
| Whether the change was applied | Method 1: Used in and Details |
| Whether the request reaches the change | Method 2: Condition, order and Hit counter |
| Where the old response comes from | Method 3: Cache, Persistence and cluster |
Method 1: Used In and Details Recommended
- How it works The change is applied only to the vServices that use the object; problems that occur during or after the application appear in the Details tab of the vService.
- Where it is opened The object's preview → Used in · Load Balancer vServices → vService → Details
- Requirement No additional setting is required.
- vService type HTTP · L7 TCP · Network
Step-by-Step Configuration
The changed profile, action, condition or Backend Service is selected in its own list; the Used in tab is opened in the preview on the right, and it is verified that the vService is in the list (When I change a condition or an action, which vServices are affected?, How do I see which vServices use a Backend Service ("Used in")?). If the tab is not there, the object is not used anywhere.
In the Left Monitor Panel, the vService is selected from the Load Balancer vServices list; the Details tab is opened in the right panel.
Modifying vService: the application is in progress; waiting continues until the sync indicator at the bottom right showsAll synced.Internal sync error — please notify the TR7 technical team: the change could not be applied, and traffic continues with the previous configuration; support is requested (How do I download the encrypted diagnostic bundle for the support team (Encrypted Support Bundle)?).configuration error(s): What does the configuration error(s) warning in the vService preview (DNS Resolution Error, Port binding error) mean; where does Port Collision appear?The selected core engine does not support: …: the listed feature does not work on the selected Core Engine.Running without …: not covered by the license: the listed module is not covered by the license.Keep header names is active on this vService: while Keep Header Names is on, HTTP/2 and HTTP/3 are turned off (My backend is sensitive to the letter case of header names; does TR7 change them (Keep Header Names / HTTP 1.0 Header Compatibility)?).
The Status Logs tab in the same panel shows the recent status transitions, and the Log tab shows who made the save and when.
Verification
The Details tab and the sync indicator at the bottom right are checked.
Strip green (OK), no warning, indicator All syncedMethod 2: Condition, Order and Hit Counter
- How it works An action or conditional routing is applied only if the condition matches and an action that ran earlier does not terminate the request; the action's Hit Counter shows the match.
- Where it is opened Action form → Hit Counter · vService → Dashboard → Action Hits tab
- Requirement No additional setting is required.
- vService type HTTP · L7 TCP
Step-by-Step Configuration
On the Load Balancer → Actions screen, the action is selected and the Edit button is clicked.
The Hit Counter switch is turned on (Can I see how many times an action has been triggered (hit counter, Action Hits)?).
The Edit button at the bottom of the form is clicked, and the request is sent again.
Verification
After the request is sent, the Action Hits tab of the vService dashboard is checked.
The action's counter increasesMethod 3: Cache, Persistence and Cluster
- How it works The old response may come from the TR7 cache, from the browser, from the old server because of Persistence, from an old connection that remains open, or from a peer device that is not synchronized.
- Where it is opened Client · Settings → Device Management → HA Clustering & Sync
- Requirement No additional setting is required.
- vService type HTTP · L7 TCP · Network
Step-by-Step Configuration
curl -I https://www.example.com/ is run from the client. If the response has the TRCACHE: HIT header, the response is from the TR7 cache (How do I know a response came from the cache (Cached(HIT) Header Name, default value TRCACHE)?); the cache is emptied by Reloading the vService or by saving a change in the Cache profile (Old content is still being served after an application update; what should I do?). If there is no header, a private window is used for the browser cache; permanent 301 redirects and HSTS are stored in the browser.
With cookie-based persistence, a Weight or algorithm change does not move the existing persistent sessions; with Hash persistence, however, the mapping table is reset on every reload and users are redistributed. The result is tried with a new client or session (Does saving a configuration change reset the persistence tables?). In long-lived connections such as WebSocket and L7 TCP, the new setting is seen on a new connection.
On the Settings → Device Management → HA Clustering & Sync screen, it is checked on the Cluster Status row whether Manual Sync Mode is on, and the Sync. Summary status is checked (Sync Summary). With the default automatic synchronization, the change is transferred to the peer device immediately; if Manual Sync Mode is on, the change stays on the local device. If traffic goes to the peer device through the VIP (What is the Master/Slave role on a VIP?), the change is not seen in this case.
If Manual Sync Mode is on, the Synchronize button is clicked on the device where the change was made, and the confirmation is given (Is the configuration automatically synchronized between cluster members?).
Verification
The request is repeated from a private window and with a new session.
The new behavior is seenThe Sync. summary row on the HA Clustering & Sync screen is checked.
SyncedCommon Mistakes
- Doing a Reload after every change. A saved change is applied automatically; Reload restarts the vService and is not required for ordinary changes (What does Reload in the right-click menu do; how is it different from Disable / Enable?).
- Editing another profile without checking Used in. Profiles with similar names can be confused.
- Concluding that the change was not applied without separating the browser cache from the TR7 cache. The
TRCACHEheader shows the source. - Testing with the same user and overlooking Persistence. A persistent session keeps the user on the old server.
- Forgetting the peer device while Manual sync mode is on in a cluster. The change is valid only on the local device until it is sent with Synchronize.
- Asking for support without collecting information if the problem persists. What to add to the support ticket: Which information should I collect before contacting TR7 support?
How it is done in the documentation
