Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Hi all, suppose rather than IO[_] my effect type is Either[String, _], what would be the right way to integrate this with cats-retry?
    I can lift the latter into the IO context by folding the Left to an exception instance, but this seems clunky. Ideas?
    Luka Jacobowitz
    might be your best bet
    Jakub Kozłowski
    how would you retry an Either? It's a value that doesn't contain effects so I don't think you'll ever have a successful retry
    Retries imply nondeterminism, and that implies effects (IO)
    Steven Fines
    any help on Error:(54, 50) diverging implicit expansion for type cats.kernel.Order[A]
    starting with method catsKernelStdOrderForSortedSet in trait LowPrioritySortedSetInstancesBinCompat1
    policy = RetryPolicies.exponentialBackoff(FiniteDuration.apply(5, TimeUnit.SECONDS)),
    Chris Birchall
    @sfines-clgx I would try adding a type parameter to give the compiler some help, e.g. policy = RetryPolicies.exponentialBackoff[IO](FiniteDuration.apply(5, TimeUnit.SECONDS)),
    Maksim Ochenashko
    Hello everyone! Any plans for an update to scalajs 1.+? I'm trying to update cats-mtl to 1.0.0, but I'm blocked by the old version of scala js. Since cats-mtl 1.0.0 compiled with sjs 1.+ .
    I can try to manage this, but according to the PR section the repo looks stale
    Maksim Ochenashko
    Turns out it wasn't complicated. Here is the PR cb372/cats-retry#229. But I still need to sort out an issue with mima.
    Luka Jacobowitz
    @iRevive I think in this case there’s really no binary compatible way around
    so we probably need to bump cats-retry to 2.0.0
    Maksim Ochenashko
    Yeah, 2.x series sounds like a good option
    Damien O'Reilly
    Hi, is there anything to facilitate working with partial failures? e.g. I am working with DynamoDB where writing batches can result in a response that can be a success, but also contain a list of items that failed to persist for whatever reason including throttling etc.. and is therefore retryable. However the action input in this case would be different from the original.
    Luka Jacobowitz
    @DamienOReilly I don’t think we have anything like this yet
    but feel free to open an issue or a PR
    sounds like a fun problem to work on
    Luka Jacobowitz
    could look something like this:
    def retryPartial[M[_], E, P](
      policy: RetryPolicy[M],
      isWorthRetrying: A => Option[P],
      reconstruct: P => M[A]
    )(action: M[A]): M[A]
    Damien O'Reilly
    Thanks Luka, sure I will see if I can get some free time over the next few weeks to pluck away at it.