-
Notifications
You must be signed in to change notification settings - Fork 291
Don't call codebase getTypeOfTerm with non-codebase refs #5817
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
Conversation
dolio
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Pretty straight forward.
|
Hrmm, I'm not sure what's going on with CI: I didn't change anything that should cause something like that 🤔 |
@ChrisPenner I've seen this before too, also not sure what the cause is but restarting the job seemed to fix it |
Why isn't it an issue in UCM? |
In UCM it would still call out to SQLite in order to determine the ref doesn't exist, but the latency and round-trip time is much lower with SQLite than it is on Share. |
Got it, thanks. |
Overview
The current behaviour tries to map runtime references into codebase references when calling to get type info for them, but if the term is generated by the runtime, it will still call through with the intermediate/floating ref, which will always fail.
This isn't a big deal in UCM, but on Share each bogus ref triggers a DB call.
This changes it so we don't call through if there's no valid codebase ref for a runtime ref.
Implementation notes
Interesting/controversial decisions
Nah
Test coverage
Existing tests show the runtime still behaves;
On Share I've tried out this build with debugging to ensure we're no longer calling through with bogus refs or cache misses :)
Loose ends
This should do it for now; I didn't see any other spots this would be a concern.