I have a Web Appbuilder widget using AGE FeatureServer and MapServer.
The FeatureServer is used to write new features to the database, which are then exposed via the MapServer. These are 2 separate services:
- AdminWrite/FeatureServer
- Public/MapServer
Each of them contain 4 layers. My widget talks to those layers.
When I add a feature via the FeatureServer, sometimes* it is not immediately available on the MapServer.
*- sometimes means for some users on some zoom levels.
See the GIF below.

The feature that's disappearing and reappearing is from a MapServer (there are other features around it from the same service). It was added via the FeatureServer a few minutes ago. Onclick, we call queryFeatures so that's why it shows (queryFeatures/selectFeatures always uses latest data). To force the freshly-added features to show after they were added, I call .refresh() on the layer that points to the MapServer. As you can see, works sometimes.
The MapServer has no special caching treatment. It was published a few months ago. We reviewed the config yesterday.
HTTP responses from the MapServer (during zoom events) carry Cache-Control: public, must-revalidate, max-age=0
Anything else I should check?
How do I fix this?