Skip to content

Update dependencies for 3.1.0 #570

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

Merged
merged 4 commits into from
Mar 5, 2025
Merged

Conversation

farost
Copy link
Member

@farost farost commented Mar 4, 2025

Usage and product changes

Update dependencies prior to release 3.1.0. In details:

  • Update dependencies without pinned versions.
  • Update the rocksdb crate
  • Pin the version of the cc create to avoid breaking rocksdb Bazel build.

Motivation

Make sure that the dependencies are in a stable and non-conflicting state

Implementation

See comments.

@typedb-bot
Copy link
Member

typedb-bot commented Mar 4, 2025

PR Review Checklist

Do not edit the content of this comment. The PR reviewer should simply update this comment by ticking each review item below, as they get completed.


Trivial Change

  • This change is trivial and does not require a code or architecture review.

Code

  • Packages, classes, and methods have a single domain of responsibility.
  • Packages, classes, and methods are grouped into cohesive and consistent domain model.
  • The code is canonical and the minimum required to achieve the goal.
  • Modules, libraries, and APIs are easy to use, robust (foolproof and not errorprone), and tested.
  • Logic and naming has clear narrative that communicates the accurate intent and responsibility of each module (e.g. method, class, etc.).
  • The code is algorithmically efficient and scalable for the whole application.

Architecture

  • Any required refactoring is completed, and the architecture does not introduce technical debt incidentally.
  • Any required build and release automations are updated and/or implemented.
  • Any new components follows a consistent style with respect to the pre-existing codebase.
  • The architecture intuitively reflects the application domain, and is easy to understand.
  • The architecture has a well-defined hierarchy of encapsulated components.
  • The architecture is extensible and scalable.

@@ -54,7 +54,7 @@ prost-build = "^0.13"
pwhash = "1.0.0"
rand = "0.8.5"
regex = "1.6.0"
rocksdb = { version = "0.22.0", features = ["lz4"], default_features = false }
rocksdb = { version = "0.23.0", features = ["lz4", "bindgen-runtime"], default_features = false }
Copy link
Member Author

@farost farost Mar 5, 2025

Choose a reason for hiding this comment

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

Rocksdb 0.23.0 introduced bindgen-runtime and bindgen-static. bindgen-runtime used to be the only and the default option, and bindgen-static did not exist. Now, by using default_features, we turn off bindgen-runtime, and we don't have bindgen at all... Weird. So we turn on this feature explicitly.

Copy link
Member Author

Choose a reason for hiding this comment

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

It's not necessary to update it now, but since we discovered and solved this upgrade issue, I think it's valuable to grab it.

Copy link
Member

Choose a reason for hiding this comment

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

agree

@farost farost force-pushed the update-deps-3.1 branch from 94d2e3b to fb07e3c Compare March 5, 2025 09:44
@@ -16,6 +16,7 @@ alcoholic_jwt = "4091.0.0"
async-stripe = { version = "0.39.1", features = ["runtime-tokio-hyper"] }
async-trait = "0.1.59"
axum = { version = "0.5.15", features = ["ws"] }
cc = "=1.2.15"
Copy link
Member Author

@farost farost Mar 5, 2025

Choose a reason for hiding this comment

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

We pin the cc version. [email protected] (which is updated implicitly by a single deps update run) changes something so librocksdb_sys starts having issues with build through Bazel, throwing C++-related errors (probably due to incorrectly used C++17). It was discussed in Discord: https://discord.com/channels/665254494820368395/672580553677078548/1346804418489618443

We do suspect that something got broken in rust-lang/cc-rs#1403, but it does not affect cargo build. Since we don't see a problem in pinning the version of the crate (discussed in the same Discord channel), we decided to do so in the end.

@farost farost merged commit 5c2d4dc into typedb:development Mar 5, 2025
3 checks passed
@farost farost deleted the update-deps-3.1 branch March 5, 2025 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file priority: high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants