Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89829 --- Ship it! docs/configuration-reference.md (lines 442 - 444) https://reviews.apache.org/r/35847/#comment142639 Perhaps add that this is a courtesy call and a task will still be shut down within 5 seconds regardless of the response here. src/main/python/apache/aurora/executor/http_lifecycle.py (line 70) https://reviews.apache.org/r/35847/#comment142643 Use Event.wait() instead? - Maxim Khutornenko On June 24, 2015, 10:45 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:45 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
On June 25, 2015, 10:14 a.m., Brian Brazil wrote: docs/configuration-reference.md, line 449 https://reviews.apache.org/r/35847/diff/5/?file=991681#file991681line449 If we're making this configurable, I think that we should make it apply to the healthcheck config too. Does the HealthCheckConfig also belong in lifecycle? I'd consider them pretty strongly related. Brian Wickman wrote: Coupling them together has always bothered me. The code responsible for health check and the code responsible for lifecycle are two separate modules; I can totally see wanting one and not the other (e.g. we have customers who really don't want health checking because of its tendency to kill all instances simultaneously, while they still want the ability to gracefully drain connections during a rolling update.) Making the port configurable is necessary to do this. The only reason it's health by default is for backwards compatibility. I see both as 'do things with http on the executor', but seperating them makes sense to an extent too. - Brian --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89335 --- On June 24, 2015, 10:45 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:45 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89335 --- docs/configuration-reference.md (line 436) https://reviews.apache.org/r/35847/#comment141922 If we're making this configurable, I think that we should make it apply to the healthcheck config too. Does the HealthCheckConfig also belong in lifecycle? I'd consider them pretty strongly related. - Brian Brazil On June 24, 2015, 10:45 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:45 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
On June 25, 2015, 10:14 a.m., Brian Brazil wrote: docs/configuration-reference.md, line 449 https://reviews.apache.org/r/35847/diff/5/?file=991681#file991681line449 If we're making this configurable, I think that we should make it apply to the healthcheck config too. Does the HealthCheckConfig also belong in lifecycle? I'd consider them pretty strongly related. Coupling them together has always bothered me. The code responsible for health check and the code responsible for lifecycle are two separate modules; I can totally see wanting one and not the other (e.g. we have customers who really don't want health checking because of its tendency to kill all instances simultaneously, while they still want the ability to gracefully drain connections during a rolling update.) Making the port configurable is necessary to do this. The only reason it's health by default is for backwards compatibility. - Brian --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89335 --- On June 24, 2015, 10:45 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:45 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89252 --- src/main/python/apache/aurora/config/schema/base.py (line 48) https://reviews.apache.org/r/35847/#comment141844 Convention is to not capitalize acronyms like HTTP, but to render them as Http (here and below). - Kevin Sweeney On June 24, 2015, 2:55 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 2:55 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 9:55 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Changes --- update docs Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs (updated) - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89258 --- Master (d28bd4f) is red with this patch. ./build-support/jenkins/build.sh Using cached twitter.common.process-0.3.0.tar.gz Collecting twitter.common.log==0.3.0 (from twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.log-0.3.0.tar.gz Collecting twitter.common.util==0.3.0 (from twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.util-0.3.0.tar.gz Collecting twitter.common.collections==0.3.0 (from twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.collections-0.3.0.tar.gz Collecting smmap=0.8.5 (from gitdb=0.5.1-GitPython==0.3.2.RC1-twitter.checkstyle==0.1.0) Using cached smmap-0.9.0.tar.gz Collecting twitter.common.string==0.3.0 (from twitter.common.process==0.3.0-twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.string-0.3.0.tar.gz Collecting twitter.common.options==0.3.0 (from twitter.common.log==0.3.0-twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.options-0.3.0.tar.gz Collecting twitter.common.dirutil==0.3.0 (from twitter.common.log==0.3.0-twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.dirutil-0.3.0.tar.gz Collecting twitter.common.contextutil==0.3.0 (from twitter.common.util==0.3.0-twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.contextutil-0.3.0.tar.gz Collecting twitter.common.lang==0.3.0 (from twitter.common.collections==0.3.0-twitter.common.app==0.3.0-twitter.checkstyle==0.1.0) Using cached twitter.common.lang-0.3.0.tar.gz Installing collected packages: pyflakes, pep8, smmap, gitdb, GitPython, twitter.common.lang, twitter.common.string, twitter.common.process, twitter.common.options, twitter.common.dirutil, twitter.common.log, twitter.common.contextutil, twitter.common.util, twitter.common.collections, twitter.common.app, twitter.checkstyle Running setup.py install for pyflakes Running setup.py install for pep8 Running setup.py install for smmap Running setup.py install for gitdb Running setup.py install for GitPython Running setup.py install for twitter.common.lang Running setup.py install for twitter.common.string Running setup.py install for twitter.common.process Running setup.py install for twitter.common.options Running setup.py install for twitter.common.dirutil Running setup.py install for twitter.common.log Running setup.py install for twitter.common.contextutil Running setup.py install for twitter.common.util Running setup.py install for twitter.common.collections Running setup.py install for twitter.common.app Running setup.py install for twitter.checkstyle Successfully installed GitPython-0.3.2rc1 gitdb-0.6.4 pep8-1.4.5 pyflakes-0.7.2 smmap-0.9.0 twitter.checkstyle-0.1.0 twitter.common.app-0.3.0 twitter.common.collections-0.3.0 twitter.common.contextutil-0.3.0 twitter.common.dirutil-0.3.0 twitter.common.lang-0.3.0 twitter.common.log-0.3.0 twitter.common.options-0.3.0 twitter.common.process-0.3.0 twitter.common.string-0.3.0 twitter.common.util-0.3.0 F401:ERROR src/main/python/apache/aurora/executor/thermos_task_runner.py:032 'HttpSignaler' imported but unused |from apache.aurora.common.http_signaler import HttpSignaler I will refresh this build result if you post a review containing @ReviewBot retry - Aurora ReviewBot On June 24, 2015, 10:06 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:06 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:13 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Changes --- Checkstyle schmeckstyle Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs (updated) - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman
Re: Review Request 35847: Split http lifecycle into a composition layer.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/#review89282 --- Ship it! Master (d28bd4f) is green with this patch. ./build-support/jenkins/build.sh I will refresh this build result if you post a review containing @ReviewBot retry - Aurora ReviewBot On June 24, 2015, 10:45 p.m., Brian Wickman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35847/ --- (Updated June 24, 2015, 10:45 p.m.) Review request for Aurora, Brian Brazil and Maxim Khutornenko. Bugs: AURORA-1368 https://issues.apache.org/jira/browse/AURORA-1368 Repository: aurora Description --- Move shutdown endpoints to the Job config since the lifecycle is controlled by Aurora and not Thermos. Split the lifecycle management into a composition layer that can more readily be tested. Also, derp, just realized I did not update the documentation. Revision forthcoming. (Also comment on the 'union' style here -- not sure what is preferable.) Diffs - docs/configuration-reference.md 7bfd63381f54b0fe5ef6a4f17b825049b19038db src/main/python/apache/aurora/config/schema/base.py 9a6f8a16f85c324ec75352710e19249443bf2c6b src/main/python/apache/aurora/config/thrift.py 0a3e91011eccf8573feb296bd7f72913622e0ce0 src/main/python/apache/aurora/executor/BUILD cbb2f5f7b5daa936db71cf8c0aac8ddb2002060b src/main/python/apache/aurora/executor/http_lifecycle.py PRE-CREATION src/main/python/apache/aurora/executor/thermos_task_runner.py 7bcd6c42f50665eac2e7f17b84e63f2ea7fb4d4f src/main/python/apache/thermos/config/schema_base.py a85def9eea25fa01020ca2dda4e9cefe861c4a5f src/test/python/apache/aurora/executor/BUILD f415ecc77022b34f053c35272d004e133803d702 src/test/python/apache/aurora/executor/common/fixtures.py 37d032beb66a67cfd3cfcea272747a2915a745ff src/test/python/apache/aurora/executor/test_http_lifecycle.py PRE-CREATION src/test/python/apache/aurora/executor/test_thermos_task_runner.py 3569a6abf84d5144d2e268b0a86c82285ffe2b2b Diff: https://reviews.apache.org/r/35847/diff/ Testing --- Thanks, Brian Wickman