Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-58790

RLE in Simple8b fails when using 0 as added

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 5.1.0
    • Fix Version/s: 5.1.0-rc0
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      Simple8b s8b;
      763
      764 std::vector<uint64_t> expectedInts(1920, 0);
      765 for(uint32_t i = 0; i < 200; ++i)

      { 766 expectedInts.push_back(2); 767 }

      768 testAppendAndGetAllInts(s8b, expectedInts);

      Show
      Simple8b s8b; 763 764 std::vector<uint64_t> expectedInts(1920, 0); 765 for(uint32_t i = 0; i < 200; ++i) { 766 expectedInts.push_back(2); 767 } 768 testAppendAndGetAllInts(s8b, expectedInts);
    • Sprint:
      Execution Team 2021-08-23

      Description

      This will fail to even pass just testAppendAndGetAllInts. Im pretty sure it applies to any situation in which we exactly fill up the rle buffer with 0s and then try to add another value that will also use rle. Pretty sure its because we assume 0 as a base but then if the user also adds 0 we get doubled. A simple bugfix would be to never start rle if we haven't at least written one s8b word to buffer. May not be best solution though!

        Attachments

          Activity

            People

            Assignee:
            jackson.xie Jackson Xie (Inactive)
            Reporter:
            luke.bhan Luke Bhan (Inactive)
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: