As I checked the elasticsearch logs apparently the training of the app A deleted the index of the other app .
(Each of the apps are in different directories and have their own copies of UR temples and different name and access key and everything else) I don’t understand why training of one app should delete some index in elasticsearch which doesn’t belong to it. Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10 From: Hossein Bahrami<mailto:h.bahr...@live.com> Sent: Wednesday, January 18, 2017 11:30 AM To: Pat Ferrel<mailto:p...@occamsmachete.com>; user@predictionio.incubator.apache.org<mailto:user@predictionio.incubator.apache.org> Subject: RE: Multiple apps problem Hi, I have 2 directories and 2 copies of UR template. After running build, train, deploy chain I get the error after training the other app. Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10 From: Pat Ferrel<mailto:p...@occamsmachete.com> Sent: Tuesday, January 17, 2017 7:52 PM To: user@predictionio.incubator.apache.org<mailto:user@predictionio.incubator.apache.org> Subject: Re: Multiple apps problem Do you have 2 directories with 2 copies of the Universal Recommender? PIO requires this. Also please build, train, and deploy both engines. The metadata for the engines doesn’t get changed or used until you perform all workflow steps. On Jan 17, 2017, at 7:56 AM, Hossein Bahrami <h.bahr...@live.com<mailto:h.bahr...@live.com>> wrote: 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:h.bahr...@live.com> Sent: Monday, January 16, 2017 9:18 AM To: Pat Ferrel<mailto:p...@occamsmachete.com>; user@predictionio.incubator.apache.org<mailto:user@predictionio.incubator.apache.org> 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:p...@occamsmachete.com> Sent: Friday, January 13, 2017 7:40 PM To: user@predictionio.incubator.apache.org<mailto:user@predictionio.incubator.apache.org> 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 <h.bahr...@live.com<mailto:h.bahr...@live.com>> 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:p...@occamsmachete.com> Sent: Thursday, January 12, 2017 5:57 PM To: user@predictionio.incubator.apache.org<mailto:user@predictionio.incubator.apache.org> 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 <h.bahr...@live.com<mailto:h.bahr...@live.com>> 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