Erik Persson created SOLR-11413:
-----------------------------------

             Summary: SolrGraphiteReporter fails to report metrics due to 
non-thread safe code
                 Key: SOLR-11413
                 URL: https://issues.apache.org/jira/browse/SOLR-11413
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: metrics
    Affects Versions: 7.0, 6.6
            Reporter: Erik Persson


Symptom:
Intermittent errors writing graphite metrics.  Errors indicate use of sockets 
which have already been closed.

Cause:
SolrGraphiteReporter caches and shares dropwizard Graphite instances.  These 
reporters are not thread safe as they  open and close an instance variable of 
type GraphiteSender.  On modern bare metal hardware this problem was observed 
consistently, and resulted in the majority of metrics failing to be delivered 
to graphite.

Proposed Fix:
Graphite (and PickledGraphite) are not designed to be cached, and should not be.

Test:
Patch file includes test which forces error.

Alternative Fixes Considered:
* Totally change solr metrics architecture to use a single metrics registry - 
seems undesirable and impractical
* Create a synchronized or otherwise thread-safe implementation of dropwizard 
graphite reporter - should be fixed upstream in dropwizard and not obviously 
preferred to current model




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to