ByteCode.News
Submit RSS Atom Sign in

Back to the channels

#java

  1. * jreicher joined #java
  2. * metalmaniac joined #java
  3. * NeXeN joined #java
  4. * ferdna joined #java
  5. * Ragnor joined #java
  6. * Aedil joined #java
  7. * NeXeN_ joined #java
  8. * NeXeN_ joined #java
  9. * NeXeN_ joined #java
  10. * sponkz joined #java
  11. * zorone joined #java
  12. * stfstfm_ joined #java
  13. * kcomhnall joined #java
  14. * julemand101 joined #java
  15. * MikeBux joined #java
  16. * TomyWork joined #java
  17. * stewi joined #java
  18. * zorone joined #java
  19. * mwnaylor joined #java
  20. * nevet joined #java
  21. * CodeGeek!~codegeek@about/java/CodeGeek changed the topic to: Welcome! || Read Channel Rules at https://javachannel.org/ before participating. || Paste limit is two lines; ~pastebin lists options. || No applets, please. || Minecraft, Android, and Javascript all have their own channel. || You are being logged.
  22. Para https://bytecode.news/posts/2026/03/kafka-offset-commit-with-spring-boot
  23. dreamreal Para: ++
  24. nevet Para now has karma of 1.
  25. dreamreal the kafka commit semantics are ... interesting, and how spring boot interacts with them can be unexpected
  26. dreamreal it treats the *read* as a transaction
  27. jreicher Why wouldn't it?
  28. jreicher It probably shouldn't be called a "read". It's a really a consume.
  29. dreamreal Well, it doesn't consume the content, it IS a read
  30. jreicher It does consume the content. The commit offset is committed back, so you don't re-consume the same message by mistake.
  31. dreamreal but treating the read as a transaction can have odd semantics because the transaction doesn't necessarily propagate unless you take steps
  32. dreamreal it only consumes the content from that client-id's perspective, though
  33. dreamreal so I'd say it's still a read
  34. jreicher I'm happy to use the word read, but the offset is how the "consume effect" is implemented.
  35. dreamreal terminology is a drag, yeah, I get that
  36. jreicher So because there's a mutation taking place, it needs to be a transaction.
  37. Para Kafka is built to synchronize on write acks, so that's one factor to consider as well. For the most part it doesn't matter much.
  38. Para One wild choice was using Zookeeper ephmeral nodes for consumer group topic offset tracking, although I think they got rid of that, as there's no zk dependency anymore.
  39. Para (or something similar, my brains a bit extra mushy right now)
  40. jreicher I never took the time to understand zookeeper, but yeah I think it's gone.
  41. Para graphy thing with awesome features and nanosecond-scale latency as long as the hardware doesn't suck or behave erradically.
  42. dreamreal zk isn't gone but you can deploy without it, I think
  43. Para It never survived the cloud that well, CPU steal basically was like a gutpunch to ZK and then it would get into split brain dance, among other issues :D
  44. Para Kafka was built in Linkedin's in-house data centers originally with all the hardware they wanted running on bare metal, so they obviously hadn't considered things like CPU steal initially.
  45. jreicher Whenever I see split brain I have visions of some developer somewhere thinking how easy it was to write that automatic failover function...
  46. Para As a thingy I do like the ideas of Zookeeper though. Hierarchical configuration management with clustering, synchronization, several persistence levels etc.
  47. Para Kinda like what Hashicorp's Consul would then do a bit later.
  48. * michele joined #java
  49. * akaWolf joined #java
  50. * polarian joined #java
  51. deebo never knew kafka was from linkedin
  52. Para Yeh, pre-Microsoft
  53. Para Then forked to Confluent.
  54. dreamreal life is a highway, man
  55. dreamreal signs everywhere
  56. deebo tom cochrane time
  57. dreamreal It's a great song! And it's incredibly fun to play.
  58. * P1RATEZ joined #java
  59. * kcomhnall joined #java
  60. * jamezp joined #java
  61. * metalmaniac joined #java
  62. * sa02irc joined #java
  63. * zorone joined #java
  64. * kcomhnall joined #java
  65. * sponkz joined #java
  66. * sponkz69 joined #java
  67. * metalmaniac joined #java
  68. * kcomhnall joined #java
  69. * sa02irc joined #java
  70. * sa02irc joined #java
  71. * kathadris joined #java
  72. * mindCrime joined #java
  73. * magla joined #java
  74. * sa02irc joined #java
  75. * stfstfm joined #java
  76. * ferdna joined #java
  77. * MikeBux joined #java
  78. * kcomhnall joined #java
  79. * mindCrime joined #java
  80. * ChaiTRex joined #java
  81. * ChaiTRex joined #java
  82. * MikeBux joined #java
  83. * stfstfm_ joined #java
  84. * MikeBux joined #java
  85. * Drixtan joined #java
  86. * ChaiTRex joined #java