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

[STORM-935] Update Disruptor queue version to 2.10.4 #630

Merged
merged 6 commits into from Jul 16, 2015

Conversation

errordaiwa
Copy link
Contributor

Update version of Disruptor queue to 2.10.4, consumer of queue will use waitfor method without timeout. Test on storm 0.9.3, works fine.

@arunmahadevan
Copy link
Contributor

+1 @errordaiwa how is the cpu usage with high bolt count when idle ?

@HeartSaVioR
Copy link
Contributor

@errordaiwa @arunmahadevan
I'm aware of unknown bug in Disruptor Queue, so I'd like to specify timeout value though some race conditions are fixed.
We can have an experiment with adjusting timeout from 100 to 1000 and look at CPU usage.

In short, applying both configuring timeout and upgrading Disruptor to 2.10.4 makes sense for me.

@errordaiwa
If you don't mind, I'd like to ask you a favor to experiment such things, since I'm not ready to experiment.

@errordaiwa
Copy link
Contributor Author

@HeartSaVioR @arunmahadevan I do a performance test using storm 0.9.3 with disruptor queue 2.10.4. The target topology is metioned in STORM-503. To make result more clear, I raise bolt num to 1000.

Here is the CPU usage.

  • base (Storm running with nothing)
    • user: 2%
    • sys: 1.5%
  • no timeout
    • user: 4%
    • sys: 1.5%
  • 1000ms timeout
    • user: 5%
    • sys: 2%
  • 100ms timeout
    • user: 6%
    • sys: 4.5%
  • 10ms timeout
    • user: 17%
    • sys: 26%

@HeartSaVioR
Copy link
Contributor

@errordaiwa @amontalenti
1000ms timeout makes sense to me.
Actually 100ms timeout also makes sense to me, but I'd like to know our opinions about load aware.

We're having a option to set timeout now, so it would be no issue.
I'll run some performance tests and check no tuples are failed.

@revans2
Copy link
Contributor

revans2 commented Jul 15, 2015

I am fine with whichever timeout we pick. I am +1 for merging this in pending the results of the tests @HeartSaVioR is running.

@HeartSaVioR
Copy link
Contributor

@revans2 Thanks for confirming. :)

During running performance test I can't see any failed tuples from the UI in 10 minutes, so I think it is safe to merge.
LGTM, +1.

Btw, it would be better for users to change default timeout in order to let users not suffering STORM-503 with default setting.

@errordaiwa Could you change default timeout to 1000ms?

After changing default timeout I'll merge.

@errordaiwa
Copy link
Contributor Author

done.

@HeartSaVioR @revans2 Thanks for validation and confirming.

@HeartSaVioR
Copy link
Contributor

+1.

@HeartSaVioR
Copy link
Contributor

Since many users are already affected this situation, it should be included to 0.9.x line.

@asfgit asfgit merged commit 7be8368 into apache:master Jul 16, 2015
@HeartSaVioR
Copy link
Contributor

It is merged to master, and I'm working on backport to 0.10.x and 0.9.x.

@HeartSaVioR
Copy link
Contributor

I merged this into 0.10.x-branch and 0.9.x-branch by cherry-picked.

Since there're different available sets of config validators among branches - master, 0.10.x, 0.9.x, I take the best proper validator to each branch.

  • master: NotNullPosIntegerValidator
  • 0.10.x: PositiveIntegerValidator
  • 0.9.x: IntegerValidator

@errordaiwa
Copy link
Contributor Author

Great!

@HeartSaVioR Sincerely thank you for working on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants