[ 
https://issues.apache.org/jira/browse/PIO-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16681440#comment-16681440
 ] 

ASF GitHub Bot commented on PIO-193:
------------------------------------

longliveenduro commented on issue #495: [PIO-193] Async support for predict 
method and storage access, blocking code wrapped in blocking construct
URL: https://github.com/apache/predictionio/pull/495#issuecomment-437362562
 
 
   @dszeto @takezoe This would be one possible solution to be nearly 100% 
backward compatible. With "nearly" I mean that an engine implementor has to add 
"override" to its implementation of predictBase() / predict() because in this 
suggestion I implement it with a default NotImplementedError stating that the 
method is deprecated.
   
   If you want we could just drop this default implementation of 
BaseAlgorithm.predictBase / Subclass.predict and would have 100% compatibility 
but then even a new async implementation would have to implement these old 
method signatures with a dummy.
   
   Other solution I did think of were using some runtime information (things 
like checking dynamically if a method is present or not) but I decided not to 
use that, because these kind of lookups is usually very slow and IMHO breaks 
type saftey.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Use async requests to storage whenever possible
> -----------------------------------------------
>
>                 Key: PIO-193
>                 URL: https://issues.apache.org/jira/browse/PIO-193
>             Project: PredictionIO
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.13.0
>            Reporter: Chris Wewerka
>            Priority: Major
>
> The storage access in Prediction IO uses blocking drivers and uses the 
> standard scala ExecutionContext which is a bounded ForkJoin ThreadPool. This 
> leads to bad usage of machines resources.
>  
> See also 
> [https://lists.apache.org/thread.html/f14e4f8f29410e4585b3d8e9f646b88293a605f4716d3c4d60771854@%3Cuser.predictionio.apache.org%3E]
> and https://jira.apache.org/jira/browse/PIO-182



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to