|
Well spotted.
Assuming the Search version is older, even if it where to request a service up-front I think it would request the wrong one (the legacy one). I suspect that in practice this case would be quite rare? My idea about all this is that we don't need to somehow enforce ORM to cover all cases, it's good enough if we minimize chances, as I think we need to accept that some incompatibilities will happen occasionally.
So considering that we like the "crawling approach" more as it introduces a good level of automagic backwards compatibility: this level helps minimizing our active work (i.e. catch it, track the defect, patch it), but ultimately if something slips through we can insert a couple of lines of code in the latest ORM beta to translate the legacy interface request in the correct one.
I think we (Search) need to more closely track ORM changes via automated CI for the full solution, this issue should focus on making it less likely to catch a problem.
|