New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix race in entity_platform.async_add_entities #19222

Merged
merged 1 commit into from Dec 14, 2018

Conversation

Projects
None yet
3 participants
@emontnemery
Copy link
Contributor

emontnemery commented Dec 12, 2018

Description:

There is a race in entity_platform.async_add_entities() which makes the check for duplicated entity_id fail. This in turns may cause several entities to be created with the same entity_id.
The issue can very easily be reproduced by publishing two persistent MQTT discovery messages with same name before starting hass, one of which has unique_id set.

This is a follow-up to #18445, now also fixing the case for entities which are added to the device registry.

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.

@emontnemery emontnemery requested a review from home-assistant/core as a code owner Dec 12, 2018

@wafflebot wafflebot bot added the in progress label Dec 12, 2018

@emontnemery emontnemery added this to the 0.84.2 milestone Dec 14, 2018

@emontnemery emontnemery requested a review from Kane610 Dec 14, 2018

@balloob balloob merged commit 7a7c2ad into home-assistant:dev Dec 14, 2018

5 checks passed

Hound No violations found. Woof!
WIP ready for review
Details
cla-bot Everyone involved has signed the CLA
continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls First build on async_add_entities_race at 92.889%
Details

@wafflebot wafflebot bot removed the in progress label Dec 14, 2018

balloob added a commit that referenced this pull request Dec 14, 2018

@balloob balloob referenced this pull request Dec 14, 2018

Merged

0.84.2 #19281

mxworm added a commit to mxworm/home-assistant that referenced this pull request Dec 14, 2018

Merge branch 'dev' into current
* dev: (88 commits)
  huawei_lte: Fetch only required data (home-assistant#17618)
  Adding support for Plum Lightpad (home-assistant#16576)
  Fix restore state for manual alarm control panel (home-assistant#19284)
  Set InsteonEntity name to be combo of description and address. (home-assistant#17262)
  Device config for Fibaro hub integration (home-assistant#19171)
  Add air pollutants component (home-assistant#18707)
  Updated ELIQ Online sensor to async API (home-assistant#19248)
  Set unavailable when unreachable (home-assistant#19012)
  Make variable `entity_id` available to value_template for MQTT binary sensor (home-assistant#19195)
  home-assistant#17333: update to use DOMAIN constants and standards. (home-assistant#19242)
  Fix race in entity_platform.async_add_entities (home-assistant#19222)
  Fix race in entity_platform.async_add_entities (home-assistant#19222)
  Bumped version to 0.84.2
  Fix call to super() (home-assistant#19279)
  Fix OwnTracks deadlocking (home-assistant#19260)
  Fix list (fixes home-assistant#19235) (home-assistant#19258)
  Add automation and script events to logbook filter events (home-assistant#19253)
  Bump aioasuswrt (home-assistant#19229)
  Review comments
  Move check to websocket
  ...

@emontnemery emontnemery deleted the emontnemery:async_add_entities_race branch Dec 19, 2018

@alex3305 alex3305 referenced this pull request Dec 22, 2018

Open

Observation reset #214

dshokouhi added a commit to dshokouhi/home-assistant that referenced this pull request Dec 25, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment