[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-09 Thread HeartSaVioR
Github user HeartSaVioR commented on the issue:

https://github.com/apache/storm/pull/2504
  
@revans2 Great news! Looking forward to new news about that.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-09 Thread revans2
Github user revans2 commented on the issue:

https://github.com/apache/storm/pull/2504
  
@HeartSaVioR not a problem.  I often forget that others are not able to 
read my thoughts and I sometimes forget to mention the context.

The code was not really a prototype.  We intend it to be production ready, 
but before pushing anything large like this in we want to harden it with some 
stress tests.  That was something that we had not done yet.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-09 Thread HeartSaVioR
Github user HeartSaVioR commented on the issue:

https://github.com/apache/storm/pull/2504
  
@revans2 Thanks a lot for sharing current status. Actually I have been 
aware of the patch going through @abellina forked repo, so I expect HBase 
plugin and UI patch would be adopted internally, and I also expect most of 
metrics would be integrated with new system. I thought only metrics V2 is a 
blocker for your team to bring such features to Apache side, and that’s why I 
really would want to integrate metrics V2 sooner. I was not aware that they 
were prototypes instead of production ready, hence also thought it can be 
included to Storm 2.x sooner (2.0.0 ideally).
If this patch itself is for baseline of other features like elasticity (its 
plan is also not transparent and I am not aware of that) I think the patch is 
welcome to get reviewed independently and merged in. I wasn’t just not clear 
what benefits the patch will provide.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-09 Thread revans2
Github user revans2 commented on the issue:

https://github.com/apache/storm/pull/2504
  
@HeartSaVioR sorry about that I think we probably were not clear enough on 
this, what is covered and what is not currently covered by this pull request.

Reading through the description of STORM-2156 you are 100% right that this 
does not cover everything there. I will file a new subtask for STORM-2156 and 
we will update this pull request to be under it.  I am sorry about the 
confusion.  Thanks for calling us out on this.

For those who care here is some more history about this patch:

Originally this work was based off of the metrics v2 patch and was done by 
@abellina and @lavindev as an intern here.  But it ended up being a very large 
patch and it looked like it would take a very long time to go in.  We would 
have to wait for metrics v2 to go in, then get this reviewed and in along with 
the glue code that is not here, and then have both of them ported to master.

To try and speed it up I asked @agresch to take out just the rocksdb 
metrics storage piece and a small number of metrics that don't require the v2 
patch, put it on master, make sure it is solid and see if we can get that in by 
itself.  I thought this would be great because it would at least provide the 
minimum metrics needed to start looking at elasticity.

The prototype that @lavindev and @abellina includes all of the integration 
with metrics v2, the UI updated to show both sets of metrics side by side so we 
could judge how close they were to each other, a real time metrics graphing 
proof-of-concept on the UI, and a plugin to store the metrics in HBase instead 
of rocksdb.  So we have code to cover all of STORM-2156 and more.  We are just 
trying to optimize how quickly we can get it in so we can hopefully do a 2.x 
release sometime this quarter.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-08 Thread HeartSaVioR
Github user HeartSaVioR commented on the issue:

https://github.com/apache/storm/pull/2504
  
I left the questions because this PR looks like addressing only part of 
STORM-2156.

The summary of issue STORM-2156 is:

```
Add RocksDB instance in Nimbus and write heartbeat based metrics to it
```

and description is:

```
There should be a RocksDB instance in Nimbus where we write metrics from 
the heartbeats. This should allow us to replace storage for the statistics we 
see in the UI and expand the abilities of UIs to allow for time series charting.
Eventually this data will likely come via thrift to Nimbus as the overall 
metric system is overhauled.
```

(Even STORM-2156 should have follow up issue for representing RocksDB 
metrics to UI.)

In order to replace the metrics data in ZK heartbeat, it should be 
mandatory to address worker metrics (to supervisor) to nimbus. I don't mind it 
would be based on STORM-2693 which transfers worker metrics into Nimbus 
(addressing Metrics V1), or it would be following up patch for STORM-2153 
(Metrics V2) being implementation of metrics collector which communicates to 
Nimbus. (For latter we should migrate most of built-in metrics to Metrics V2 so 
that it can be available.)

Actually it only addresses metrics transfer from supervisor to nimbus which 
doesn't bring origin intention and benefits of issue. I guess you have follow 
up issues or even patches but they're opaque for me now so I don't see much 
benefit of this. Please also file follow up issues and group issues together 
(design doc explaining overall plan would be great) so that we can imagine what 
will be changed and how the changes improve Storm.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-08 Thread HeartSaVioR
Github user HeartSaVioR commented on the issue:

https://github.com/apache/storm/pull/2504
  
Before looking into the patch in detail, I'd like to see which 
functionalities the patch would want to bring.

1. As far as I read from MetricStore, it looks like providing an aggregated 
point from time-range query. Do I understand correctly? Because what I've 
expected is like a time-series one, and it would replace metrics consumers and 
eventually provide time-series representation. I expect it can still replace 
metrics consumers for the store side btw.

2. I guess I know the answer (at least partially) and eventual following-up 
patch would be storing metrics into external storage (like HBase), but just to 
double check: how it will behave when leader Nimbus goes down and one of 
standby Nimbus promotes to leader? Will metrics stored previously be 
unavailable? If Nimbus gets leadership again, how Nimbus shows the gap while it 
didn't receive the metrics? (especially aggregated values) Do we want to apply 
interpolation, or just treat it as no metrics (hence 0 for sum and None for 
avg)?


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-08 Thread agresch
Github user agresch commented on the issue:

https://github.com/apache/storm/pull/2504
  
Further metrics can be added to the database as desired.  The intent of 
this patch was to get the database functional.  Given the patch size and 
ongoing metrics work, I would suggest adding more metrics as a follow on JIRA.


---


[GitHub] storm issue #2504: STORM-2156: store metrics into RocksDB

2018-01-07 Thread HeartSaVioR
Github user HeartSaVioR commented on the issue:

https://github.com/apache/storm/pull/2504
  
I think this patch (or following up patch, at least) should address 
workers' metrics as well. Is it just waiting for Metrics V2? (#2203) Or to 
avoid backward incompatibility between old workers?


---