Max SendQ Exceeded when joining large channels
Max SendQ Exceeded when joining large channels
Yes it seems regular users can't join channels with a lot of users because if they do they are forcefully disconnected with "Max SendQ Exceeded" even after changing sendq on all servers to 150599990000 in their respective config files. This is not the first time weve changed the sendq weve tried dozens of heightened values for it none of which seem to make much difference to regular users.
Also, please don't use a ridiculous value, that will only lead to problems (including sooner disconnects).
How many users do you have in the channel? Try bumping the sendq it to like "500k" (500000), that should be enough even for a /who on a channel with 1000 users...
And of course, as Jason said, do it for the correct class (and rehash). Check with '/stats y' to make sure it actually applied.
How many users do you have in the channel? Try bumping the sendq it to like "500k" (500000), that should be enough even for a /who on a channel with 1000 users...
And of course, as Jason said, do it for the correct class (and rehash). Check with '/stats y' to make sure it actually applied.
You are making me curious...
that must be either.. client acting as an idiot (who request on a too big channel) or a channel with over like 3K.. 5K.. or more users.
Clients like irssi properly behave with settings such as: if channel has over <X> users, then do not do a who #chan.
[it's new though, but it's like every client should behave like that if you ask me]
that must be either.. client acting as an idiot (who request on a too big channel) or a channel with over like 3K.. 5K.. or more users.
Clients like irssi properly behave with settings such as: if channel has over <X> users, then do not do a who #chan.
Just as an example.If channel has more nicks than /SET channel_max_who_sync, don't ask/WHO list to avoid getting kicked out of server (Max SendQ exceeded).
[it's new though, but it's like every client should behave like that if you ask me]
The channel has 1200+ users at this time, I've seen it as high as 1600 (to my best recollection).
What about the compiled-in MAX_SENDQ at the very end of ./Config? Is that relevant? I believe it defaults to 300000. Some servers on the network were getting errors on rehash for, as stated earlier "ridiculously high values".
What about the compiled-in MAX_SENDQ at the very end of ./Config? Is that relevant? I believe it defaults to 300000. Some servers on the network were getting errors on rehash for, as stated earlier "ridiculously high values".
500k should be more than enough.
Though, if you are paranoid you can use 1mb (which is even less than 512*1200).
Note that such high sendq's are an excelent setup to cause a DoS at your server (memory exaustion), since then every client can use 1mb of memory, but it's your choice ;).
No the ./Config thing is not directly relevant in this case, that's a total sendq limit.. if you would hit it you would see another error ("enlarge bufferpool" oper notices), of course you can still expand it [just a bit, not by making it 9 digits]. but it's not relevant for your primary problem (unless you got that msg).
Again, check with '/stats y' the sendq got actually enlarged, and check with '/trace' to see if the users having the problem are actually in the right class.
But is this actually about /WHO requests clients are doing or what?
Though, if you are paranoid you can use 1mb (which is even less than 512*1200).
Note that such high sendq's are an excelent setup to cause a DoS at your server (memory exaustion), since then every client can use 1mb of memory, but it's your choice ;).
No the ./Config thing is not directly relevant in this case, that's a total sendq limit.. if you would hit it you would see another error ("enlarge bufferpool" oper notices), of course you can still expand it [just a bit, not by making it 9 digits]. but it's not relevant for your primary problem (unless you got that msg).
Again, check with '/stats y' the sendq got actually enlarged, and check with '/trace' to see if the users having the problem are actually in the right class.
But is this actually about /WHO requests clients are doing or what?
mostly yes it is...
also /stats G causes opers to exceed max sendq - which is utter crap
i got it fixed however, set client sendq to 500000 like you suggested and made a new class (noflood) for use in oper blocks with a sendq of 1000000
and ive put that to the test piggy-backing irc commands that i know will result in a lot of output.... it seems impossible to exceed my max sendq now.
also /stats G causes opers to exceed max sendq - which is utter crap
i got it fixed however, set client sendq to 500000 like you suggested and made a new class (noflood) for use in oper blocks with a sendq of 1000000
and ive put that to the test piggy-backing irc commands that i know will result in a lot of output.... it seems impossible to exceed my max sendq now.