Tommaso Teofili created LUCENE-6045:
---------------------------------------

             Summary: Refator classifier APIs to work better with multi 
threading
                 Key: LUCENE-6045
                 URL: https://issues.apache.org/jira/browse/LUCENE-6045
             Project: Lucene - Core
          Issue Type: Improvement
          Components: modules/classification
            Reporter: Tommaso Teofili
            Assignee: Tommaso Teofili


In 
https://issues.apache.org/jira/browse/LUCENE-4345?focusedCommentId=13454729&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13454729
 [~simonw] pointed out that the current Classifier API doesn't work well in 
multi threading environments: 

bq. The interface you defined has some problems with respect to Multi-Threading 
IMO. The interface itself suggests that this class is stateful and you have to 
call methods in a certain order and at the same you need to make sure that it 
is not published for read access before training is done. I think it would be 
wise to pass in all needed objects as constructor arguments and make the 
references final so it can be shared across threads and add an interface that 
represents the trained model computed offline? In this case it doesn't really 
matter but in the future it might make sense. We can also skip the model 
interface entirely and remove the training method until we have some impls that 
really need to be trained.

I missed that at that point but I think for 5.0 it would be wise to rearrange 
the API to address that properly.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to