-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UI does not accomodate jobs with many children #21
Comments
This actually sounds like a use case for MapReduce: https://github.com/GoogleCloudPlatform/appengine-mapreduce It is built on pipelines and is designed to handle exactly this sort of thing efficiently. |
Are you getting?
Getting this exception for bigger pipelines. |
Hi William, no I most commonly get this error :
As usual with memory related errors on App Engine, the process is sometimes killed without explanations in which case I see this message :
|
dhatanian: Your stack trace is a dup of: The fix is two fold: Retrieve less info in the UI (The data per item is currently quite large) and to bound the number of items retrieved. |
I am going to start work on this on my local fork. Here are my initial thoughts
This will probably require changes to:
Give me a shout if you have any other thoughts |
@dhatanian if you are inclined to do a little experiment, it might be worth upping the spec of your app engine instances for a little bit to see whether you get a datastore issue once the memory is no longer an issue. |
I totally agree with your initial thoughts. I have upgraded my instances type to F4_1G, and the most common error I get now is indeed a datastore issue :
|
We have jobs that can have 500 children, who themselves can have 500 children etc. This leads to a pipeline comprised of up to 100 000 jobs.
In that situation, the UI attempts to load all the objects in the pipeline tree in one go and exceeds the memory available to the App Engine instance.
A better option would be to progressively load the child jobs (and the attached slots, error entities etc) as they are required, starting with the jobs that are direct children of the pipeline. The child jobs would only be loaded when the user tries to expand part of the UI.
For information, the use case for those 100 000 jobs is iterating over all the users in a Google Apps domain. We can iterate by pages of 500 users, and we span a job for each user.
The text was updated successfully, but these errors were encountered: