-
Notifications
You must be signed in to change notification settings - Fork 417
Synchronization 3.update #296
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
Conversation
- Method definition | ||
- Library requirement | ||
|
||
It's best practice thought to eager load before going into parallel part of an application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: though
Have you had a chance to see the request from the Rails team regarding enhancements to condition variables? Is that something you think we should add? If so I'd like to do it in v0.9 so that the Rails team can move forward. We can push back the release as long as necessary. Thoughts? |
Sorry i know this is blocking pre release, but I still did not figure out why it is failing on 2.0. Please wait. I would also like to get the actor updates merged to edge for the pre release although I know it may not be that important. update: and I still need to investigate the BiasedCondition if it should go to 0.9 too. |
We can wait. I greatly appreciate the work you are doing. Can we aim for Monday for the first pre-release, or is that not enough time? |
I'll have some time on weekend so I would like it to be ready on Monday. |
Making new Future/Promises lock-free; usage examples
- remove all synchronization from path when there is no thread waiting - improve AllPromise iterations - zipped futures apply as multiple arguments to block not as a single array
@jdantonio so it looks like that the cause is |
At LambdaConf with only my phone so I can't easily look at the code or test output, so I'm just throwing out ideas. Have you tried running the test suite without the "rogue threads" hack? I added that very early on because the test suite was weak. We've made a lot of improvements since then. We may be able to remove it. If the issue is with the rest and not the code you can disable the individual test(s) on Travis. I added an RSpec tag for this. It's used in the Exchanger tests. |
We had a race commenting, I was updating my comment with more information. I've tries not whole suite but just the failing file and it's fine without it, see #296 (comment), but there is still issue. I think best might be to remove the |
@pitr-ch Fixed. It turns out that the problem was with the Because I had to make changes to changes to I believe we should merge this PR. I'll leave it to you to decide whether to merge or rebase. PS: With respect to kill_rogue_threads: I had created that function early on when I was spawning new threads in all the tests. The number of threads in the system would climb by hundreds because they weren't effectively being garbage collected. Now that we are using thread pools in the tests (and our thread pools are very stable) this doesn't appear to be a problem anymore. |
Great, Thanks! I thought this would be much more work. I'll merge master here, I've already based another PR on this branch so I cannot easily rebase. Closing #306 I'll retest here. |
I thought it was going to be a lot more work, too. I honestly thought it would be the bulk of my work between 0.9 and 1.0. I'm very happy it ended up being so much easier! |
* upstream/master: (22 commits) Async now hides :new and provides safe :create factory. ...
I know how to fix the tests that are failing on ruby-head. I will fix those after the merge. |
Cool, the rbx seems happy without reconfiguration specs. So I think we are almost ready to merge, I'll just recheck the PR. update: I'll finish that up tomorrow. |
There is only one failure https://travis-ci.org/ruby-concurrency/concurrent-ruby/jobs/63966616#L4196 otherwise it's ready to merge. @jdantonio I'll leave the decision up to you, if you want to merge it to unblock rest of the work and fix later or fix first. |
That failing test ScheduledTask test is known to be buggy. It's on my list. I'm comfortable merging. |
not ready for merge