lakeFS icon indicating copy to clipboard operation
lakeFS copied to clipboard

Update lakeFS API SDK clients so applications can upgrade their client version

Open lynnro314 opened this issue 3 years ago • 2 comments

API changes (like adding optional parameters to functions) are not backward compatible with the clients.

The java and python clients are generated with the lakeFS version. Other clients like the spark client or the lakeFS hadoop filesystem relay on those, and are not updated accordingly.

For example: If we added an optional parameter of type boolean to a function in the API, in the generated java client a Boolean parameter will be added: foo(int a, string s, Boolean b) If we don't want to use the optional parameter we'll need to call the function with null: foo(1, 'someString', null) This change should be addressed in the clients that uses the java client.

To make changes to the API backward compatible with the clients, we can do one of the following:

  1. Change our api generator.

  2. Add an automated check in which we will verify if there are any changes to the API that might break our clients. We should update lakeFs hadoop filesystem and spark client to compile with the api changes once we find them.

lynnro314 avatar Nov 14 '21 12:11 lynnro314

OpenAPITools/openapi-generator#1217 had exactly this comment, and OpenAPITools/openapi-generator#1341 says it fixed it, IIUC by adding a useBuildersForApiRequests option to the Java codegen.

arielshaqed avatar Nov 15 '21 09:11 arielshaqed

Raised as a risk today again after lakefs-hadoop package compilation broke after upgrading to api client version v0.56.0

itaiad200 avatar Dec 08 '21 13:12 itaiad200

This issue is now marked as stale after 90 days of inactivity, and will be closed soon. To keep it, mark it with the "no stale" label.

github-actions[bot] avatar Nov 01 '23 14:11 github-actions[bot]

Closing this issue because it has been stale for 7 days with no activity.

github-actions[bot] avatar Nov 12 '23 01:11 github-actions[bot]