Re: [grpc-io] Flush dnsmasq cache on IP address failure

2023-07-05 Thread Gmail
Thanks FredericI understand that. But I only want to do it when grpc has a connection failure. Is there an already existing mechanism to do that.?On Jul 5, 2023, at 12:37 PM, Frédéric Martinsons  wrote:I think this is totally unrelated to grpc but for what it worth, if you control your dnsmasq, you can use --clear-on-reload option and send a SIGHUP to dnsmasq process to reload the cache. Le mer. 5 juil. 2023, 21:24, Ramanujam Jagannath  a écrit :Backgrounder - Our device connects to an AWS static IP. We use dnsmasq on device to provide lookup services for downstream devices. Currently we are planning to use a long. DNS TTL on AWS to avoid too many DNS lookups from on field devices. The on-field devices use a grpc  connection to maintain long standing tcp connections. We do have multiple availability zones and so a DNS resolution does return 4 IP addressesProblem - When an IP address fails(on AWS) the grpc client will retry and re-resolve. But because we have dnsmasq on device it will send a cached address - which is potentially faulty. Solution - This can be resolved by flushing the dnsmasq cache on device. But is there a way to flush the dnsmasq cache on device on connection failure only? grpc under the hood uses c-ares which in our case goes to the dnsmasq proxy on device.Any solutions/thoughts. Someone must have encountered this problem before?



-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/75d68762-eb58-4400-b8e1-3584f6bd6e51n%40googlegroups.com.





-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/039C4567-4996-492F-B2BB-F9115BA9037C%40gmail.com.


[grpc-io] 5 Days Left to Submit at Talk for gRPConf 2023

2023-07-05 Thread 'Terry Wilson' via grpc.io


Hello gRPC Community!


Time is running out to submit a proposal to speak at gRPConf 2023. The 
deadline is July 9th (this Sunday).


Submit your proposals and find more information HERE 
!

Spots are still available and topics might include:

   - 
   
   gRPC in-production
   - 
   
   User Stories + Case Studies
   - 
   
   Implementation
   - 
   
   Ecosystem + Tooling
   - 
   
   Codelabs
   
Those not interested in speaking can register now 
 for just $50. 


We hope to see you all there!


Thank you,

The gRPC team

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/8dd065f0-0ea0-4baf-ab2b-5ab922880344n%40googlegroups.com.


Re: [grpc-io] Flush dnsmasq cache on IP address failure

2023-07-05 Thread Frédéric Martinsons
I think this is totally unrelated to grpc but for what it worth, if you
control your dnsmasq, you can use --clear-on-reload option and send a
SIGHUP to dnsmasq process to reload the cache.

Le mer. 5 juil. 2023, 21:24, Ramanujam Jagannath  a
écrit :

> Backgrounder - Our device connects to an AWS static IP. We use dnsmasq on
> device to provide lookup services for downstream devices. Currently we are
> planning to use a long. DNS TTL on AWS to avoid too many DNS lookups from
> on field devices. The on-field devices use a grpc  connection to maintain
> long standing tcp connections. We do have multiple availability zones and
> so a DNS resolution does return 4 IP addresses
>
> Problem - When an IP address fails(on AWS) the grpc client will retry and
> re-resolve. But because we have dnsmasq on device it will send a cached
> address - which is potentially faulty.
>
> Solution - This can be resolved by flushing the dnsmasq cache on device.
> But is there a way to flush the dnsmasq cache on device on connection
> failure only? grpc under the hood uses c-ares which in our case goes to the
> dnsmasq proxy on device.
>
> Any solutions/thoughts. Someone must have encountered this problem before?
>
> --
> 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 grpc-io+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/grpc-io/75d68762-eb58-4400-b8e1-3584f6bd6e51n%40googlegroups.com
> 
> .
>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CA%2BcAkepsZcb7wzSE%2Bp61%3D%3DGNW8mSaeoLvNp2tM9r6dU8fF-yBQ%40mail.gmail.com.


[grpc-io] Flush dnsmasq cache on IP address failure

2023-07-05 Thread Ramanujam Jagannath
Backgrounder - Our device connects to an AWS static IP. We use dnsmasq on 
device to provide lookup services for downstream devices. Currently we are 
planning to use a long. DNS TTL on AWS to avoid too many DNS lookups from 
on field devices. The on-field devices use a grpc  connection to maintain 
long standing tcp connections. We do have multiple availability zones and 
so a DNS resolution does return 4 IP addresses

Problem - When an IP address fails(on AWS) the grpc client will retry and 
re-resolve. But because we have dnsmasq on device it will send a cached 
address - which is potentially faulty. 

Solution - This can be resolved by flushing the dnsmasq cache on device. 
But is there a way to flush the dnsmasq cache on device on connection 
failure only? grpc under the hood uses c-ares which in our case goes to the 
dnsmasq proxy on device.

Any solutions/thoughts. Someone must have encountered this problem before?

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/75d68762-eb58-4400-b8e1-3584f6bd6e51n%40googlegroups.com.


[grpc-io] Re: GRPC Server Reflection

2023-07-05 Thread 'Eric Anderson' via grpc.io
What language are you using? Why would the gRPC server reflection have any 
dependency injection?

On Saturday, July 1, 2023 at 9:43:05 AM UTC-7 chand...@codeprism.in wrote:

> What could be causing the issue where dependency injection is not properly 
> initializing when invoking rpc call using the gRPC server reflection 
> endpoint, while it works fine with the regular gRPC port service?
>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/36c61486-a44d-4f70-9cbc-7b0f05b958den%40googlegroups.com.


[grpc-io] Client disconnect detection over keepAlive?

2023-07-05 Thread Dmitry Gorelov
Hello,
Please help to setup the detection of the client disconnect on a server 
side.
I use the document https://github.com/grpc/grpc/blob/master/doc/keepalive.md

*and my code on server side is:*
...
ServerBuilder builder;
  builder.AddListeningPort(server_address, 
grpc::InsecureServerCredentials());
  builder.RegisterService(this);
  builder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIME_MS, 3);
  builder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIMEOUT_MS, 2000);
  builder.AddChannelArgument(GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS, 1);
 
builder.AddChannelArgument(GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS,
 
9000);
  builder.AddChannelArgument(GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA, 0);
  builder.AddChannelArgument(GRPC_ARG_HTTP2_MAX_PING_STRIKES, 2);
  builder.AddChannelArgument(GRPC_ARG_MAX_MESSAGE_LENGTH, 1024 * 1024 * 8); 
etc...

*and on client side is:*
grpc::ChannelArguments args;
args.SetLoadBalancingPolicyName("round_robin");
args.SetMaxReceiveMessageSize(MAX_RECEIVE_MESSAGE_SIZE);
args.SetMaxSendMessageSize(MAX_SEND_MESSAGE_SIZE);
args.SetInt(GRPC_ARG_KEEPALIVE_TIME_MS, 3);
args.SetInt(GRPC_ARG_KEEPALIVE_TIMEOUT_MS, 2000);
args.SetInt(GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS, 1);
args.SetInt(GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA, 0);
m_channel = grpc::CreateCustomChannel(target, 
grpc::InsecureChannelCredentials(), args);
auto ptr_stub = Rnd::NewStub(m_channel);
etc...

But when the client application closes, nothing happens on the server side.
It is built with gRPC Callback API.

I also wondering what should I expect on a server side as an indication of 
the fact that the client has disconnected... Any callback to overwrite? Any 
server's property to check periodically?

Thank you.

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/db420b6c-857e-4826-a1ce-8ebf349d04b0n%40googlegroups.com.