Hi, I've tested this patch and it looks very promising - no errors so far. I will deploy it tomorrow on a larger scale.
Thanks Christopher! Kind regards, wt., 9 lip 2024 o 08:43 Christopher Faulet <cfau...@haproxy.com> napisał(a): > Le 05/07/2024 à 12:57, Maciej Zdeb a écrit : > > Hi, > > I'm using haproxy version 2.8.9 and noticed strange behavior of the SPOE > engine. > > I see many logs like below. From what I managed to investigate, the > error with > > value 2 is defined as SPOE_CTX_ERR_RES (an error was triggered during > the > > resources allocation) and this particular error is set only in > > spoe_queue_context function. > > > > So probably there is an issue with that logic of creating applets, but > I'm > > unable to understand what is wrong with it. I don't have any limits in > spoe > > configuration so it should not be the cause. > > > > /* Check if we need to create a new SPOE applet or not. */ > > if (agent->rt[tid].processing < agent->rt[tid].idles || > > agent->rt[tid].processing < > > read_freq_ctr(&agent->rt[tid].processing_per_sec)) > > goto end; > > > > SPOE_PRINTF(stderr, "%d.%06d [SPOE/%-15s] %s: stream=%p" > > " - try to create new SPOE appctx\n", > > (int)date.tv_sec, (int)date.tv_usec, agent->id, > __FUNCTION__, > > ctx->strm); > > > > spoe_create_appctx(conf); > > > > end: > > /* The only reason to return an error is when there is no > applet */ > > if (LIST_ISEMPTY(&agent->rt[tid].applets)) { > > ctx->status_code = SPOE_CTX_ERR_RES; > > return -1; > > } > > Hi Maciej, > > Thanks for the report and sorry for the delay :/ > > I guess here the issue is that there are applets but not on the current > thread. > The following patch should fix the issue. Could you confirm it really > fixes your > issue ? it can safely be applied on the 2.8.9 or 2.8-HEAD. > > FYI, I'm working on the SPOE refactoring. I hope the first version will be > available soon for testing. > > -- > Christopher Faulet >