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

Add INIT_WAIT_TIME CQL option to sleep after table creation #4094

Merged

Conversation

li-boxuan
Copy link
Member

@li-boxuan li-boxuan commented Nov 7, 2023

Amazon Keyspace creates keyspace and tables asynchronously. As such, users have to retry graph creation multiple times until they don't see errors like unconfigured table janusgraph.system_properties. To address this problem, this commit adds a config option, storage.cql.init-wait-time, that does a blocking wait after each table creation request. Changes have been manually tested against Amazon Keyspace.


Thank you for contributing to JanusGraph!

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

For all changes:

  • Is there an issue associated with this PR? Is it referenced in the commit message?
  • Does your PR body contain #xyz where xyz is the issue number you are trying to resolve?
  • Has your PR been rebased against the latest commit within the target branch (typically master)?
  • Is your initial contribution a single, squashed commit?

For code changes:

  • Have you written and/or updated unit tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE.txt file, including the main LICENSE.txt file in the root of this repository?
  • If applicable, have you updated the NOTICE.txt file, including the main NOTICE.txt file found in the root of this repository?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Amazon Keyspace creates keyspace and tables asynchronously.
As such, users have to retry graph creation until they don't
see errors like `unconfigured table janusgraph.system_properties`.
To address this problem, this commit adds an config option,
`storage.cql.init-wait-time`, that does a blocking wait after
each table creation request. Changes have been manually tested
against Amazon Keyspace.

Signed-off-by: Boxuan Li <[email protected]>
@li-boxuan li-boxuan added this to the Release v1.1.0 milestone Nov 7, 2023
Copy link
Member

@porunov porunov left a comment

Choose a reason for hiding this comment

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

LGTM. Thank you @li-boxuan !

Copy link
Contributor

@cdegroc cdegroc left a comment

Choose a reason for hiding this comment

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

LGTM too

@li-boxuan
Copy link
Member Author

Not sure why CodeCov is complaining about the coverage, but my debugger shows the new code is indeed covered by the new test

@li-boxuan li-boxuan merged commit ba4b083 into JanusGraph:master Nov 8, 2023
171 of 172 checks passed
@li-boxuan li-boxuan deleted the aws-keyspace-wait-for-creation branch November 8, 2023 04:06
@janusgraph-automations
Copy link

💚 All backports created successfully

Status Branch Result
v1.0

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants