Never add connections allocated to this sever to a stick-table.
This may be used in conjunction with backup to ensure that
stick-table persistence is disabled for backup servers.
Supported in default-server: Yes
+non-stick
+ Never add connections allocated to this sever to a stick-table.
+ This may be used in conjunction with backup to ensure that
+ stick-table persistence is disabled for backup servers.
+
observe <mode>
This option enables health adjusting based on observing communication with
the server. By default this functionality is disabled and enabling it also
#define SRV_TPROXY_DYN 0x0400 /* bind to a dynamically computed non-local address */
#define SRV_TPROXY_MASK 0x0700 /* bind to a non-local address to reach this server */
#define SRV_SEND_PROXY 0x0800 /* this server talks the PROXY protocol */
+#define SRV_NON_STICK 0x1000 /* never add connections allocated to this server to a stick table */
/* function which act on servers need to return various errors */
#define SRV_STATUS_OK 0 /* everything is OK. */
newsrv->state |= SRV_BACKUP;
cur_arg ++;
}
+ else if (!defsrv && !strcmp(args[cur_arg], "non-stick")) {
+ newsrv->state |= SRV_NON_STICK;
+ cur_arg ++;
+ }
else if (!defsrv && !strcmp(args[cur_arg], "send-proxy")) {
newsrv->state |= SRV_SEND_PROXY;
cur_arg ++;
struct stksess *ts;
void *ptr;
+ if (target_srv(&s->target) && target_srv(&s->target)->state & SRV_NON_STICK) {
+ stksess_free(s->store[i].table, s->store[i].ts);
+ s->store[i].ts = NULL;
+ continue;
+ }
+
ts = stktable_lookup(s->store[i].table, s->store[i].ts);
if (ts) {
/* the entry already existed, we can free ours */