{"push_id":2537541692,"size":29,"distinct_size":29,"ref":"refs/heads/master","head":"f735224f2ba3cabf6c402c43b55b2021b3981bf7","before":"c48b293ee2549ac02bfea5b7595aba16ac495753","commits":[{"sha":"8b48a51845bcc6f1cfff1601529cb9e2dc626536","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"refactor(*): Split redis code to its own module (#2175)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/8b48a51845bcc6f1cfff1601529cb9e2dc626536"},{"sha":"89b9870fb37a729b9839419b66606d354ed7c483","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"fix(redis): Add JedisConfiguration to import (#2177)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/89b9870fb37a729b9839419b66606d354ed7c483"},{"sha":"00a74da92efb26f7fc8a77dbb4052563982902d8","author":{"name":"Isaac Mosquera","email":"6c306bfd9c1a77c74f17bcd4d9fdcd12139c47bb@gmail.com"},"message":"fix(kubernetes) - fixes WaitForClusterDisable timeout for kubernetes during redblack (#2176)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/00a74da92efb26f7fc8a77dbb4052563982902d8"},{"sha":"aac024509502424cbf5cb6d31f50291cffe9a192","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"feat(redis): Conditional prop for RedisExecutionRepository (#2180)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/aac024509502424cbf5cb6d31f50291cffe9a192"},{"sha":"8e705b9b33427db35d762f761472d56286ae0d24","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"feat(qos): Adding initial naive Quality of Service module (#2164)\n\nWe've been experiencing production pain in the form of higher bursty execution\r\nload than what Orca's downstream services are able to take if offered in a\r\nfirehose fashion. This PR offers a framework (albeit simplistic first impl)\r\nfor enforcing QoS of executions.\r\n\r\nThe basic premise is that a new extension hook is added when executions are\r\ninitially saved into the system, they'll potentially be set with a BUFFERED\r\nstatus, which will prevent StartExecutionHandler from seeing it, and thus\r\nbeginning any work.\r\n\r\nA BufferStateSupplier is implemented (currently based off system-wide active\r\nexecutions) that can flip the system from INACTIVE to ACTIVE. In the case of\r\nthis basic implementation, if a threshold of active execution is surpassed the\r\nQoS system is set to ACTIVE.\r\n\r\nOnce ACTIVE, an ExecutionBufferActuator listening to the new\r\nBeforeInitialExecutionPersist event will start passing the execution through\r\na pluggable & configurable set of ordered BufferPolicies. A BufferPolicy is\r\nresponsible for determining an action on the execution, either to ENQUEUE\r\nBUFFER. If ENQUEUE, the execution will be dropped onto the queue immediately,\r\nBUFFER will set the execution's state to BUFFERED.\r\n\r\nOn the other end, an ExecutionPromoter is always running on an interval,\r\nregardless of BufferState, to promote BUFFERED executions into NOT_STARTED\r\n(and thus enqueued). The ExecutionPromoter, similar to the\r\nExecutionBufferActuator, will pass all candidate executions through a list\r\nof ordered PromotionPolicies. These Policies will apply heuristics for\r\nfiltering and ordering what executions will be promoted.\r\n\r\nIn both forms of Policy, a Policy can force an action if it decides that it\r\nknows best. If multiple Policies perform a force, the highest precedence\r\nPolicy will win.\r\n\r\n---\r\n\r\nCurrently, the implementation is very naive and basically on/off. Future work\r\nwill be done to implement application & execution criticality to inform\r\npolicies. I'd also like to profile individual clouddriver clients as another\r\nform of BufferStateSupplier, so we can back off on work we're sending to\r\nclouddriver if orca starts getting higher latencies or increased error rates.\r\n\r\nThere will be additional further work in attaching system notifications to\r\nexecutions so that Orca can propagate QoS actions up to end users via the API\r\nand UI so people aren't left wondering why their execution isn't immediately\r\nstarting.\r\n\r\nThis concept of execution buffering was chosen over something implemented\r\non the queue so that we can ensure in-flight executions are finished as\r\nquickly as possible, rather than slowing all executions down. It's possible\r\nthis QoS system may grow more sophisticated in the future to tune QoS of\r\nin-flight executions based on criticality, but that's a lot more work and a\r\nlittle more dicey.","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/8e705b9b33427db35d762f761472d56286ae0d24"},{"sha":"040ddd98a7a41397cabdcd5e10a385015597f985","author":{"name":"Lars Wander","email":"11f97f0e8781688c51f857bfbf442fa86a3582e4@users.noreply.github.com"},"message":"fix(bake/manifest): propagate field change to orca (#2181)\n\nWas sloppy in updating the UI's artifact fields, this needs to be\r\npresent in orca.","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/040ddd98a7a41397cabdcd5e10a385015597f985"},{"sha":"1b38ab4998b4070d9861512b1bf9c753295ad5e7","author":{"name":"Avram Lyon","email":"960eb91b237a5b5abd0b2d07e9c0a5ccef777787@gmail.com"},"message":"feat(artifacts): Parse Jenkins job properties for artifacts (#2140)\n\n* Define handling for artifacts received as part of properties files from Jenkins jobs\r\n\r\n* Test task graph","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/1b38ab4998b4070d9861512b1bf9c753295ad5e7"},{"sha":"bc9f8c104917e150b4a300c8298709f18da27006","author":{"name":"Rob Fletcher","email":"90d1f69c4225d68e4465b6a0800650a8200f79d2@netflix.com"},"message":"feat(kayenta): optionally deploy control and experiment clusters before analysis","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/bc9f8c104917e150b4a300c8298709f18da27006"},{"sha":"557e32448d63d7f8ef2cf2fcae700cc63bb1c71f","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"feat(core): Adding system notifications property to execution (#2173)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/557e32448d63d7f8ef2cf2fcae700cc63bb1c71f"},{"sha":"52b4fe902f35ccfaf2477cef2d86fecbed2efe90","author":{"name":"Rob Zienert","email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robzienert.com"},"message":"chore(*): Upgrade to Boot 1.5.10 (#2185)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/52b4fe902f35ccfaf2477cef2d86fecbed2efe90"},{"sha":"f66e234f5d12526dac387a38f76d2cbad59f0f67","author":{"name":"Adam Jordens","email":"0e18f44c1fec03ec4083422cb58ba6a09ac4fb2a@jordens.org"},"message":"feat(clouddriver): Allow for external server group force cache refreshes (#2187)\n\nA new `ServerGroupForceCacheRefreshStage` that simply wraps the\r\n`ServerGroupCacheForceRefreshTask.`\r\n\r\nAt some point will support renaming of tasks so I'm not too worried\r\nabout the slight inconsistency.","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/f66e234f5d12526dac387a38f76d2cbad59f0f67"},{"sha":"ac77aecf7e6572101a90bac185eed751a8363cb2","author":{"name":"Adam Jordens","email":"0e18f44c1fec03ec4083422cb58ba6a09ac4fb2a@jordens.org"},"message":"fix(clouddriver): Minor issue with original groovy -> java conversion (#2188)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/ac77aecf7e6572101a90bac185eed751a8363cb2"},{"sha":"539ff124467aff05de7618205f12c12a2160c367","author":{"name":"Rob Fletcher","email":"90d1f69c4225d68e4465b6a0800650a8200f79d2@netflix.com"},"message":"fix(executions): Executions cancelled before they start have no end time","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/539ff124467aff05de7618205f12c12a2160c367"},{"sha":"8a84829c6a4dbbee9977535377cd6443fcb4d343","author":{"name":"Rob Fletcher","email":"90d1f69c4225d68e4465b6a0800650a8200f79d2@netflix.com"},"message":"fix(queue): Older ContinueParentStage messages have no phase property","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/8a84829c6a4dbbee9977535377cd6443fcb4d343"},{"sha":"30a305de9b0ec564d24498cf4a4a3c382fc728ec","author":{"name":"Eric Zimanyi","email":"5d05ebf431fd21c231b042c233237a0dc079f070@google.com"},"message":"fix(pipeline_template): Don't share snakeyaml instance across threads (#2193)\n\nThe snakeyaml processor is not thread-safe, and we are currently sharing\r\nit across threads, leading to intermittent NPEs when concurrent uses put\r\nit in an inconsistent state.","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/30a305de9b0ec564d24498cf4a4a3c382fc728ec"},{"sha":"b9e33b50152b6b380dd5b70c60807426fb3afe90","author":{"name":"Adam Jordens","email":"0e18f44c1fec03ec4083422cb58ba6a09ac4fb2a@jordens.org"},"message":"fix(canary): Logging improvements around canary deploy / registration (#2195)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/b9e33b50152b6b380dd5b70c60807426fb3afe90"},{"sha":"e74012d189ec026e34b9e680eff3b239a5369ee8","author":{"name":"Lars Wander","email":"11f97f0e8781688c51f857bfbf442fa86a3582e4@users.noreply.github.com"},"message":"fix(deploy/manifest): retry loading & parsing manifests (#2196)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/e74012d189ec026e34b9e680eff3b239a5369ee8"},{"sha":"f99de659b08ae9afe3b0e0b66c88a2d578e075e8","author":{"name":"Rob Fletcher","email":"1deef1464f604f4593535ae0b6c5c06efb4ba5ea@users.noreply.github.com"},"message":"feat(core): revert support for parallel after stages (#2194)\n\nWe don't need this feature to support any current stages and it's currently causing issues. We'll revisit as and when we have a use-case for it.","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/f99de659b08ae9afe3b0e0b66c88a2d578e075e8"},{"sha":"4728a6861e41faad800a0ad2bf5934ce9a842636","author":{"name":"Daniel Peach","email":"0043b2bb93b834f8c4da32c660096e3151dfed3e@google.com"},"message":"feat(artifacts): find artifacts from resource should produce artifacts (#2199)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/4728a6861e41faad800a0ad2bf5934ce9a842636"},{"sha":"8783370403bbb281cc34f1e6535843beb8fb76d4","author":{"name":"Asher Feldman","email":"a037fbb919577f537201a0e5f1c172d87be6a2d6@gmail.com"},"message":"feat(queue): make activeExecution key configurable (#2191)","distinct":true,"url":"https://api.github.com/repos/emjburns/orca/commits/8783370403bbb281cc34f1e6535843beb8fb76d4"}]}
{"actor":{"display_login":"emjburns"}}