Sorry for the late response. To further what Sree said, any use of alarms 
at all is not a common case so we've never special cased any of this. I 
imagine that we could accept a PR but I also expect that it would have to 
pass the "but why" threshold. None of this is what we consider 
timing-sensitive as long as it's good enough. And to confirm Sree: nothing 
is guaranteed in-order at the CQ, regardless of timeout.

On Friday, February 15, 2019 at 2:34:30 PM UTC-8, Sree Kuchibhotla wrote:
>
> Hi Sumant,
> Zero timeout alarms is not a common case (Vijay can correct me here) and 
> so it wouldn't make sense to special-case this.
>
> -Sree
>
> On Fri, Feb 15, 2019 at 11:37 AM <[email protected] <javascript:>> wrote:
>
>> 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]> 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].
>>>> 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/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 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/921b1360-8f74-484f-af53-6755715d9708%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/921b1360-8f74-484f-af53-6755715d9708%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/cb3be957-4d35-4fbb-9f4e-2f94bffd7088%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to