Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-788

thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: 0.7
    • Component/s: PHP - Library
    • Environment:
      • ubuntu 10.04 32bit
      • thrift svn
      • php-5.3.2 with thrift_protocol.so 1.0 enabled
      • cassandra 0.6+0.7/trunk

      Description

      thrift_protocol.so does not handle multiget/multiget_slice with more than 17 keys correctly. The query time sky rockets from 10ms to a steady 900ms starting with 18 keys. It doesn't matter if you fetch 18 or 50. Solid 900ms...

      The bug can easily + steadily be reproduced:

      • standard Keyspace1 / CF Standard1 setup
      • name: Keyspace1
        replica_placement_strategy: org.apache.cassandra.locator.RackUnawareStrategy
        replication_factor: 1
        column_families:
      • name: Standard1
        compare_with: BytesType
      • insert e.g. 1000 columns email:value / testmail1-testmail1000 with key = 1...1000
      • $keys=array('1','2',.....'17')
      • $client->multiget_slice($keys,$columnParent,$predicate,$consistency_level); -> 10ms
      • $keys=array('1','2',.....'18')
      • $client->multiget_slice($keys,$columnParent,$predicate,$consistency_level); -> 900ms
      • $keys=array('1','2',.....'100')
      • $client->multiget_slice($keys,$columnParent,$predicate,$consistency_level); -> 900ms

      It does return the right columns though.

      It can easily be fixed: disable thrift_protocol.so

      This might be a 32bit microseconds issue. Still very strange though.

        Attachments

        1. multiget_slice.php
          4 kB
          Arya Goudarzi

          Issue Links

            Activity

              People

              • Assignee:
                nicktelford Nicholas Telford
                Reporter:
                aliemen Alexander Liemen
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: