Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.11.0-incubating
-
None
-
None
Description
When getting started with PredictionIO, it's no problem to spin up an engine and see it work. Problems emerge when a developer tries running multiple engines with different storage configs on the same underlying database, such as:
- a Classifier with Postgres meta, event, & model storage, and
- the Universal Recommender with Elasticsearch meta plus Postgres event & model storage.
The database will become corrupt because the meta tables are stored in different databases, but the dynamically created event & model tables may mistakenly share the same name, like pio_event_1.
We are directing folks to avoid this problem with the Heroku buildpack by isolating each engine's database and optionally running an eventserver per engine. It's still a problem with local development, though.
It would be great if PredictionIO's management of the database schema's would inherently avoid such conflicts, like by using random/UUIDs for dynamically created table names, so that they will never conflict.
Attachments
Issue Links
- depends upon
-
PIO-78 Modularize PIO Architecture into microservices
- Open