These are chat archives for paypal/squbs

23rd
Dec 2016
unclezoombie
@unclezoombie
Dec 23 2016 01:28
BTW, do we have a Squbs user/developer Google group?
Akara Sucharitakul
@akara
Dec 23 2016 01:31
No. We started one, but found that all the traffic came here. As it stood idle, we stopped it. But we're open to restarting if you think it is useful and prefer to use Google groups over Gitter. I know, they are not exactly comparable.
unclezoombie
@unclezoombie
Dec 23 2016 18:31
Gotcha! Thanks for reply!
Anil Gursel
@anilgursel
Dec 23 2016 18:43
CB.jpg
@akara having an issue within a flow. I do not see any elements flowing through the orange dotted connection. But, the rest seems to be ok. I am little surprised that Broadcast is able to send out element to Merge (multiple).
At this point, the “failfast” line is not in use at all, Partition is always sending the messages to the upper sider. And with some console outputs, I can verify that elements are actually coming out of Broadcast to Merge just fine. What I do not understand is that how come Broadcast is able to push to Merge without the other branch pulling in.
Akara Sucharitakul
@akara
Dec 23 2016 18:51
I need to read up a little more. This is the loopback part of the flow. It was for retry, right? I remember there was something with the pull on a loopback but can't remember right off the top of my head. This was mentioned in the Streams cookbook.
Anil Gursel
@anilgursel
Dec 23 2016 18:52
glanced through those, will look more in detail.
At this point, it is in quick and dirty state, but, here is how it is defined:
          cbState.out ~> partition.in
                         partition.out(0).map { case(in, _) => in } ~> timeoutFlow ~> broadcast.in
                                                                                      broadcast    ~> merge
                         partition.out(1).map{ _ => Failure(new RuntimeException("CB FailFast")) } ~> merge // TODO Fix this branch
          cbState.in0 <~                                                              broadcast
Akara Sucharitakul
@akara
Dec 23 2016 18:56
Are we testing partition.out(1)?
The one that does not flow is the lowest line cbState.in0 <~ broadcast, right?
Anil Gursel
@anilgursel
Dec 23 2016 19:43
no, not testing partition.out(1). I am not sending any messages to it at this point (the logic is not there yet).

The one that does not flow is the lowest line cbState.in0 <~ broadcast, right?

Correct.

Akara Sucharitakul
@akara
Dec 23 2016 22:06
@anilgursel #363 is ready for review/merge. This should be an easy one as the vast majority if changes/additions is in the test code. Thanks!
Next one after this is the marshal/unmarshal and will have additional docs.
Anil Gursel
@anilgursel
Dec 23 2016 22:25
thanks! will review
Anil Gursel
@anilgursel
Dec 23 2016 22:32
CB tests with Agent is also tricky.. Async writes come too late :worried:
Akara Sucharitakul
@akara
Dec 23 2016 23:20
Wow! Does this mean we need to use Atomic/Volatile?
Anil Gursel
@anilgursel
Dec 23 2016 23:21
hope not. IMO, a feedback loop in the stream is a cleaner approach. I just need to understand why pulling not happening. Need to debug further.