Skip to content
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

Surface SDK in-compatibility issue to users through logs #1504

Closed
KeranYang opened this issue Feb 13, 2024 · 3 comments
Closed

Surface SDK in-compatibility issue to users through logs #1504

KeranYang opened this issue Feb 13, 2024 · 3 comments
Assignees
Labels
area/sdk enhancement New feature or request opex Operational Excellence to make it easy to run in production and debug

Comments

@KeranYang
Copy link
Member

KeranYang commented Feb 13, 2024

Summary

SDK in-compatibility is one of the most common issues that users encounter when they are working on their test pipelines. A very common answer that we provide on the numaflow-support channel is “upgrade your numaflow version to v1.x.x” or “use a newer sdk version v0.x.x ”. It would be great if we can surface such information through logs. “Numaflow platform is running on version a.b.c while the UDF is running on numaflow-go version x.y.z, they are not compatible, please update numaflow-go to version l.m.n”.


Message from the maintainers:

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@KeranYang KeranYang added enhancement New feature or request area/sdk labels Feb 13, 2024
@KeranYang KeranYang changed the title Surface SDK compatibility issue to users through logs Surface SDK in-compatibility issue to users through logs Feb 13, 2024
@vigith vigith added the opex Operational Excellence to make it easy to run in production and debug label Mar 25, 2024
@kohlisid
Copy link
Contributor

Just to clarify, In this issue we are trying to identify the Numaflow and SDK versions and then match whether they are compatible right?
And then provide the end user this information

@KeranYang
Copy link
Member Author

@kohlisid Yes, hopefully by having this, users can resolve it all by themselves without numa support involved.

@ayildirim21
Copy link
Member

meeting notes:

# Go SDK
# server info file contains:
version: x.x.x
minimum numaflow version: >= x2.x2.x2 # if this key-value doesnt exists then old SDK version, please update your SDK log

------------------------

# numaflow
version: z.z.z
# maintain this information for all languages in a matrix, yaml file (root dir?), parse yaml into a dict in Go code
minimum Go SDK version: y.y.y
if numaflow version 'latest' skip numaflow check as you already have latest changes

# check before grpc connection is established
if x.x.x < y.y.y  || if z.z.z < x2.x2.x2 # compatibility issue 
if x.x.x >= y.y.y && z.z.z >= x2.x2.x2 # compatible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/sdk enhancement New feature or request opex Operational Excellence to make it easy to run in production and debug
Projects
None yet
Development

No branches or pull requests

4 participants