Skip to content

Conversation

@abhishekagarwal87
Copy link
Contributor

No description provided.

@abhishekagarwal87
Copy link
Contributor Author

Complete porting is pending on #1074 (util/async-loop is being referred by disruptor.clj)

"make a handler for the executor's receive disruptor queue to
check highWaterMark and lowWaterMark for backpressure"
(disruptor/disruptor-backpressure-handler
(DisruptorUtils/disruptorBackpressureHandler
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we just inline the impl here? There isn't much point in having this translated to java when it is still so dependent on clojure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed DisruptorUtils.java and inlined everywhere.

@knusbaum
Copy link
Contributor

I agree with @revans2. Inlining and getting rid of DisruptorUtils.java is ideal.

@abhishekagarwal87
Copy link
Contributor Author

I have removed DisruptorUtils.java and squashed the commits along with it.

(when (= true (storm-conf TOPOLOGY-DEBUG))
(log-message "TRANSFERING tuple " val))
(disruptor/publish batch-transfer->worker val))))
(.publish ^DisruptorQueue batch-transfer->worker val) )))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The indentation is wrong here. This is not under the when.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will correct it.

@revans2
Copy link
Contributor

revans2 commented Feb 11, 2016

The changes look good to me and the unit tests all pass. My only concern now is the performance, and the disruptor queue code is on the critical path. Have you run any performance tests? If not I can run some to do a quick comparison.

@abhishekagarwal87
Copy link
Contributor Author

I have not run performance tests as of now so you can run them

@abhishekagarwal87
Copy link
Contributor Author

I have fixed the indentation.

@revans2
Copy link
Contributor

revans2 commented Feb 11, 2016

The good news is that this patch doesn't seem to have made the performance on 2.x any worse. The bad news is that it is already 1/2 the throughput I can get on 1.x. So I am going to have to spend some time and track that down.

@abhishekagarwal87
Copy link
Contributor Author

That is quite a difference in performance. Are you using ThroughputVsLatency to get these numbers? Also while you are looking into performance degrade and #1074 has been merged, I will rebase my changes

@revans2
Copy link
Contributor

revans2 commented Feb 11, 2016

Yes, I used ThroughputvsLatency with a throughput of 20,000 sentences per second that I know 0.10.x can handle. Having a single reflection on the critical path can cause it, but fixing it really just comes down to hooking up a profiler and finding it. Not a big deal, just want to stay on top of it.

@abhishekagarwal87
Copy link
Contributor Author

I have merged my changes with util.clj ported code. disruptor.clj has been deleted in entirety.

@revans2
Copy link
Contributor

revans2 commented Feb 11, 2016

Looks good to me +1 pending Travis

@abhishekagarwal87
Copy link
Contributor Author

Travis check has passed. Ready for merge now.

@asfgit asfgit merged commit 6696e3f into apache:master Feb 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants