Skip to content

Allow protobuf 3.19 #260

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

Closed
wants to merge 2 commits into from
Closed

Allow protobuf 3.19 #260

wants to merge 2 commits into from

Conversation

nrhodes
Copy link

@nrhodes nrhodes commented Jan 20, 2023

What was changed

Changed the allowable version of protobuf from >=3.20 to >=3.19

Why?

The docs in README.md state:

To support these, Temporal Python SDK allows any protobuf library >= 3.19

However, the code currently only allows >= 3.20.

Note that tensorflow requires something less than 3.19, so 3.19 is a common version that tensorflow and temporalio can both use.

Checklist

  1. How was this tested:
    Built a worker with workflow and a few activities and verified it worked.

  2. Any docs updates needed?
    None

@CLAassistant
Copy link

CLAassistant commented Jan 20, 2023

CLA assistant check
All committers have signed the CLA.

@cretz
Copy link
Member

cretz commented Jan 23, 2023

Per #231, we had to update this to get protocolbuffers/protobuf@0707f2e which is what our typed protobufs expect. I will make sure we have a CI test to confirm this.

Crawling Tensorflow lib I found https://github.com/tensorflow/tensorflow/blob/855020682595719638e08517f29cf621db43d6db/tensorflow/tools/pip_package/setup.py#L100-L107. I too had this problem before, but it has long-since been fixed I believe. I wonder if they'd be willing to reconsider yet.

@cretz
Copy link
Member

cretz commented Feb 7, 2023

Sorry it took a bit to get back to this. Can you confirm that actually downgrading the library instead of just the version in the TOML will pass tests? I see we use ValueType a good bit that's not in the older Protobuf version, so I think the code will break if you actually use it with 3.19.

@nrhodes
Copy link
Author

nrhodes commented Feb 7, 2023

Sorry it took a bit to get back to this. Can you confirm that actually downgrading the library instead of just the version in the TOML will pass tests? I see we use ValueType a good bit that's not in the older Protobuf version, so I think the code will break if you actually use it with 3.19.

Im not sure whether it passes the tests or not, sorry.

@cretz
Copy link
Member

cretz commented Feb 8, 2023

You can do the downgrade (that affects poetry.lock not just toml) and run tests or just push and CI will run.

@coreyhu
Copy link

coreyhu commented Feb 9, 2023

Any update on this?

@cretz
Copy link
Member

cretz commented Feb 9, 2023

Our code relies on the aforementioned commit from 1.20: protocolbuffers/protobuf@0707f2e. Looks like TF just updated two weeks ago to 3.20+ at tensorflow/tensorflow@84f4092 and once they cut a release you'll be forced to upgrade to 3.20+ anyways.

So I am not sure that supporting 3.19 is worth it any more for that one project that was hanging on but no longer is. Or is there another dependency disallowing upgrade?

@cretz
Copy link
Member

cretz commented Feb 17, 2023

Closing as we rely on a commit in 3.20+ and Tensorflow is now about to start requiring that version too.

Feel free to reopen if we still need to support 3.19 and the code can be changed to pass all tests with 3.19.

@cretz cretz closed this Feb 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants