Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Alexandru Nedelcu
    @alexandru
    Sure, I’m a little caught up with work right now; but when I have the time, maybe tonight, or tomorrow.
    Lloyd
    @lloydmeta
    Sounds good. No hurry btw.
    Alexandru Nedelcu
    @alexandru

    @/all version 1.8.0 is released: https://github.com/monix/shade/blob/master/release-notes/1.8.md

    Note that the organization has changed to io.monix, along with the GitHub move to monix/shade, so in order to update your dependencies you need this:

    "io.monix" %% "shade" % "1.8.0"
    Anton Vanco
    @thenobody

    Hi @alexandru I'm currently using the client to store compressed data in memcached and found that the Spy client integration is not allowing setting any flags (just hard-setting 0s). Would it be possible to expose this functionality? Possibly by extending the Codec interface as

    trait Codec[T] {
      def serialize(value: T, flags: Int): Array[Byte]
      def deserialize(data: Array[Byte], flags: Int): T
    }

    Thanks!

    Alexandru Nedelcu
    @alexandru
    Hi @thenobody - I’ll investigate what that means
    What do those flags specify?
    Anton Vanco
    @thenobody
    @alexandru thanks for looking into this! The flags are supposed to be just arbitrary "metadata" that describe the value stored under a given key. It's mentioned here https://github.com/memcached/memcached/blob/master/doc/protocol.txt (under the storage command description).
    Alexandru Nedelcu
    @alexandru
    @thenobody unfortunately this means changing the Codec
    Anton Vanco
    @thenobody
    yeah, that's what i was thinking
    i actually have made the changes in my fork
    i could create a PR if you'd like to take a look?
    Alexandru Nedelcu
    @alexandru
    @thenobody Sure, I’d like to see what you did.
    I’m currently toying with a refactoring, because I have the feeling that poking those internals isn’t needed anymore. It’s dirty and the whole point of accessing those internals, when I started this project, was that the Future objects returned by SpyMemcached where not exposing some kind of addListener, but now they do.
    Anton Vanco
    @thenobody
    ah, that's good to hear. deleting code is the best kind of refactoring :)
    Anton Vanco
    @thenobody
    @alexandru raised the PR monix/shade#49
    feel free to take a look if it makes sense. happy to make any changes if needed.
    Anton Vanco
    @thenobody
    hi @alexandru, i saw your PR for version 2.0 (which brings in the flag support). i was just wondering what's the current status of that release?
    Alexandru Nedelcu
    @alexandru
    Need to add/fix tests, have been procrastinating.
    Anton Vanco
    @thenobody
    i see :D
    need any help?
    Alexandru Nedelcu
    @alexandru
    Well, if you could help me out with those tests, it would be great :)
    Anton Vanco
    @thenobody
    anything in particular or just fix those that are broken?
    Alexandru Nedelcu
    @alexandru
    Well, this PR isn’t a small change, because I got rid of the internals we had, as they were tricky and at some point SpyMemcached started supporting listeners for completed futures, etc… so there are some interface changes and the tests we had are broken and need to be ported.
    Anton Vanco
    @thenobody
    alrighty
    i'll see what i can do
    Lloyd
    @lloydmeta
    @alexandru can you cut a release? Been wanting to get monix/shade@409e823 on stable for a while
    Alexandru Nedelcu
    @alexandru
    @lloydmeta I'm away this week, coming back next Sunday, so unfortunately I can't. But when I'll return, I'll set the project up for Travis-enabled publishing, since I figured out how.
    Lloyd
    @lloydmeta
    :+1:
    Lloyd
    @lloydmeta
    Any chance of getting a release?
    Alexandru Nedelcu
    @alexandru
    Status: currently trying to configure Travis for automatic deployments and writing a blog article about it
    I’m halfway through it, currently the build fails :(
    Alexandru Nedelcu
    @alexandru
    Note, given that I’ve pushed multiple commits with “Fix build” in quick succession, I’ve rebased the last 5 commits and did a forced push on master. Unfortunately I couldn’t avoid this, because I need to see the build config running on Travis.
    hopefully will not happen again
    Lloyd
    @lloydmeta
    Thanks man. Also, looking forward to the blog article!
    Alexandru Nedelcu
    @alexandru
    Unfortunately I’m blocked on an error that I can’t solve: https://travis-ci.org/monix/shade/jobs/265162576
    Publishing to Sonatype throws an HTTP 400 error, even though it shouldn’t.
    Running that script from localhost, with the same env configured for Sonatype works.
    Alexandru Nedelcu
    @alexandru
    @lloydmeta I’ve managed to do it.
    So you can merge into snapshot for publishing a "hashed release” (where the version includes the hash of the commit, as an alternative to snapshots)
    Or you can tag a release (e.g. git tag v1.10.0 and git push) and it will release that version
    I’ve released 1.10.0
    Btw, you can add yourself to the developers in build.sbt / POM if you want
    Alexandru Nedelcu
    @alexandru
    And you’re totally free to do releases whenever you want.
    Ali
    @aliyakamercan
    Hey, missing keys are throwing an exception for me when I use cache.get[T] I am using twemproxy and protocol is set to text. Any ideas ?
    shade.UnhandledStatusException: class net.spy.memcached.ops.OperationStatus(NOT_FOUND)
        at shade.memcached.internals.SpyMemcachedIntegration.$anonfun$handleStatus$2(SpyMemcachedIntegration.scala:480)
        at shade.memcached.internals.SpyMemcachedIntegration.$anonfun$handleStatus$2$adapted(SpyMemcachedIntegration.scala:479)
        at shade.memcached.internals.SpyMemcachedIntegration$$Lambda$2713/2079219366.apply(Unknown Source)
    Lloyd
    @lloydmeta
    Weird, that shouldn't happen.
    Maybe file a bug ?