Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 07 11:23
    rtar starred Spinoco/fs2-kafka
  • Jul 29 2021 00:15
    masonedmison starred Spinoco/fs2-kafka
  • Mar 24 2021 04:23
    kevinalh starred Spinoco/fs2-kafka
  • Jan 28 2021 23:41
    mebubo starred Spinoco/fs2-kafka
  • Jan 17 2021 14:53
    PengLoveHONG starred Spinoco/fs2-kafka
  • Nov 07 2020 05:55
    nachocodexx starred Spinoco/fs2-kafka
  • May 08 2020 19:25
    ostronom closed #27
  • May 08 2020 19:18
    ostronom opened #27
  • Mar 14 2020 14:26

    AdamChlupacek on v0.4.0-M4

    (compare)

  • Mar 14 2020 14:26

    AdamChlupacek on 0.4-spinoco-compat

    Setting version to 0.4.0-M4 Setting version to 0.4.0-SNAPSH… (compare)

  • Mar 14 2020 13:34

    mraulim on 0.4-spinoco-compat

    Add timeout for publishing in k… Added trusty as a dist for runn… Fixed timeout on leader query. and 2 more (compare)

  • Mar 14 2020 13:34
    mraulim closed #26
  • Mar 14 2020 09:31
    AdamChlupacek synchronize #26
  • Mar 14 2020 09:31

    AdamChlupacek on publish-connection-timeout

    Add timeout for leaders stream. (compare)

  • Mar 13 2020 18:47
    AdamChlupacek synchronize #26
  • Mar 13 2020 18:47

    AdamChlupacek on publish-connection-timeout

    Fixed timeout on leader query. (compare)

  • Mar 13 2020 17:16
    AdamChlupacek synchronize #26
  • Mar 13 2020 17:16

    AdamChlupacek on publish-connection-timeout

    Added trusty as a dist for runn… (compare)

  • Mar 13 2020 17:13
    AdamChlupacek review_requested #26
  • Mar 13 2020 17:13
    AdamChlupacek opened #26
Andi Miller
@andimiller
I'm using the offset for crash recovery yeah
I'm currently using the official kafka consumer, and fs2-kafka's producer
so I don't have to implement my own offset management
Adam Chlupacek
@AdamChlupacek
What kind of crash recovery? complete (jvm exits)? or just an error in your stream?
Andi Miller
@andimiller
usually just a normal SIGTERM
the rpm being upgraded
Adam Chlupacek
@AdamChlupacek
And kafka client can somehow get up from this? wow, it must store it in zookeeper or something like that, seems a bit arcane to me :D
if you need something short term, you can store the offsets in zookeeper manually maybe? that would allow you to use fs2-kafka consumer as well.
Pavel Chlupacek
@pchlupacek
Actually you may use kafka to store offset, and also the fs2-kafka. Just configure one of your topics to be compressed and you are good to go. Thats actually how original client of kafka stores offset nowadays, before it was ZK.
Adam Chlupacek
@AdamChlupacek
didnt know that, thats cool.
Andi Miller
@andimiller
yeah I need to read up on how the official client stores it in kafka and do that
Pavel Chlupacek
@pchlupacek
for that you will need to read kafkas client source. Not sure if they document that.
fwiw if you will go this path I would be happy to have PR with that :-)
Andi Miller
@andimiller
I guess you key on consumerid, and compress it
Pavel Chlupacek
@pchlupacek
yes, I woudl say so
and perhaps topic
Filippo De Luca
@filosganga
Hi Guys,
Am I correct to say that to use fs2-kafka I need to assign a specific partition to each consumer?
Adam Chlupacek
@AdamChlupacek
yes, that is correct, you need to specify a partition.
Filippo De Luca
@filosganga
@AdamChlupacek Thanks
sken
@sken77
im thinking of doing a smack stack with just the fs2 libs
is this possible? or a good idea
Adam Chlupacek
@AdamChlupacek
Hey @floreslorca i am not entirely sure what you mean by smack, but with a quick google, it seesm that it is just a technique for distributed apps? In that case yeah you can. We in our production fs2 only. (As you can tell by all the fs2 libs we have on Spinoco here :D)
sken
@sken77
i just despise akka and friends so i want to try it with fs2
sken
@sken77
the idea is very generic and reusable, and i was wondering if its doable with the fs2 libs
Adam Chlupacek
@AdamChlupacek
@floreslorca Yeah, all of this seems doable, you have cassandra and kafka covered with our libraries, akka with fs2, sadly I dont really have experience with mesos or spark, so cannot tell you how to replace that atm with some fs2 library. But from my experience you can express anything in fs2 with much better guarantees than any other lib :D And ofc in its very core fs2 is trying to be as generic an reusable as it can be.
sken
@sken77
i dont really need the spark part at the moment. mesos is just the environment is running on
Adam Chlupacek
@AdamChlupacek
In that case you can totally do this. Btw as far as I understand spark, its just some kind of concurrent data processing?
sken
@sken77
yep, thats basically what it is
Adam Chlupacek
@AdamChlupacek
If thats so, then fs2 can easily replace that as well (no library required as we have Stream.join), so I say you wont have SMACK anymore but more like MFCK :D
sken
@sken77
hahah we need to work on a catchy name
Kåre Blakstad
@kareblak
I've been thinking on implementing some sort of mapAccumulate over Kafka log compacted topics, to share the accumulated state among distributed nodes. That's Spark for ye, without alot of the fancyness that is
Adam Chlupacek
@AdamChlupacek
That is just basically doing mapAccumulate over the stream that you get from subscribing to a topic right? Or do you have something more complex in mind?
Kåre Blakstad
@kareblak
Writing the accumulator back to the log compacted topic and making sure it's being somewhat synced on the other nodes
changes to the accumulator being mirrored to kafka
I'm doing alot of distributed fs2 stuff, and recursive state sure is a bitch
For now i'm pipelining changes to redis and reading them out on topic rebalance
Adam Chlupacek
@AdamChlupacek
Well, if your function in MapAccumulate is pure, then you do not need to mirror the changes anywhere, since the ops should always result with the same state in the end.
you will only need to think about recover so that you have the same starting point.
Kåre Blakstad
@kareblak
Yes, thats right, given that the same nodes continue consuming from the same topics
Which is not the case on autoscaling, broken down nodes etc
If you have some sort of state in a mapAccumulate on node A, and A breaks down, you might want to offload the work of node A to node B, which will not have the same notion of state as node A
You could solve it with offset and topic assignment, but that would take some of the flex away
Adam Chlupacek
@AdamChlupacek
hmm, yeah, so how about backing up the state with some kind of persistent store, that gets written to every N messages from kafka, thus you can recover to the state at any point. At most you will have to read the N messages again to get to the state where A broke down. But since the function in mapAccumulate is pure, it does not matter that you will perform it multiple times?
Kåre Blakstad
@kareblak
f in mapAccum is pure, so no problem there
downstream, theres som impure stuff, but that shouldnt be any problem
the persistent store you're talking about could be compacted topics
which would make the whole model pretty nice
And also, N is never enough
becaause N is dependent on N-1 etc, so a snapshot of the actual accumulator, or at least the result from mapAccumulate is needed