Github user pferrel commented on the issue: https://github.com/apache/incubator-predictionio/pull/328 The file path is required to be the same on any 2 machines and is explicitly in the metadata. If you have the deploy machine dir in a different path than the train machine dir (actually the build dir in 0.10.0) you'll get the completely incomprehensible "one for one" failure. At least this is one reason for it. This IMO is a major confusion point in PIO. Therefore I still think the ID should be explicit and engine-id and engine-version should be eradicated completely. Can someone please tell me why we need anything more than - a dataset-id (app) - a model-id, which points to metadata used to create a model from a dataset - the metadata would contain the specific engine.json data used and the dataset-id (actually the appName in the engine but we need to remove this too) so it would connect the model-id to the dataset-id with all data needed to create the model from the dataset. In all commands (but one) this would allow the metadata to be retrieved from the metastore. We can then re-do the CLI to be completely stateless, and not require anything be copied between machines except a common knowledge of IDs. I will write up a proposal for this, maybe it will make sense but at least we can discuss it in concrete terms.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---