bdoyle0182 opened a new pull request, #5464: URL: https://github.com/apache/openwhisk/pull/5464
## Description With FPC, the list of managed invoker ids is determined by what's in etcd. However the metric reporting and invokers api still assume that 0...n invokers exist up to the max available id in etcd and will auto fill in any missing ids as offline. This is fine for a range to fill in by the current min starting point, but it's not providing any value to assume things start at 0. A cluster could have a monotonically increasing range of ids and potentially if original nodes are lost they shouldn't be assumed to be filled back in at 0. Further, the current implementation already will not include invokers that are offline at the high end of the pool since the api / metrics just assumes that max id stored in etcd is the max id of the cluster. **Example ten node cluster of 0-9**: - nodes 8 and 9 are down - the api will then only return 0-7 as existing since 7 is the max remaining id in etcd once the lease expires for those nodes. With this change, this applies the same functionality to the low end to account for clusters that don't always re-populate 0-x. - nodes 0 and 1 are down - the api will now return 2-9 as existing since 2 is the min remaining id in etcd - if node 5 is down in the middle between the min and max, that still will be auto-populated to be down. **It's also important to note that this change only applies to FPC as the 0-n expectation of invoker ids is more important for the original load balancer algorithm with co-prime hashing.** ## Related issue and scope - [ ] I opened an issue to propose and discuss this change (#????) ## My changes affect the following components - [ ] API - [X] Controller - [ ] Message Bus (e.g., Kafka) - [ ] Loadbalancer - [ ] Scheduler - [ ] Invoker - [ ] Intrinsic actions (e.g., sequences, conductors) - [ ] Data stores (e.g., CouchDB) - [ ] Tests - [ ] Deployment - [ ] CLI - [ ] General tooling - [ ] Documentation ## Types of changes - [X] Bug fix (generally a non-breaking change which closes an issue). - [ ] Enhancement or new feature (adds new functionality). - [ ] Breaking change (a bug fix or enhancement which changes existing behavior). ## Checklist: - [X] I signed an [Apache CLA](https://github.com/apache/openwhisk/blob/master/CONTRIBUTING.md). - [X] I reviewed the [style guides](https://github.com/apache/openwhisk/blob/master/CONTRIBUTING.md#coding-standards) and followed the recommendations (Travis CI will check :). - [ ] I added tests to cover my changes. - [ ] My changes require further changes to the documentation. - [ ] I updated the documentation where necessary. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
