Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.8.1
    • Fix Version/s: .next
    • Component/s: library
    • Security Level: Public
    • Labels:
      None

      Description

      In SPY-58 compressing for JSON was disabled. We picked spymemcached because it did compression and couldn't find any documentation saying JSON wouldn't be compressed. Whether to compress JSON or not should be a configuration value that can be passed in much like compressionThreshold.

      Currently our only solution appears to prepend one character that isn't { or [ and then remove it after doing a get. But I would say that not compressing any string just because it starts with a { or [ isn't really desirable because it means that if I expect/want compression of my string I now have to check every string I put into the client and prepend and remove a leading character just to get compression.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Hide
          ingenthr Matt Ingenthron added a comment -

          We'll agree that it was probably not the best solution. We need to find a better approach for this. One strong consideration is enhancing flags, allowing compression and doing compression at both the client and the server. That requires more help from the server folks. The other challenge here is that there is no standard JSON type and even if there were, we'd not likely want to key off of it.

          To address this for now, maybe it'd be best to have a way to disable this behavior?

          Show
          ingenthr Matt Ingenthron added a comment - We'll agree that it was probably not the best solution. We need to find a better approach for this. One strong consideration is enhancing flags, allowing compression and doing compression at both the client and the server. That requires more help from the server folks. The other challenge here is that there is no standard JSON type and even if there were, we'd not likely want to key off of it. To address this for now, maybe it'd be best to have a way to disable this behavior?
          Hide
          jjshanks Joshua Shanks added a comment -

          Agreed some kind of configuration would be great. As someone who is using the client with a standard memcached server I think ideally the default would be to compress everything but as long as it was configurable and documented it'd be a step in the right direction. I was going to look at making it a configuration option but can't get all of the unit tests to run, maybe I can try again if SPY-86 get resolved.

          Show
          jjshanks Joshua Shanks added a comment - Agreed some kind of configuration would be great. As someone who is using the client with a standard memcached server I think ideally the default would be to compress everything but as long as it was configurable and documented it'd be a step in the right direction. I was going to look at making it a configuration option but can't get all of the unit tests to run, maybe I can try again if SPY-86 get resolved.
          Hide
          mikew Mike Wiederhold added a comment -

          Lowering priority because this needs server side planning as well

          Show
          mikew Mike Wiederhold added a comment - Lowering priority because this needs server side planning as well

            People

            • Assignee:
              daschl Michael Nitschinger
              Reporter:
              jjshanks Joshua Shanks
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Gerrit Reviews

                There are no open Gerrit changes