-
Notifications
You must be signed in to change notification settings - Fork 1
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
Federation of (predefined) processes #4
Comments
I also wonder whether the intersection of the processes at the back-end could get an issue when a user realizes that the processes for one of the use cases we advertize are not actually listed in the aggregator. That could be confusing. So wondering whether it would make sense to go the same route as with processes? (union + "supported by EODC/VITO" in the summary?) Also, for example, the Web Editor highlights missing processes in red. So if you load up a use case with processes only available at VITO or EODC, you would get confused for sure. And you can't even build them from scratch... But ultimately, I also don't know what the better approach would be. Just giving some thoughts. |
And the aggregator can make it more obvious to users by simply appending a "only supported by X" thing to the summary or so. As long as it's transparent, I don't see a larger issue with the union (as long as processes parameters etc don't diverge too much, which we need to document). |
ok makes sense FYI: the problem of parameter differences is an "intersection problem", expanding to union does not change anything. |
I don't buy that. There are still issues with the "union" if you have different implementations. See openEOPlatform/documentation#12 (comment) for examples of when it could be a problem. (Or maybe I misunderstood what you meant to say here.) |
I was just referring to union on process_id level. For example: if backend 1 has processes A and B, and backend 2 has A, and C, you only risk parameter differences in process A (the intersection), the extra processes from the union (B and C) only exist on one backend, so there is no problem with differences |
The more I'm working with Platform, the more the intersection of the processes is stopping me from succeeding with the Platform as the clients tell me that x or y is not available (although it is available at one back-end), we also already got a RID based on something is not shown on https://docs.openeo.cloud/processes. |
Yes, I'm starting to feel the same. Even if we get all backends to support a core set of processes, it's still annoying for users that they have to switch. |
aggregator now returns union (initial implementation) still to do / to discuss:
|
I have listed all discrepancies in process definitions among openeo backends here: |
next iteration of this report (done around Nov 10, 2022): https://github.com/openEOPlatform/architecture-docs/issues/282 |
TODO: create new iteration of this report and fix low hanging fruit |
Federation works, script to report discrepancies is available. |
The aggregator combines multiple back-ends, each of which support different sets of predefined processes (or processes with slightly differing process definitions), as exposed by their respective
GET /processes
listings.The aggregator's
/processes
currently returns the intersection of the process sets, because this is the safest choice with lowest surprise factor.An alternative is taking the union, which could cause problems that violate the openEO API: aggregator claims to support process X (from backend A), but execution (on backend B) fails with "unsupported process X" .
Note that even if the
/processes
just list the intersection of processes, a savvy user can still submit process graphs that use back-end specific processes if they know that the execution will happen on that back-end (e.g. because of which collections are used, or some other mechanism).This ticket is for tracking questions and concerns about the strategy of process federation.
The text was updated successfully, but these errors were encountered: