-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FR: http-request set-priority-class #624
Comments
Hi @ShadowJonathan , Indeed we didn't implement this possibility. But there's always the possibility to inject your own configuration through config snippets as documented here. If you have already worked out the configuration you can post it there so we can discuss its integration. If you don't know how to do it, please ask the Haproxy Slack channel. |
I haven't yet spotted the config snippet option, when I do get it working i'll add the snippet here for anyone else to use, thank you for mentioning it! 💚 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Oh nice, another repo to add to the list: https://nostalebots.xyz |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Thanks for reminding me to add it to the list. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
No. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
No. |
@ivanmatmati why did you close this? |
Why should it be kept open ? |
It hasn't been formally closed, the stale bot does not substitute a reason for why it should be closed; Are you not interested in adding this feature? If not, thats a reasonable reason to close, but inactivity is not. |
Inactivity is usually a good reason to close a stale issue. In this case, it's not. Considering the config snippet you provided, it seems that it's highly personal and not reusable for a general case. It's unclear for me if you found the desired implementation in NGINX. If so can you point to the documentation ? |
I used a combination of I understand not wanting to develop that though, and so this issue can be closed on that basis, but I object more to the idea of issues being closed based on inactivity, with the idea that the feature's need has not waned in the meantime. Workarounds would decrease traffic to the issue, since there is an idea that its being worked on, and github heavily disincentivises "bumping" issues, since it just adds noise, so issue threads are worked out until the issue itself is made clear, and then its left alone to be picked up like work items. Stale bots fundamentally misunderstand this idea, and close nicely-worked-out issues, simply because bumping it does not happen. |
hi @ShadowJonathan, it does have some good marks but also some bad ones. In the end it all comes to this:
And I agree on this, we as a maintainers decided stale bot is good for us.
It does say it, issue was opened, had some questions and answer, there were no activity or something new that would contribute to the topic added . Could the answer be better, maybe, but the fact is, system we put in place works like that. I can admit that we do not have a really large setup for stalebot, but it does mostly what we think it should do. This issue is actually a good example why keeping this open adds more unnecessary work for maintainers in future, not to mention potential confusion. For example:
Going through all open issues and update them, while they can be closed (because other parts of project like documentation provide solutions) is more work, also we can discuss whether commenting/updating on old issues is good or bad. We prefer to have more clean documentation where options are more structured. As a good example here, we had few PRs to improve our TCP handling, we had some suggestions, conversations and in the end we had a different solution that IMHO solves problems users had. fact that this is also the third comment that has nothing to do with the issue itself (first being we are open to new ideas, also there has been some community PRs too, some are open due to rules we have, some needs to be looked at, some i closed today because we had alternatives (and that was commented)
is it nice? would it be better to leave this issue with main topic and open maybe another one with this subject instead of just passively saying how this is nice because we disagree how project is currently handling this.
Github is good and bad at the same time, some features are great, some are not, a lot of things can be improved and same can be told with this project too. we do not have project label to mark this issue with |
I see about 8 unnecessary interactions between user and stalebot here, something that does generate notifications and noise for maintainers, and then after that I see interactions with about 700 words written on the topic of stalebots and barely anything related to the issue at hand. I think you will agree that:
To quote the same text that you've described as "does have some good marks but also some bad ones":
When I look through the closed stale issues I see on the first page a single issue that was also tagged as "waiting-for-feedback". I won't link the issue because that would be unnecessary noise. That one issue however is a prime example of how the process should work; a maintainer sees that feedback is needed, tags the issue, and then after some time the stalebot could close the issue. That's still not great, but it's better. Better than closing an issue where other people are waiting on a reply from the maintainers. On the matter of waiting on a reply from a maintainer, I see you do have a tag called "investigation" (which the project settings describe as "more investigation needed on our side"). I also see on the same first page of closed stale issues one issue which was closed by the stalebot, which also looks very much like the problem wasn't solved, and there still was something to do for the maintainers since it has been tagged as "investigation", but instead some noise was created for everyone involved and the issue was removed from sight, despite there supposedly being something to fix. I see no gain for the project by closing any of it automatically, but I do see a hostility towards users and contributors when you say something like:
You're specifically saying that you have read an issue (otherwise you wouldn't know whether or not it can be closed), but that the time it would take you to answer "there is an option for this in the documentation, please have a look" and tag it as "needs feedback" is worth more than the time a user has to read and respond to a stalebot in a field that is well known to have a lot of people with social anxiety and generally introverts working in it so that both of us know very well that the time they spend on writing a reply to a stalebot is not just going to be the time it takes to write "this is still current", but is probably much more in the range of tens of minutes. Your one minute for typing what I suggested at the beginning of this paragraph is worth more than their potential half hour? That would be a vile thing to say.
And by your account the stalebot was a good thing in that context? So you're saying that not providing that context in the issue, not providing the information that a consensus was reached about there being a better way to handle the technical details is the good thing to do? To just.… leave the issue open without any distinct resolution? The next person is going to look at an issue that was closed by the stalebot and is gonna ask "but.… what am I supposed to do now?". At the same time the action of actually closing the issue and tagging it as "won't fix" or something takes you a fraction of the time that the alleged conversations have taken, so why omit that one step? Why rely on a stalebot that does the same work you do but significantly worse and makes the entire situation really hard to follow for anyone coming after?
Of course you are free to steer the project any direction you like, but if you value your users, you are going to tell them what direction this is, instead of just ignoring them and waiting for their issue to close automatically just to irritate and confuse everybody. Ignoring the other party of a conversation and instead waiting for them to get bored staring at your back and departing is just not a thing that a decent human being would do in real life, so why is it okay to do the same by means of a stalebot on an issue tracker, when the alternative is to spend one minute of your time replying to the issue that allegedly you've already read anyway? |
@ShadowJonathan, I've just come across the new contents of your "website" about stale bots where you put a picture of one of my interaction with a user in this github repository. This excerpt causes problems. First, it misleads people to think that after having said that I'll get back to the user, I haven't and finally the stale bot has to enter in action. As you can see I told him I'll get back to him on 30th Jan, and he opened the next one on 31th Jan ... Second, on these dedicated Github pages we invite people to discuss technical issues, ask technical questions or technical feature requests. The two keywords are "invite" and "technical". The fact that we invite people in this space means you must behave correctly and respect its purpose. So any sarcastic and irrelevant comments about stale bots like "Oh nice, another repo to add to the list: https://nostalebots.xyz" or "Thanks for reminding me to add it to the list" are not correct. Third, as my personal name appears in your "website" in a biased excerpt that suggests something plainly wrong, I strongly advise that you remove it. |
We have a bunch of different traffic flowing through our application, all of them with different characteristics (latency tolerance, retry resilience, impact on user experience, criticality to proper application functioning, etc.), all of them are identifiable through a variety of different matchings on the request itself.
We have a kubernetes cluster, where currently an nginx ingress controller distributes requests across a variety of api servers. Upstream to that we have another nginx server (frontend) doing the matching, and sending traffic into the kubernetes cluster. We use kubernetes for this, as the volume of traffic ebbs and floods over the day, and auto-scaling on web worker usage and queue length has proven to be an effective method of handling with this.
We want to switch over to using the haproxy ingress controller to take advantage of request prioritisation, as this fits our usecase for managing the above mentioned different traffic patterns. For simplification, the plan was to have the upstream nginx ingress "mark" the requests as such before sending them along, so that a simple haproxy priority class matcher could assign it priority in the queue.
However, it appears that the haproxy ingress controller has not implemented the priority mechanism, as I couldn't find any mention of it in this repository, nor in documentation.
The text was updated successfully, but these errors were encountered: