Stop passing URL opener across process boundaries#1820
Conversation
7fdcd4f to
3c616a4
Compare
|
Looks like this breaks netrfc functionality. Need to debug. |
|
I suspect this is CI-only problem. Environment is working in unexpected way. |
bbaf278 to
745e70a
Compare
|
Okay, done. I think there is some problem with buildgrid that is causing test failures. |
BenjaminSchubert
left a comment
There was a problem hiding this comment.
I like the change, but I am a bit cautious about the invalid netrc error, I am not sure I get why this can't be logged anymore?
f20ff8d to
7b9e39d
Compare
The object is not picklable. This cannot be supported. Instead create URL opener when needed in child process. Drops URL opener caching which may result in minor performance impact.
7b9e39d to
5750589
Compare
|
Failing test appears to have been failed at |
Which seems to be the same as #1814. I guess that's just a flaky test. |
|
It looks strange. Apparently the error originates here https://github.com/apache/buildstream/blob/master/src/buildstream/utils.py#L432 and it looks like bst should upon file existing try to delete it and then try to link again. |
|
It definitely looks like a race condition with multiple parties trying create same link. Supposedly a chain
can result in this failure. safe_link is not multi-thread or multi-process safe. |
|
The should probably be a follow-up issue on that. I suspect there might be something specific to test runner that results in this since I haven't ever seen this in real world. |
|
Rebased this and fixed conflicts with downloadablefilesource.py, this PR is now replaced by #1826 |
Should fix #1766
The object is not picklable. This cannot be supported. Instead create URL opener when needed in child process. Drops URL opener caching which may result in minor performance impact.