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

[CLIENT-1854] Python client crashes while doing IO during server upgrade/downgrade #297

Merged
merged 27 commits into from
Nov 8, 2022

Conversation

rpandian-spike
Copy link
Contributor

Addresses the following:

CLIENT-1854 | Python client crashes while doing IO during server upgrade/downgrade
(https://aerospike.atlassian.net/browse/CLIENT-1854)

@juliannguyen4
Copy link
Collaborator

@rpandian-spike I had some concerns about this PR and I was hoping you could address them.

  1. This is a breaking change because we are changing the behavior of the client constructor, and customers might have code that doesn't check for exceptions if a client is created (in the docs, the client shouldn't throw an exception). If we make this change, then we would have to raise the version to 8.0.0.
  2. Another issue is when customers try to close and reopen a connection by calling connect(). How should we handle that case?

Alternatively, we could just leave the client constructor code as it is and add a check for a connection before each server operation to prevent a segfault. I prefer this approach since it isn't a breaking change.

@juliannguyen4
Copy link
Collaborator

P.S We should also move the changes related to CLIENT-1829 to a different PR, since this PR already addresses CLIENT-1854

@rpandian-spike
Copy link
Contributor Author

With this new change, Connect and Close calls are no-ops

@rpandian-spike
Copy link
Contributor Author

1829 and 1854 are different use cases but same issue

@juliannguyen4 juliannguyen4 changed the title PR: Python Client - addresses Python client crashes while doing IO during server upgrade/downgrade [CLIENT-1854] Python client crashes while doing IO during server upgrade/downgrade Oct 24, 2022
src/include/client.h Show resolved Hide resolved
src/main/client/type.c Outdated Show resolved Hide resolved
test/config.conf Outdated Show resolved Hide resolved
test/config.conf Outdated Show resolved Hide resolved
test/new_tests/test_is_connected.py Outdated Show resolved Hide resolved
aerospike_helpers/operations/bitwise_operations.py Outdated Show resolved Hide resolved
Copy link
Contributor

@dwelch-spike dwelch-spike left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments and questions.

src/main/client/close.c Outdated Show resolved Hide resolved
test/test_cases.py Show resolved Hide resolved
src/main/client/connect.c Outdated Show resolved Hide resolved
src/main/client/type.c Outdated Show resolved Hide resolved
test/new_tests/test_is_connected.py Outdated Show resolved Hide resolved
test/new_tests/test_is_connected.py Show resolved Hide resolved
.gitmodules Outdated Show resolved Hide resolved
test/new_tests/test_exists_many.py Outdated Show resolved Hide resolved
@rpandian-spike rpandian-spike merged commit 04ad136 into stage Nov 8, 2022
@rpandian-spike rpandian-spike deleted the rp_CLIENT-1854 branch November 8, 2022 22:32
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.

3 participants