I'm unable to reproduce this either in the vagrant image or on my Mac laptop. Do we have any access to a similar build environment or have the ability to launch ad hoc jenkins jobs? Without this ability I'm not sure I can properly develop a fix.
On Wed, Aug 6, 2014 at 9:34 AM, Apache Jenkins Server < jenk...@builds.apache.org> wrote: > See <https://builds.apache.org/job/Aurora/497/changes> > > Changes: > > [wickman] Fix announcer test. > > ------------------------------------------ > [...truncated 659 lines...] > twitter.common.python.http: Opening (uncached): 305.8ms > twitter.common.python.http: Fetching > https://pypi.python.org/simple/coverage/: 269.2ms > twitter.common.python.http: Resolving pypi.python.org: 32.3ms > twitter.common.python.http: Connecting to pypi.python.org: 59.0ms > twitter.common.python.http: Caching > https://pypi.python.org/simple/coverage/: 36.2ms > twitter.common.python.http: Opening (uncached) > twitter.common.python.http: Opening (uncached) :: Fetching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df > twitter.common.python.http: Opening (uncached) :: Fetching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df > :: Resolving pypi.python.org > twitter.common.python.http: Opening (uncached) :: Fetching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df > :: Connecting to pypi.python.org > twitter.common.python.http: Opening (uncached) :: Caching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df > twitter.common.python.http: Opening (uncached): 441.8ms > twitter.common.python.http: Fetching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df: > 222.5ms > twitter.common.python.http: Resolving pypi.python.org: 39.0ms > twitter.common.python.http: Connecting to pypi.python.org: 57.1ms > twitter.common.python.http: Caching > https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz#md5=c47b36ceb17eaff3ecfab3bcd347d0df: > 218.7ms > twitter.common.python: Packaging coverage > twitter.common.python: Packaging coverage :: Installing /tmp/tmpL3VAIc > twitter.common.python: Packaging coverage: 786.2ms > twitter.common.python: Installing /tmp/tmpL3VAIc: 783.7ms > Resolved distributions: > twitter.common.python 0.6.0 > pytest-cov 1.6 > twitter.common.log 0.3.1 > twitter.common.dirutil 0.3.1 > cov-core 1.13.0 > Pygments 1.4 > twitter.common.lang 0.3.1 > twitter.common.contextutil 0.3.1 > twitter.common.quantity 0.3.1 > requests 2.0.0 > py 1.4.23 > twitter.common.collections 0.3.1 > twitter.common.options 0.3.1 > twitter.common.confluence 0.3.1 > pantsbuild.pants 0.0.20 > pystache 0.5.3 > wheel 0.24.0 > twitter.common.threading 0.3.1 > Markdown 2.1.1 > setuptools 5.4.1 > twitter.common.config 0.3.1 > lockfile 0.9.1 > twitter.common.string 0.3.1 > psutil 1.1.3 > ansicolors 1.0.2 > pytest 2.5.2 > coverage 3.7.1 > python-daemon 1.5.5 > twitter.common.decorators 0.3.1 > twitter.common.process 0.3.1 > twitter.common.util 0.3.1 > Setting entry point to pants.bin.pants_exe:main > Saving PEX file to < > https://builds.apache.org/job/Aurora/ws/build-support/pantsbuild.pants-0.0.20.pex.tmp > > > Built pantsbuild.pants-0.0.20.pex > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 2 items > > src/test/python/apache/thermos/common/test_pathspec.py@20::test_legacy_task_roots > PASSED > src/test/python/apache/thermos/common/test_pathspec.py@27::test_legacy_log_dirs > PASSED > > =========================== 2 passed in 0.03 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 4 items > > src/test/python/apache/aurora/client/hooks/test_non_hooked_api.py@85::TestNonHookedAuroraClientAPI::test_cancel_update_discards_config > PASSED > src/test/python/apache/aurora/client/hooks/test_non_hooked_api.py@89::TestNonHookedAuroraClientAPI::test_kill_job_discards_config > PASSED > src/test/python/apache/aurora/client/hooks/test_non_hooked_api.py@97::TestNonHookedAuroraClientAPI::test_restart_discards_config > PASSED > src/test/python/apache/aurora/client/hooks/test_non_hooked_api.py@103::TestNonHookedAuroraClientAPI::test_start_cronjob_discards_config > PASSED > > =========================== 4 passed in 0.51 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 2 items > > src/test/python/apache/thermos/monitoring/test_disk.py@57::test_du_diskcollector > PASSED > src/test/python/apache/thermos/monitoring/test_disk.py@69::test_inotify_diskcollector > PASSED > > =========================== 2 passed in 0.94 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 1 items > > src/test/python/apache/aurora/executor/common/test_task_info.py@49::test_deserialize_thermos_task > PASSED > > =========================== 1 passed in 0.29 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 3 items > > src/test/python/apache/aurora/client/cli/test_config_noun.py@27::TestClientCreateCommand::test_list_configs > PASSED > src/test/python/apache/aurora/client/cli/test_config_noun.py@39::TestClientCreateCommand::test_list_configs_invalid > PASSED > src/test/python/apache/aurora/client/cli/test_config_noun.py@75::TestClientCreateCommand::test_list_configs_nojobs > PASSED > > =========================== 3 passed in 0.77 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 3 items > > src/test/python/apache/aurora/common/test_http_signaler.py@41::TestHttpSignaler::test_all_calls_ok > PASSED > src/test/python/apache/aurora/common/test_http_signaler.py@68::TestHttpSignaler::test_exception > PASSED > src/test/python/apache/aurora/common/test_http_signaler.py@57::TestHttpSignaler::test_health_not_ok > WARNING:root:Response differs from expected response (expected "ok", got > "not ok") > PASSED > > =========================== 3 passed in 0.08 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 30 items > > src/test/python/apache/aurora/client/api/test_updater.py@775::UpdaterTest::test_diff_unordered_configs > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@644::UpdaterTest::test_finish_invalid_response > ERROR:root:There was an error finalizing the update: test > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@339::UpdaterTest::test_grow > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@356::UpdaterTest::test_grow_fails_quota_check > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@481::UpdaterTest::test_grow_with_instance_option > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@730::UpdaterTest::test_instances_outside_range > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@657::UpdaterTest::test_invalid_batch_size > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@664::UpdaterTest::test_invalid_restart_threshold > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@671::UpdaterTest::test_invalid_watch_secs > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@715::UpdaterTest::test_job_does_not_exist > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@372::UpdaterTest::test_non_to_prod_fails_quota_check > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@551::UpdaterTest::test_noop_update > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@534::UpdaterTest::test_patch_hole_with_instance_option > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@389::UpdaterTest::test_prod_to_non_always_passes_quota_check > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@408::UpdaterTest::test_shrink > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@498::UpdaterTest::test_shrink_with_instance_option > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@636::UpdaterTest::test_start_invalid_response > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@595::UpdaterTest::test_update_after_restart > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@425::UpdaterTest::test_update_and_grow > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@444::UpdaterTest::test_update_and_shrink > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@623::UpdaterTest::test_update_cron_job > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@463::UpdaterTest::test_update_instances > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@829::UpdaterTest::test_update_instances_wait_for_batch_completion_filled_batch > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@851::UpdaterTest::test_update_instances_wait_for_batch_completion_partially_filled_batch > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@678::UpdaterTest::test_update_invalid_response > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@697::UpdaterTest::test_update_kill_timeout > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@798::UpdaterTest::test_update_no_rollback > WARNING:root:Not restarting failed instances [0], which exceeded maximum > allowed instance failure limit of 1 > WARNING:root:Not restarting failed instances [1], which exceeded maximum > allowed instance failure limit of 1 > ERROR:root:2 failed instances observed, maximum allowed is 1 > ERROR:root:2 instance failures for instance 0, maximum allowed is 1 > ERROR:root:2 instance failures for instance 1, maximum allowed is 1 > WARNING:root:Update failures threshold reached > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@567::UpdaterTest::test_update_rollback > WARNING:root:Not restarting failed instances [2], which exceeded maximum > allowed instance failure limit of 1 > ERROR:root:1 failed instances observed, maximum allowed is 0 > ERROR:root:2 instance failures for instance 2, maximum allowed is 1 > WARNING:root:Update failures threshold reached > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@745::UpdaterTest::test_update_skips_unretryable > WARNING:root:Not restarting failed instances [2], which exceeded maximum > allowed instance failure limit of 2 > PASSED > src/test/python/apache/aurora/client/api/test_updater.py@515::UpdaterTest::test_update_with_instance_option > PASSED > > ========================== 30 passed in 1.16 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 4 items > > src/test/python/apache/aurora/client/api/test_scheduler_mux.py@50::SchedulerMuxTest::test_failure > PASSED > src/test/python/apache/aurora/client/api/test_scheduler_mux.py@47::SchedulerMuxTest::test_success > PASSED > src/test/python/apache/aurora/client/api/test_scheduler_mux.py@66::SchedulerMuxTest::test_timeout > PASSED > src/test/python/apache/aurora/client/api/test_scheduler_mux.py@58::SchedulerMuxTest::test_unknown_failure > PASSED > > =========================== 4 passed in 2.15 seconds > =========================== > ============================= test session starts > ============================== > platform linux2 -- Python 2.7.6 -- py-1.4.23 -- pytest-2.6.0 -- > /usr/bin/python2.7 > plugins: cov, timeout > collecting ... collected 7 items > > src/test/python/apache/aurora/executor/common/test_announcer.py@32::test_serverset_join_thread > PASSED > src/test/python/apache/aurora/executor/common/test_announcer.py@66::test_announcer_under_normal_circumstances > Time now: 31337.0 > Time now: 31338.0 > Time now: 31339.0 > PASSED > src/test/python/apache/aurora/executor/common/test_announcer.py@110::test_announcer_on_expiration > ERROR:root:Failed to join ServerSet: Failed to reconnect > Time now: 31337.0 > Time now: 31338.0 > Time now: 31339.0 > Time now: 31340.0 > FAILED > > =================================== FAILURES > =================================== > _________________________ test_announcer_on_expiration > _________________________ > > def test_announcer_on_expiration(): > joined = threading.Event() > operations = [] > > def joined_side_effect(*args, **kw): > # 'global' does not work within python nested functions, so we > cannot use a > # counter here, so instead we do append/len (see PEP-3104) > operations.append(1) > if len(operations) == 1 or len(operations) == 3: > joined.set() > return 'membership %d' % len(operations) > else: > raise KazooException('Failed to reconnect') > > mock_serverset = mock.MagicMock(spec=ServerSet) > mock_serverset.join = mock.MagicMock() > mock_serverset.join.side_effect = joined_side_effect > mock_serverset.cancel = mock.MagicMock() > > endpoint = Endpoint('localhost', 12345) > clock = ThreadedClock(31337.0) > > announcer = Announcer( > mock_serverset, endpoint, clock=clock, exception_wait=Amount(2, > Time.SECONDS)) > announcer.start() > > try: > joined.wait(timeout=1.0) > assert joined.is_set() > assert announcer._membership == 'membership 1' > assert announcer.disconnected_time() == 0.0 > clock.tick(1.0) > assert announcer.disconnected_time() == 0.0 > announcer.on_expiration() # expect exception > clock.tick(1.0) > assert announcer.disconnected_time() == 1.0, ( > 'Announcer should be disconnected on expiration.') > clock.tick(10.0) > assert announcer.disconnected_time() == 0.0, ( > > 'Announcer should not advance disconnection time when > connected.') > E AssertionError: Announcer should not advance disconnection > time when connected. > > src/test/python/apache/aurora/executor/common/test_announcer.py:149: > AssertionError > !!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures > !!!!!!!!!!!!!!!!!!!! > ====================== 1 failed, 2 passed in 0.99 seconds > ====================== > Build operating on top level addresses: set([BuildFileAddress(< > https://builds.apache.org/job/Aurora/ws/src/test/python/BUILD,> all)]) > src.test.python.apache.aurora.client.api.mux > ..... SUCCESS > src.test.python.apache.aurora.client.api.updater > ..... SUCCESS > src.test.python.apache.aurora.client.cli.config > ..... SUCCESS > src.test.python.apache.aurora.client.hooks.non_hooked_api > ..... SUCCESS > src.test.python.apache.aurora.common.test_http_signaler > ..... SUCCESS > src.test.python.apache.aurora.executor.common.announcer > ..... FAILURE > src.test.python.apache.aurora.executor.common.task_info > ..... SUCCESS > src.test.python.apache.thermos.common.test_pathspec > ..... SUCCESS > src.test.python.apache.thermos.monitoring.test_disk > ..... SUCCESS > Build step 'Execute shell' marked build as failure > Recording test results >