Could you turn on debugging and attach the output? I have a hunch that this
comes from grpc_iomgr_shutdown. It will wait ten seconds to try to free all
iomgr object before giving up and leaking memory.

export GRPC_VERBOSITY=DEBUG for minimal debugging. That should be enough,
but for even more trace you can do export GRPC_TRACE=all

On Mon, May 29, 2017 at 12:12 PM, Veldaeven <[email protected]> wrote:

> The purpose of the code was initially to test the operation of the grpc
> stub when the grpc service was not available. However, the behavior I'm
> seeing indicates that there's something going on that I don't understand-
> hence the question.
>
> In this code:
>
>     #define IN_MILLISECONDS(x) (std::chrono::system_clock::now() + std::
> chrono::milliseconds(x))
>
>     string NowString()
>     {
>         char buf[128];
>         SYSTEMTIME timeBuf;
>         ::GetLocalTime(&timeBuf);
>         sprintf(buf, "%02d:%02d:%02d.%03d - ", timeBuf.wHour, timeBuf.
> wMinute, timeBuf.wSecond, timeBuf.wMilliseconds);
>         return string(buf);
>     }
>
>     void testStub(std::shared_ptr<grpc::Channel> chan)
>     {
>         MessageProcessor::Stub client(chan);
>
>         Void _void;
>         AccumulateAmount amount;
>         amount.set_amount(42);
>
>         grpc::ClientContext ctx;
>         ctx.set_deadline(IN_MILLISECONDS(100));
>
>         cout << NowString() << "    Making RPC\n";
>         grpc::Status st = client.Accumulate(&ctx, amount, &_void);
>         cout << NowString() << "    Leaving testStub()\n";
>     }
>
>     void test()
>     {
>         auto chan = grpc::CreateChannel("localhost:54321", grpc::
> InsecureChannelCredentials());
>
>         cout << NowString() << "  Channel Up- Testing Stub\n";
>         testStub(chan);
>         cout << NowString() << "  Leaving test()\n";
>     }
>
>
>     int main()
>     {
>         cout << NowString() << "Calling test()\n";
>         test();
>         cout << NowString() << "Exiting 'main'\n";
>         return 1;
>     }
>
>
>
> the output is
>
>     11:42:05.400 - Calling test()
>     11:42:05.403 -   Channel Up- Testing Stub
>     11:42:05.404 -     Making RPC
>     11:42:05.506 -     Leaving testStub()
>     11:42:05.507 -   Leaving test()
>     11:42:15.545 - Exiting 'main'
>     Press any key to continue . . .
>
>
> It should be evident by the timestamps that the destructor for the Channel
> is taking just over 10 seconds.
>
> My question is this: *What can I do to significantly reduce the time it
> takes to destroy the grpc Channel?*
>
> My guess is that the channel is still trying to connect to the
> non-existent server/service. My guess is that the destructor for the
> channel isn't cancelling that connection request.
>
> Perhaps there's an argument/option to send to the CreateChannel call? I've
> looked at http://www.grpc.io/grpc/cpp/group__grpc__arg__keys.html, but I
> didn't see anything that looked like it would affect the initial connection
> attempt (the GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS
> <http://www.grpc.io/grpc/cpp/group__grpc__arg__keys.html#gaedb26c5ca7d3d279b81d12d9bf6dabc6>
>  seemed
> to affect the re-connection between first and second attempts)
>
>
> --
> 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/9c7f31b4-ebf0-41e1-958f-e76e661c3471%40googlegroups.com
> <https://groups.google.com/d/msgid/grpc-io/9c7f31b4-ebf0-41e1-958f-e76e661c3471%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/CAPYwnkiV%2BuhoZ6A7Pk29euNXtLpDf%3DrRehr47gt6nbH02FbCVg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to