ByteCode.News
Submit RSS Atom Sign in

Back to the channels

#java

  1. * Munnu joined #java
  2. * hwpplayer1 joined #java
  3. * Cae2 joined #java
  4. * pebble joined #java
  5. * acidjnk joined #java
  6. * anomal joined #java
  7. * leppard joined #java
  8. * hwpplayer1 joined #java
  9. * hwpplayer1 joined #java
  10. * WizJin joined #java
  11. * Afroboy joined #java
  12. * hwpplayer1 joined #java
  13. * GreenResponse joined #java
  14. * MikeBux joined #java
  15. * Afroboy joined #java
  16. * Afroboy joined #java
  17. * skum joined #java
  18. * Afroboy joined #java
  19. * Cae2 joined #java
  20. * Afroboy joined #java
  21. dreamreal https://bytecode.news/posts/2026/08/because-it-s-not-fun-enough
  22. javabot dreamreal's title: "Because It's Not Fun Enough | bytecode.news"
  23. sonOfRa Any folks around with some in depth experience with jgroups/infinispan? We had a fun outage a while back, caused by ceph saturating the UPI due to misconfigured NUMA affinity, which led to basically all I/O on that node stalling hard. We're running a default jgroups-tcp stack with jdbc-ping instead of mping as discovery. In the end it looked like the I/O was saturated enough that basiaclly all actual writes to the broken node failed, and all of the writes of
  24. sonOfRa that broken node against other nodes also failed. However: Neither the FD_SOCK2 socket got closed to trigger suspicion, nor was the network apparently saturated enough to prevent the FD_ALL3 heartbeats from failing enough times in a row to evict the bad node. Any advice at all on reconfiguring the stack, so if this happens again, our whole cluster doesn't fail?
  25. sonOfRa In the end, all the other nodes also stalled because after the thread pools writing to the cache filled up, and then the http workers eventually filled up as well
  26. * sa02irc joined #java
  27. GreenResponse this languages categorisation resembles former Top Gear’s host Clarkson walls of good, bad and ugly cars. It’s just stirring some stupid culture wars about everything
  28. dreamreal I've never seen Top Gear, no context for that, but I like the idea
  29. dreamreal sonOfRa: hrm, alas, no - infinispan is not my cup of tea :/
  30. sonOfRa Definitely one of the more "interesting" outages I've had the pleasure to see, but completely stumped on how to fix it :D
  31. dreamreal outside of cranking up the "bad node" metrics, not sure, if the heartbeat was passing enough
  32. sonOfRa Briefly considered doing something via looking at prometheus metrics written by the cluster but thought better of it - those were gone during the outage because the scraper didn't get assigned a http worker to actually scrape metrics...
  33. sonOfRa Unfortunately all the "suspect a node as down" logging is DEBUG gated, would have been nice to actually be able to see at least the chatter from the non-broken nodes if they ever suspected the bad node at any point...
  34. dreamreal upvotes appreciated: https://news.ycombinator.com/item?id=49242245
  35. nevet Because It's Not Fun Enough: why languages fail | Hacker News
  36. javabot dreamreal's title: "Because It's Not Fun Enough: why languages fail | Hacker News"
  37. * metalmaniac joined #java
  38. * yeahitsme2 joined #java
  39. * Cae2 joined #java
  40. * jamezp joined #java
  41. * acidjnk joined #java
  42. * enoq joined #java
  43. enoq do we know if when structured concurrency hits in the JDK we will be able to do parallel stuff in non-concurrent code like Transactions in Spring WebMVC?
  44. enoq my gutt feeling is no
  45. enoq so spring webflux is still the goto when you to executed a lot of parallel code in one request
  46. enoq execute*
  47. dreamreal wait what
  48. dreamreal it depends on how the transaction context is propagated, and spring is already virtual thread compatible
  49. dreamreal so my gut feeling is very yes
  50. dreamreal and spring webflux is not the goto unless you have a very 0.2% application
  51. dreamreal and that 0.2% is probably VERY generous to webflux
  52. sonOfRa ceterum censeo webflux esse delendam
  53. sonOfRa God I hate reactive programming.
  54. enoq dreamreal: I'm thinking about something like parallel transactions
  55. enoq fire off 2 transactions in parallel
  56. enoq then wait until they both complete or roll them all back
  57. enoq reason I'm asking is because I've watched a talk that included spring transactions not being thread safe since they are bound to thread locals
  58. enoq you can propagate transaction state using mdc but things might break
  59. dreamreal yeah, 2PC is a drag
  60. enoq I'm working my way up to a BFF and am constantly bumping between webflux and mvc right now due to different constraint (and integration with kotlin coroutines)
  61. dreamreal your life is going to be SO interesting
  62. enoq with webflux?
  63. dreamreal webflux sucks
  64. dreamreal so sure
  65. dreamreal why not
  66. sonOfRa It works well enough, I wouldn't say it sucks
  67. enoq so my impression is that it translates really well to coroutines and then you've got your imperative programming model back
  68. sonOfRa It's just that reactive programming in general is terrible
  69. enoq I mean, apart from flux
  70. dreamreal I'd say it sucks because reactive programming is terrible
  71. sonOfRa fair enough
  72. dreamreal for a VERY VERY VERY VERY SMALL set of problems it's great
  73. dreamreal My first response to everyone saying "but that's what I have!" is "you are incorrect"
  74. enoq I'm also somewhat familiar with RxJS and it's terrible, yeah
  75. sonOfRa We've built some nice scalable stuff with it! Say, the digital tickets for the paris and milano olympics
  76. dreamreal I know this is not true in every case
  77. * five618480339176 joined #java
  78. Bombe Hmm, I have a project here with a Guava EventBus, and I want to get rid of that, and I started using Project Reactor. Was that a bad idea?
  79. Bombe My main goal is to avoid creating a separate XYListener for every little thing that I want to trigger.
  80. Para I like how its documentation starts (after the "what" explanation) https://github.com/google/guava/wiki/EventBusExplained
  81. nevet EventBusExplained
  82. javabot Para's title: "EventBusExplained · google/guava Wiki · GitHub"
  83. Para (hint: there's tips for alternatives)
  84. * simon816 joined #java
  85. * pedro_sk8 joined #java
  86. * magla joined #java
  87. * fgarcia_ joined #java
  88. * LtHummus joined #java
  89. * Gaz7051122720067 joined #java
  90. * jiffy__ joined #java
  91. * acidjnk joined #java
  92. * rorx joined #java