Todd Nine created USERGRID-261:
----------------------------------

             Summary: Review the counter code in NodeShardApproximationImpl
                 Key: USERGRID-261
                 URL: https://issues.apache.org/jira/browse/USERGRID-261
             Project: Usergrid
          Issue Type: Improvement
          Components: Stack
            Reporter: Todd Nine


Review the code in NodeShardApproximationImpl.  The FlushWorker.call is taking 
15% of our entire runtime.   See the attached screenshot.

https://www.dropbox.com/s/v9w743uwzib5fej/Screen%20Shot%202014-12-02%20at%203.40.52%20PM.png?dl=0

Instead we should prototype changing the flush worker to work in the following 
way.

1) Create a custom observable
2) As counters are incremented/decremented, publish them as an event
3) Subscribers to the event should subscribe on a buffer size or a timeout
4) The action that receives the buffered events should flush them immediately 
to cassandra.

This would avoid the need to perform the current atomic long and incremental 
counter classes, and would simplify the code.  We should also verify this 
removes some of the current performance issues in the system.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to