{"push_id":1305740875,"size":29,"distinct_size":0,"ref":"refs/heads/master","head":"e6b98bd162cd04921136a839783421285fb9bf01","before":"f28971f891eb2b82378301affd6414f39f7bbf48","commits":[{"sha":"02158b58bbf9996904425866ff8a375c2d661b41","author":{"name":"Borys Pierov","email":"f27a17fc90c00d8c248d8510a1084221738b492b@ashald.net"},"message":"Useful toString for ConsulApiError trait (#629)\n\nIt gives log messages like:\r\n\r\n  retrying consul request on error Forbidden(403: rpc error: ACL not found)\r\n\r\nrather than\r\n\r\n  retrying consul request on error io.buoyant.consul.v1.package$UnexpectedResponse","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/02158b58bbf9996904425866ff8a375c2d661b41"},{"sha":"b0aecaef151d2f8924918edff614eda37e11de8e","author":{"name":"Sarah Brown","email":"325b58f94ba39dde0cef6070c30202993f4bd85c@buoyant.io"},"message":"Convert docs to use tables for param definitions. (#626)\n\n* Convert docs to use tables for param definitions.\r\n\r\nProblem:\r\nI like the conversational tone of our docs :) But when it comes to reference\r\ndocumentation, having more structure would make it easier to scan for information.\r\n\r\nSolution:\r\nI moved the parameter definitions from a bullet format to a table format. I\r\nstaged these changes at https://buoyant.io/slate-linkerd/ so folks can compare\r\nwith https://buoyant.io/linkerd\r\n\r\n* Proper sentences and other small fixes\r\n\r\n* fix broken links","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/b0aecaef151d2f8924918edff614eda37e11de8e"},{"sha":"fd4feac10b9e4c2177daa64870d700bbb4f5880d","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Disable endpoint probation by default (#634)\n\n* Disable endpoint probation by default\r\n\r\n* test load balancer config parsing with and without probation","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/fd4feac10b9e4c2177daa64870d700bbb4f5880d"},{"sha":"0e308b37a331da9371d1c7eae7ce5e7ad5d388d8","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Fix k8s ApiTest (#635)\n\nIn #619, we made our retry behavior more liberal. However, some of the ApiTests\r\nwere not changed to reflect this increased retry behavior.  Furthermore, now\r\nthat we swallow and log exceptions in the retry filter, we need an explicit\r\nmechanism to signal test failure to the test harness.\r\n\r\nTo fix this:\r\n1. stop serving mocked responses to prevent infinite looping\r\n2. we capture and re-raise exceptions thrown (i.e. by assert statements) manually\r\n3. manually close streams in all tests\r\n\r\nFixes #633","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/0e308b37a331da9371d1c7eae7ce5e7ad5d388d8"},{"sha":"1f38607bc7bbbf9dec967bf37e73640886ac299f","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"Fix up some examples in the docs (#637)","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/1f38607bc7bbbf9dec967bf37e73640886ac299f"},{"sha":"01216063a345ec34036bd14e6c17831318452f96","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"0.7.5 (#641)\n\n* CHANGES.md\r\n\r\n* Add docs url\r\n\r\n* Bump to 0.7.5","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/01216063a345ec34036bd14e6c17831318452f96"},{"sha":"944a2f421f8710fcb9f835b6b46e8bbbbb32b295","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Lazy, managable consul resolution (#632)\n\n* Move SvcCache and DcCache into their own files.\r\n\r\nThe consul namer is a little difficult to reason about as one big intermingled\r\nclass. We begin to simplify this by moving DcCache and SvcCache into their own\r\npackage-local classes.\r\n\r\n* Stop issuing redundant local agent requests.\r\n\r\nPreviously, the domain was resolved from consul on every service addition.\r\nInstead, this should be modeled as a single activity that is\r\n\r\nFurthermore, on DcCache updates, the dc cache was updated for each individual\r\nservice addition and removal.  Instead, we batch the DC update to be only once\r\nper API response.\r\n\r\nFurthermore, access & update of `index` variables was not thread safe for\r\nvisibility. `index` should ve volatile.\r\n\r\nFinally, some minor allocation improvements were made:\r\n- val'ing some anonymous functions, where convenient\r\n- Only build address metadata for bound addresses\r\n\r\n* Split ConsulNamer into Tagged, Untagged, and Base.\r\n\r\nThe ConsulNamer doesn't need to determine whether a tag should be included on\r\neach and every lookup. Instead, we can determine this once at\r\nconfiguration-time and construct a Namer that is statically configured to\r\nproduce service keys.\r\n\r\nConsulNamer.Base has all of the common logic shared between namer\r\nimplementations.\r\n\r\n* ConsulNamer.Base => LookupCache\r\n\r\n* Make it so that addr caching can be torn down.\r\n\r\nIt seems that the SvcCache leaks observations. After a service is removed from\r\na DC, there was no explicit mechanism to stop the service's request loop in the\r\nSvcCache.  Now, cancellation is available on both DcCache and SvcCache.\r\n\r\n* add an explicit mutex object in DcCache; cleanup looping\r\n\r\n* Make SvcCache a simple Var.async[Addr.\r\n\r\nPreiviously, the consul namer would eagerly start observing all services,\r\nalways. This works fine in small clusters but maybe be problematic in large\r\nclusters.\r\n\r\nWe can fix this by creating a Var.async from the underlying service polling\r\nloop.  Now, the namer will only query consul for services that linkerd is\r\ntrying to route on.\r\n\r\n* SvcAddr: remove stateful `index` variable.\r\n\r\n* fix comment\r\n\r\n* Refactor DcCache to DcServices.\r\n\r\nDcServices simply exposes an `Activity[Map[SvcKey, Var[Addr]]`, which is built\r\nusing an async Var that is initiated lazily and may be torn down when not\r\nobserved.\r\n\r\n* Review feedback\r\n\r\n- extract metadata construction into a helper.  Reuse metadata across addr updates.\r\n- consistent error handling in DcServices and SvcAddr.\r\n- commentary\r\n- fix ConsulNamerTest to properly simulate missing DCs\r\n\r\n* Fix metadata reuse; propagate no index failures.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/944a2f421f8710fcb9f835b6b46e8bbbbb32b295"},{"sha":"ecc144c564ec760895cc729e6578d2720603c586","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"Re-add consul health check docs (#645)","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/ecc144c564ec760895cc729e6578d2720603c586"},{"sha":"c2153db4da65a9747a883ccd577af6cbdca1a820","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Measure basic information about the consul namer. (#643)\n\n* Measure basic information about the consul namer.\r\n\r\nThis should help diagnose consul behavior.\r\n\r\nFurthermore, fix a malformed consul client naming (was doing Path.toString\r\ninstead of Path.show).\r\n\r\nFinally, LinkerConfig should scope namer stats explicitly rather than rely on\r\nthe namer to do the right scoping.\r\n\r\n* test stats accounting\r\n\r\n* Track lookups instead of negs/leafs.\r\n\r\nFix service stats scoping\r\n\r\n* fix client label\r\n\r\n* fix router stats scoping","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/c2153db4da65a9747a883ccd577af6cbdca1a820"},{"sha":"b672176c2595aefa366f741c28dec14d37f06859","author":{"name":"Sarah Brown","email":"325b58f94ba39dde0cef6070c30202993f4bd85c@buoyant.io"},"message":"Convert namerd docs to use tables. (#646)\n\n* Convert namerd docs to use tables.\r\n\r\nProblem: namerd docs are not as well formatted as linkerd docs.\r\nSolution: format them.\r\n\r\nFor future work I'd really like to see more examples in this documentation, as well\r\nas documentation of the interface apis themselves.\r\n\r\nI also have a pie-in-the-sky dream that all the configs standardize on\r\nmilliseconds, and be suffixed with \"Ms\". :)\r\n\r\n* kevin found some great mistakes","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/b672176c2595aefa366f741c28dec14d37f06859"},{"sha":"b2db375637afdc93cf5e790d75440701102dd9a2","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Simplify ProxyRewriteFilter to parse URIs conditionally (#649)\n\nProblem\r\n\r\nCurrently, ProxyRewriteFilter parses every URI that traverses HTTP routers to\r\ndetermine whether it is absolute.  However, this can blow up on technically\r\nillegal urls (like \"resource//\").\r\n\r\nSolution\r\n\r\nI think we can be both more permissive and more efficient (though malformed\r\nURIs may cause problems elsewhere in linkerd, depending on the configuration).\r\nTo fix this, we see if the URI includes `://`, indicating that it includes a\r\nscheme. If it does include a scheme, we parse the URI to ensure it's absolute\r\nand to rewrite the request. If the URI doesn't include a scheme, we just let it\r\npass though.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/b2db375637afdc93cf5e790d75440701102dd9a2"},{"sha":"1662e3d2750ecb182d0cc0b9f9cd642f7508122d","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"Allow routers to be configured with a list of identifiers (#636)\n\n* Allow routers to be configured with a list of identifiers","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/1662e3d2750ecb182d0cc0b9f9cd642f7508122d"},{"sha":"174b002efb9b89cca394f13eee60c3735a6b3075","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"Style fix (#650)","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/174b002efb9b89cca394f13eee60c3735a6b3075"},{"sha":"30429c0c71785982dc84f0b28fe85059c96d9364","author":{"name":"Borys Pierov","email":"f27a17fc90c00d8c248d8510a1084221738b492b@ashald.net"},"message":"Log more info on retry within Consul API (#657)\n\nConsul error logs should include method and URI of failed request.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/30429c0c71785982dc84f0b28fe85059c96d9364"},{"sha":"73370d8db4749bb162582e0725ea09a3bd11ee13","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Order server and router shutdown to prevent exceptions (#651)\n\n* Order server and router shutdown to prevent exceptions during shutdown\r\n\r\nProblem\r\n\r\nDuring graceful shutdown, we must close things from the \"top\" (server) to the\r\n\"bottom\" (client connections) so that we stop accepting requests from clients\r\nbefore harvesting a router's resources.\r\n\r\nSolution\r\n\r\nlinkerd's Main now has one big closeOnExit block that ensures proper shutdown\r\nordering: servers, routers, telemeters/admin.\r\n\r\nFurthermore, we ensure that the DstBindingFactory tears down its caches in the\r\nproper order: path, tree, bound, client.\r\n\r\nNow everything seems copacetic during shutdown.\r\n\r\n* simplify closeOnExit\r\n\r\n* make a RouterCloser utility class to make return types more obvious\r\n\r\n* Close announcements before closing servers.\r\n\r\nMove announcement teardown into ordered graceful shutdown.\r\n\r\nSplit main() into some more helper functions, for readability.\r\n\r\n* Attempt to teardown announcements that are satisfied after the asynch\r\nannouncement has been closed.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/73370d8db4749bb162582e0725ea09a3bd11ee13"},{"sha":"026c7d40bbba7481c8416a8670e981eea71673ea","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Improve admin and Namerd initialization (#653)\n\n* Make initialization a little quieter.\r\n\r\nAdmin server initialization is far too verbose. Tidy up admin server\r\ninitialization, reducing log level on admin endpoint logging.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/026c7d40bbba7481c8416a8670e981eea71673ea"},{"sha":"bb1a161041b6832ab7d357f587fff5e883635e39","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Change Announcer API to return a Closable. (#652)\n\n* Change Announcer API to return a Closable.\r\n\r\nIt's more convenient, for the purposes of linkerd's execution, for the\r\nAnnouncer API to just return a Closable. The FutureAnnouncer helper bridges\r\nFinagle's Future API to linkerd's.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/bb1a161041b6832ab7d357f587fff5e883635e39"},{"sha":"bb26a2fe4262982833b0bc1e1da0ed4d25f8bf58","author":{"name":"Alex Leong","email":"af52d3065b8b78750f844012b8e34dbc454a5a0a@buoyant.io"},"message":"Add header identifier (#638)\n\n* Add header identifier","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/bb26a2fe4262982833b0bc1e1da0ed4d25f8bf58"},{"sha":"952825bb98f43fe138a4b65589b64d2d3a5b2726","author":{"name":"Oliver Gould","email":"71067a0a25a15e003eb84b90a024e2ebd0950e39@buoyant.io"},"message":"Require configuration for tracing. (#655)\n\n* Require configuration for tracing.\r\n\r\nProblem\r\n\r\nFalling back to use DefaultTracer causes log noise for most configurations.\r\n\r\nSolution\r\n\r\nDo not fall back to DefaultTracer. Instead, if no telemeter is configured, we\r\nprovide a default telemeter that has tracing disabled.\r\n\r\nNow:\r\n- When no telemeters are configured, the default (common-metrics) stats receiver is used.\r\n- When telemeters are configured but none provide stats, no stats receivers are used.","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/952825bb98f43fe138a4b65589b64d2d3a5b2726"},{"sha":"c12eb54bee5bce68f199b4f9bc160d776a62af8c","author":{"name":"Borys Pierov","email":"f27a17fc90c00d8c248d8510a1084221738b492b@ashald.net"},"message":"Lowercase Host header value in HTTP identifier (#664)\n\nIn accordance to RFC 2616. Handles #106","distinct":false,"url":"https://api.github.com/repos/medallia/linkerd/commits/c12eb54bee5bce68f199b4f9bc160d776a62af8c"}]}
{"actor":{"display_login":"erdody"}}