Hacker Newsnew | past | comments | ask | show | jobs | submit | 0xFFFE's commentslogin

It appears the problem existed before the lila3 was deployed on 11/22. If you notice the GC graph. The number of GC cycles/minute kept increasing gradually starting on 11/10 and almost doubling on 11/21. The 11/22 deployment of lila3 reset the graph and since you have been restarting everyday since, we can't see the growth of more than a day. My wild hunch is a code push on 11/10 causing a memory leak, worth checking in my opinion.


I haven't looked at the graphs, but they updated netty to 4.1.85.Final on 2022-11-10.

https://netty.io/news/2022/11/09/4-1-85-Final.html mentions that a potential memory leak was fixed. In includes a debug log warning of the leak; but enabling debug logging may be a no-no.

Perhaps could be worth reverting that and see if there's any change. Sounds cheap and harmless.


Netty is a super complex and also super poorly documented project. I did weeks of exploration and found these JVM args:

      -Dio.netty.allocator.numDirectArenas=0
      -Dio.netty.noPreferDirect=true
      -Dio.netty.noUnsafe=true
work pretty well for us on any HTTP server. They slightly reduce performance as HTTP pool is weaker, but deceases memory usage by 25-40%, also eliminated one of a few memory leaks in an older version of KeyCloak.


there were no deployments near 11/10, according to that graph - they also say in the blog that scala2 could go for two weeks without restart, so theyre presumably aware of some sort of memory management issues they're just okay with it.


Not too different from San Fran then!


If you don't have anything good to contribute at least don't be a dick to others. Life can turn on a dime and any of us could be in a similar situation.


You may be able to control the place of "landing" but you can't claim to control the airspace above it.


Totally off topic. I am not an UI/UX designer but why can't the page scale to the size of the screen? Sure I could ctrl/cmd++ but is it hard to detect the screen size? Genuine question, not trying to be condescending.


Trappist 1


My manager during the recent 1:1 said I have been a valuable employee. Should I be worried?


You would have added some expletives too if you had worked as a support engineer.


You need to keep it fueled for it to maintain whatever orbit it gets pushed into. Orbital decay and everything.


Orbital decay comes from something. At some distance from Earth, you run out of somethings (most critically: atmosphere) decaying an orbit.

So past a certain distance, orbits are effectively "forever" ones.

It just takes more energy to get there, which is why the ISS is where it is.


If the orbit is higher it can last for thousands or millions of years


C is generally better because it doesn't treat you with kid gloves, if you don't know what you are doing you will get fucked in the ass. That said, any competent engineer would know what tool to use to solve a given problem. You don't use a sledge hammer to fix a watch.


Butchers are also free not to wear metal glovers, if they lose part of the hand because they don't know what they are doing, tought luck.

Any competent butcher will never cut themselves.


I agree, the tools should make it very clear what implications using a certain feature has (e.g. unsafe in rust).


C did it already in 1979, yet people keep ignoring it.

> Although the first edition of K&R described most of the rules that brought C's type structure to its present form, many programs written in the older, more relaxed style persisted, and so did compilers that tolerated it. To encourage people to pay more attention to the official language rules, to detect legal but suspicious constructions, and to help find interface mismatches undetectable with simple mechanisms for separate compilation, Steve Johnson adapted his pcc compiler to produce lint [Johnson 79b], which scanned a set of files and remarked on dubious constructions.

https://www.bell-labs.com/usr/dmr/www/chist.html


We've been here before with other aspects of human behaviour.

If you really don't want people to do it, make it impossible and then they can't. You can't write an integer overflow in WUFFS because that doesn't compile. You can't use your Google.com WebAuthn credentials to sign into fakegoogle.example, even if you really, really want to, even if you're 100% sure this is a good idea, it can't be done. Any time you stop short of this, you mustn't really want people to stop doing it and so they won't.

The next strongest defence, still not used often enough, is to make it very annoying to do things that are a bad idea. Default deny for example, the compiler obliges you to go in and explicitly allow the obviously bad thing you've done each and every single time you do it. A DLR train can be driven in fully manual mode instead of being automated, but it goes annoyingly slowly if you do that.

Linting is far below the visibility of even compiler warnings, most of your target audience will never see the message. It's not even "Do not look into laser with remaining eye" but more like a "Caution: Eye hazard" warning written inside the never-opened instruction manual.


Agreed, the only way to enforce something is to make part of the type system, and that is how we land on C folks complaining about straightjacket programming languages.


NB straitjacket. (The word "strait", in this context, means "confinement".)


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

Search: