Skip to content

Draft: fix for DTR sizes in accounting print-outs (BUGZ-3968)

Andrii Salnikov requested to merge andrii/arc:bug-3968 into master

Short summary of the bugged behavior

For one of the files in question:

  • Real size (from Panda): 3836.19 MB
  • Size as shown by arcctl: 259.8M
  • Raw size in accounting database: -272433175

Cause

SQLite stores only signed integers, in the A-REX C++ code values are unsigned integers. C++ accounting code just stores them in SQLite.

Mitigation

As we are already storing like this and luckily it is not a part of the publishing, on the python side:

-272433175+2^32 = 3836.1874 MB

Proper fix

Maybe some proper type conversion in C++ before storing values? But I am not feeling experienced enough for properly fixing this.

Merge request reports