Skip to content
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

TestableScheduler/VirtualLock/Virtual(Runnable/Callable) removal #53

Merged
merged 5 commits into from Jan 2, 2014

Conversation

jentfoo
Copy link
Member

@jentfoo jentfoo commented Jan 1, 2014

This is a possible solution to issue #52. This removals all of the VirtualRunnable/VirtualCallable/VirtualLock infrastructure. This also removes the TestableScheduler implementation.

I am doing this as a pull request because I want to think about it, as well as get @lwahlmeier 's feedback on what he thinks about this. This removes a lot of functionality, and some of the test features of Threadly. Some thoughts to consider:

  • This does remove and change a lot of code right before the 1.0.0 release
  • This does simplify a lot of code however, as well as fix one known issue
  • This code has not been very valuable in testing the concurrency of threadly, and I think that what value the TestableScheduler did provide, could possibly be accomplished in other ways now.
  • I am a bit sad to see all this code go, there was lots of good code here, and I think it was impressive how we could take a concurrent design and make it single threaded for unit testing. The problem is that I feel like the architecture was fragile as well, and it only really worked if you used the VirtualLocks correctly.

So I am torn, and want to think about this a bit before we commit to removing all this code.

…entation, and adds a lot of code. Furthermore I don't know of anyone currently using it, and although I think the implementation is solid, I worry about furture reqressions with other areas of code (see issue #51).

So I am just experimenting at what the implementations would look like if this was removed.
… testable locks. We are now just returning Objects in their place to be synchronized on.
…hing, and the user has no reason to pass it in during construction.
@cloudbees-pull-request-builder

Threadly-master #233 SUCCESS
This pull request looks good

@cloudbees-pull-request-builder

Threadly-unstable #378 SUCCESS
This pull request looks good

@ghost ghost assigned jentfoo Jan 1, 2014
@jentfoo
Copy link
Member Author

jentfoo commented Jan 1, 2014

FWIW, this change reduces the compiled jar size by about 30KB

lwahlmeier added a commit that referenced this pull request Jan 2, 2014
TestableScheduler/VirtualLock/Virtual(Runnable/Callable) removal
@lwahlmeier lwahlmeier merged commit d4920e7 into unstable_staging Jan 2, 2014
@lwahlmeier lwahlmeier deleted the TestableScheduler_removal branch January 2, 2014 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants