Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

fix(element): prevent concurrent map functions#4508

Open
wvanderdeijl wants to merge 2 commits intoangular:masterfrom
wvanderdeijl:elementfinder-map-serial
Open

fix(element): prevent concurrent map functions#4508
wvanderdeijl wants to merge 2 commits intoangular:masterfrom
wvanderdeijl:elementfinder-map-serial

Conversation

@wvanderdeijl
Copy link
Copy Markdown

prevents running multiple concurrent webdriver commands when selenium promise manager is disabled

fixes #4507

prevents running multiple concurrent webdriver commands when selenium promise manager is disabled
@googlebot
Copy link
Copy Markdown

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If your company signed a CLA, they designated a Point of Contact who decides which employees are authorized to participate. You may need to contact the Point of Contact for your company and ask to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the project maintainer to go/cla#troubleshoot.
  • In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again.

1 similar comment
@googlebot
Copy link
Copy Markdown

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If your company signed a CLA, they designated a Point of Contact who decides which employees are authorized to participate. You may need to contact the Point of Contact for your company and ask to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the project maintainer to go/cla#troubleshoot.
  • In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again.

@wvanderdeijl
Copy link
Copy Markdown
Author

I signed it!

@googlebot
Copy link
Copy Markdown

CLAs look good, thanks!

1 similar comment
@googlebot
Copy link
Copy Markdown

CLAs look good, thanks!

@vikerman
Copy link
Copy Markdown
Contributor

Hi - Can you write a test for this?

@wvanderdeijl
Copy link
Copy Markdown
Author

@vikerman tests have been added. I've added one test that simply does a .map over a lot of elements. It has to be a large number of elements as it is a race (concurrency) issue. With this many elements it consistently fails with ChromeDriver on MacOS.
The second test simply verifies the implementation no longer uses a Promise.all (with concurrent requests), but that the promises should be chained (thus serial requests)

@egza
Copy link
Copy Markdown

egza commented Oct 5, 2017

Waiting for this fix to be merged =)

@Xaz16
Copy link
Copy Markdown

Xaz16 commented Jan 16, 2018

Hello guys

Any progress with this pull request? It's really painful to get
#4507

@AlexMarchini
Copy link
Copy Markdown

I'm also waiting on this fix. Currently getting this error when using filter().

@ldeveber
Copy link
Copy Markdown

ldeveber commented Feb 7, 2018

Any progress on this?

@iraghumitra
Copy link
Copy Markdown

+1 is it possible to get this in?

@CrispusDH
Copy link
Copy Markdown
Contributor

+1 get errors with Promise.all(), .map(), .filter()

@qiyigg
Copy link
Copy Markdown
Contributor

qiyigg commented Jun 5, 2018

@wvanderdeijl Could you fetch the latest master branch and rebase your PR and check whether circleCI can pass now? Thanks!

@lacastorine
Copy link
Copy Markdown

Any progress on this?

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failed: EPIPE write EPIPE with ElementArrayFinder.map and SELENIUM_PROMISE_MANAGER:false