Hi Sree, Whoa! This behavior is such a gotcha. It seem you are saying immediately-firing alarms don't in fact "fire immediately", Right? Naively one would think that zero-deadline alarms would be optimized and would be queued right-away as there's no apparent reason for using a timer. That's just me though.
Is it worth adding such an optimization in gRPC core? Thx a bunch for answering such a nuanced question promptly. Regards, Sumant On Friday, February 15, 2019 at 10:56:08 AM UTC-8, Sree Kuchibhotla wrote: > > Hi Sumant, > If you create two alarms with zero timeout in quick succession, then they > may not "fire" in the same order you created - and hence FIFO isn't > guaranteed here. However, if the alarms are created reasonably spaced apart > (like for example: tens of millis apart), then yes -they fire in FIFO. > (Note that an alarm underneath creates a timer which when fired queues the > completion event in the completion queue. So we are really at the mercy of > the grpc timer component.).. > > Hope this helps. > -Sree > > > On Fri, Feb 15, 2019 at 10:29 AM <[email protected] <javascript:>> wrote: > >> Hi Vijay, >> >> Just confirming that FIFO ordering of immediately-firing alarms is >> guaranteed by the complete_queue. Right? >> >> -Sumant >> >> On Friday, February 8, 2019 at 8:10:39 AM UTC-8, [email protected] wrote: >>> >>> Hi Vijay, >>> >>> 3,000,000 per second rocks! >>> Thx much everyone! >>> >>> Regards, >>> Sumant >>> >>> On Thursday, February 7, 2019 at 8:43:53 AM UTC-8, Vijay Pai wrote: >>>> >>>> I just created a pull request to benchmark immediately-firing alarms. >>>> The results on my Mac laptop suggest that you can fire at least >>>> 3,000,000 immediate alarms per second on a single thread, so I don't think >>>> you'll hit a limit from that. >>>> >>>> I would strongly advise against directly using >>>> grpc_cq_begin_op/grpc_cq_end_op . Those are internal functions and will >>>> change name/behavior whenever we choose. >>>> >>>> I should have some more information to announce on the callback API >>>> within the next few weeks but we continue to prepare it for >>>> production-readiness in both unary and streaming cases. >>>> >>>> - Vijay >>>> >>>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "grpc.io" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/grpc-io/NyjgbqHxTm8/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/grpc-io. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/grpc-io/98abb701-1b90-4c2f-87ea-821b83d17564%40googlegroups.com >> >> <https://groups.google.com/d/msgid/grpc-io/98abb701-1b90-4c2f-87ea-821b83d17564%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/921b1360-8f74-484f-af53-6755715d9708%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
