Hi Pat,

After changing the indexName the problem for mistaking the models resolved
but I find out that after retraining one model the other one get below error 
when sending queries to it.

And as you mentioned I checked engine.json for both apps and they have not any 
similar setting

Stack Trace:
org.elasticsearch.indices.IndexMissingException: [abcIndexName] missing
                at 
org.elasticsearch.cluster.metadata.MetaData.convertFromWildcards(MetaData.java:884)
                at 
org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:692)
                at 
org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.<init>(TransportSearchTypeAction.java:118)
                at 
org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.<init>(TransportSearchQueryThenFetchAction.java:71)
                at 
org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.<init>(TransportSearchQueryThenFetchAction.java:65)
                at 
org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction.doExecute(TransportSearchQueryThenFetchAction.java:62)
                at 
org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction.doExecute(TransportSearchQueryThenFetchAction.java:52)
                at 
org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75)
                at 
org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:100)
                at 
org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:43)
                at 
org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75)
                at 
org.elasticsearch.action.support.HandledTransportAction$TransportHandler.messageReceived(HandledTransportAction.java:63)
                at 
org.elasticsearch.action.support.HandledTransportAction$TransportHandler.messageReceived(HandledTransportAction.java:51)
                at 
org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(MessageChannelHandler.java:222)
                at 
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:114)
                at 
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
                at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
                at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
                at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
                at 
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
                at 
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
                at 
org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
                at 
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
                at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
                at 
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
                at 
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
                at 
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
                at 
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
                at 
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
                at 
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
                at 
org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
                at 
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at java.lang.Thread.run(Thread.java:745)

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Hossein Bahrami<mailto:[email protected]>
Sent: Monday, January 16, 2017 9:18 AM
To: Pat Ferrel<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Subject: RE: Multiple apps problem

Hi Pat,

Thanks for your help, problem fixed.
The issue was about using same indexNames, everything else was correct except 
indexName.

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Pat Ferrel<mailto:[email protected]>
Sent: Friday, January 13, 2017 7:40 PM
To: 
[email protected]<mailto:[email protected]>
Subject: Re: Multiple apps problem

You have 2 copies of the UR directory and 2 engine.json files and 2 input event 
sets? Make sure there are different "indexName" set for each model in the 2 
engine.json files. Otherwise training of one engine will wipe out the other 
since they point to the same indexName.

To have 2 completely separate applications with different data you need:
1) 2 different EventServer appNames with different appids, create with `pio app 
new <your-app-name>`
2) 2 different indexNames for 2 models, set in the 2 engine.json files
3) each engine deployed on a separate port (you have this already)


On Jan 13, 2017, at 12:35 AM, Hossein Bahrami 
<[email protected]<mailto:[email protected]>> wrote:

Hi Pat,

I have a Ubuntu machine which PredictionIo (0.9.7-aml) installed on it,
I have two application both based on Universal recommender template.
I trained both of the apps and deployed them on different ports .
Results of the apps were quite normal but the problem which I figured out later 
is that one of the apps was predicting items with score zero so I retrained it 
then scores become normal numbers but after this action (retraining) the other 
app start returning empty results, so I retrained that one and then the first 
one returned zero score items again .

This is like closed circle and retraining each of apps causes the other app 
return empty results or abnormal zero scored results.

Regards
Hossein

From: Pat Ferrel<mailto:[email protected]>
Sent: Thursday, January 12, 2017 5:57 PM
To: 
[email protected]<mailto:[email protected]>
Subject: Re: Multiple apps problem

This forum is to support Apache PIO, and the latest UR runs on it so I advise 
you upgrade. Instructions are here on actionml.com<http://actionml.com/> or 
here for Apache PIO: http://predictionio.incubator.apache.org/install/

I don't understand your explanation, there should be one train per 
PredictionServer, you can't have one PS and two "engines" or configurations. 
The 2 engines must be on 2 different ports if deployed separately.

Can you explain your setup and what you are trying to do?


On Jan 12, 2017, at 7:39 AM, Hossein Bahrami 
<[email protected]<mailto:[email protected]>> wrote:

Hi everyone,

I have a very strange problem. I have two application running on one 
predictionio engine, each time I train one of them the other one's predictions 
returning zero score items for one of them and no items at all for the other.

I am using UR algorithm for both of apps

pio version : 0.9.7-aml

regards

Reply via email to