github dahomey-technologies/rustis 0.27.2

one hour ago

Fixed

  • LOADING and BUSY are retryable server errors. A server restarting
    with persistence answers LOADING until its dataset is in memory, and one
    running a script or a function past busy-reply-threshold answers BUSY.
    Both codes fell into RedisErrorKind::Other, so Error::is_retryable
    returned false and a caller that relies on it took a normal restart for a
    defect of its command. They now parse to the new RedisErrorKind::Loading
    and RedisErrorKind::Busy, which is_retryable reports as transient. The
    server refuses the command without running it, so any command, INCR
    included, can be replayed on them. BUSYGROUP and BUSYKEY are unchanged.
  • The release check accepts a variant added to RedisErrorKind.
    cargo semver-checks failed the publication on
    enum_no_repr_variant_discriminant_changed: inserting Busy and Loading
    in alphabetical order shifts the implicit discriminant of the variants after
    them. That discriminant is not observable -- Ask and Moved carry fields,
    so the enum cannot be cast with as -- but the lint does not look at fields.
    It is now a warning, set in Cargo.toml, so it is still printed but no
    longer blocks a release.

Don't miss a new rustis release

NewReleases is sending notifications on new releases.