Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You make a lot of good points, but I take issue with:

> me for pointing out bugs in his software that he refuses to acknowledge

Sometimes this is a perspective thing. It's not always a bug just because some user reports it as a bug in their opinion. Don't know the story behind that anecdote, but perhaps you didn't understand the codebase like you thought you did, or what the expected behavior should of been?

In any regard, if the project maintainer does not consider it a bug and won't accept a PR, then that is their prerogative. You are [usually] free to fork the codebase and fix it yourself if you had a PR that wasn't accepted. With closed source, that isn't even a remote possibility.



The specific bug was in the Varnish reverse proxy. It had to do with the non-functionality of the ESI ( Edge Side Includes ) "support". I really like Varnish and was making great use of it, and was happy to learn it supported ESI. I thought that if you change the contents of an ESI file, and then invalidate that file in Varnish, that Varnish would know the files that include it and invalidate them as well. Nope. Varnish seemingly has no recognition of ESI in regard to invalidation and simply includes the contents of the file, in effect treating them like regular SSI ( server side includes ).

I reported this behavior properly, and I was told that I don't know what I am talking about and there was no problem. The bug I filed was then closed without the issue being fixed or addressed in any way.

I can and will make a competing reverse proxy; because ESI is important IMO, and disregarding supporting it properly is silly.

I think Varnish is great; I'm happy it exists; I think it is silly to close a reported bug on the codebase without addressing it properly. The proper address to it is to simply say "No we don't really support ESI", just as I have said "No my parser is not really an 'XML' parser, because it doesn't really follow the spec."


Just to parlay -

This page has not been edited in over 3 years and says Varnish does not have full ESI support:

https://www.varnish-cache.org/trac/wiki/ESIfeatures

Perhaps you missed it, or perhaps this anecdote took place prior to this page's posting.

In either case, seems it was a misunderstanding - which goes back to my first comment about a reported bug is not always a real bug just because one (or a few) users believe it to be.


There is zero mention in varnish documentation of how ESI and forced cache invalidation occur. ( because it simply doesn't support it ) That was and is my point, and is not addressed on that page or anywhere else.

I realize that would require more extensive changes to support; my only point is that I wanted to use ESI specifically in relation to forced invalidation.

I reported the bug quite clearly, and the main dev said I was wrong and to this day refuses to acknowledge that forced invalidation does not work sensibly in regard to ESI.

I would like to point out again, that this is water under the bridge. I still support Varnish and respect the developer. I simply wish we could all get along and acknowledge limitations of what we do, rather than denying valid points made about software.

That is the true source of the anger in open source; developers refuse to acknowledge that people use their software in ways they didn't expect, and that you have to listen carefully to appreciate what people want. As a developer, it is unreasonable to brush off and ignore people who are trying to help.


Well, if you didn't like their denying your improvement, you could always make a fork, that's the beauty of the open source.

It is usually advised to people who manage open source projects to stay focused on their vision, and not accept random improvements that do not help towards their self-imposed goal.


ESI is not a very well designed protocol, and cache invalidation is hard. You could look at Ledge[1] which has an aim of supporting the cache use cases for ESI fragements.

[1] https://github.com/pintsized/ledge




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: