Skip to content

rpoplpush throws a conversion error when there is no entry on source list (2.0.0 beta)

Expected behavior

rpoplpush to return nil when there is no entry on source list

Actual behavior

The following error is thrown

error: "RedisClientError(baseError: RediStack.RedisClientError.(unknown context at $116964d50).BaseError.failedRESPConversion(to: Swift.Optional<RediStack.RESPValue>))"

Steps to reproduce

The following code will produce an EventLoopFuture that will fail as long as "list1" does not contain any items.

func test(redis: RedisConnectionPool) throws -> EventLoopFuture<RESPValue?> {
    return redis.send(.rpoplpush(from: "list1", to: "list2"))
}

RediStack version/commit hash

2.0.0-beta.1

Swift Version (output of swift --version)

swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51) Target: x86_64-apple-macosx13.0

OS version (output of uname -a)

Darwin Adams-iMac-Pro-2.local 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct 9 20:14:54 PDT 2022; root:xnu-8792.41.9~2/RELEASE_X86_64 x86_64

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information