linkerd2 icon indicating copy to clipboard operation
linkerd2 copied to clipboard

destination: Frequent redundant discovery updates

Open olix0r opened this issue 3 years ago • 3 comments

#8666 includes logs that show the destination controller serving redundant discovery updates roughly every 10 seconds (though sometimes up to 60s apart):

[   390.340324s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   400.338156s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   410.359043s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   420.344174s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   430.338443s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   440.343410s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   470.336826s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   480.343436s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   490.339913s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   500.345823s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   510.341853s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   520.337896s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   550.335535s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   560.345701s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   610.338643s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   620.343356s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   630.338879s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   640.338325s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   670.336862s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   690.339669s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   730.335908s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   750.339219s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   770.336963s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   790.335917s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })
[   850.341237s] DEBUG ThreadId(01) outbound:accept{client.addr=10.244.7.14:50170}:proxy{addr=10.0.115.236:5432}:tcp: linkerd_proxy_discover::from_resolve: Changed change=Insert(10.244.2.2:5432, Endpoint { addr: Remote(ServerAddr(10.244.2.2:5432)), tls: Some(ClientTls { server_id: ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local")), alpn: Some(AlpnProtocols("transport.l5d.io/v1")) }), metadata: Metadata { labels: {"control_plane_ns": "linkerd", "namespace": "multi", "pod": "postgres-instance1-5f7t-0", "service": "postgres-ha", "serviceaccount": "postgres-instance", "statefulset": "postgres-instance1-5f7t"}, protocol_hint: Http2, opaque_transport_port: Some(4143), identity: Some(ServerId(Name("postgres-instance.multi.serviceaccount.identity.linkerd.cluster.local"))), authority_override: None }, logical_addr: Some(LogicalAddr(postgres-ha.multi.svc.cluster.local:5432)), protocol: (), opaque_protocol: false })

While these updates should not cause the logic bug described in the issue, they do seem likely to cause unnececessary work: the balancer endpoint will be replaced each time an update is processed, causing new connections to be created. In large clusters, this is probably taxing on the destination controller as it is forced to perform unnecessary I/O with all of its clients.

Why are these redundant updates being sent? Are they preventable?

olix0r avatar Jun 16 '22 15:06 olix0r

FWIW, I'm not seeing this behavior on my local k3d cluster with emojivoto...

olix0r avatar Jun 16 '22 17:06 olix0r

Hi @olix0r, there is very little information in logs -fn linkerd deploy/linkerd-destination destination

Defaulted container "linkerd-proxy" out of: linkerd-proxy, destination, sp-validator, policy, linkerd-init (init)
time="2022-06-13T20:20:59Z" level=info msg="Found pre-existing key: /var/run/linkerd/identity/end-entity/key.p8"
time="2022-06-13T20:20:59Z" level=info msg="Found pre-existing CSR: /var/run/linkerd/identity/end-entity/csr.der"
[     0.001206s]  INFO ThreadId(01) linkerd2_proxy::rt: Using single-threaded proxy runtime
[     0.001593s]  INFO ThreadId(01) linkerd2_proxy: Admin interface on 0.0.0.0:4191
[     0.001603s]  INFO ThreadId(01) linkerd2_proxy: Inbound interface on 0.0.0.0:4143
[     0.001605s]  INFO ThreadId(01) linkerd2_proxy: Outbound interface on 127.0.0.1:4140
[     0.001606s]  INFO ThreadId(01) linkerd2_proxy: Tap DISABLED
[     0.001607s]  INFO ThreadId(01) linkerd2_proxy: Local identity is linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local
[     0.001609s]  INFO ThreadId(01) linkerd2_proxy: Identity verified via linkerd-identity-headless.linkerd.svc.cluster.local:8080 (linkerd-identity.linkerd.serviceaccount.identity.linkerd.cluster.local)
[     0.001610s]  INFO ThreadId(01) linkerd2_proxy: Destinations resolved via localhost:8086
[     0.010845s]  INFO ThreadId(02) daemon:identity: linkerd_app: Certified identity id=linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local

johnswarbrick avatar Jun 16 '22 18:06 johnswarbrick

@johnswarbrick Sorry, I may have given you a slightly incorrect command. These logs are from the proxy, but I'm curious to see the logs from the destination controller. I think this should work:

kubectl logs -fn linkerd deploy/linkerd-destination --container=destination

olix0r avatar Jun 16 '22 20:06 olix0r

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Sep 28 '22 22:09 stale[bot]