heavyai / rbc

Remote Backend Compiler
https://rbc.readthedocs.io
BSD 3-Clause "New" or "Revised" License
29 stars 10 forks source link

use_tracing_allocator=True can be used only with local=True #391

Closed pearu closed 2 years ago

pearu commented 2 years ago

it's not a fundamental restriction, but for now it's just a missing functionality. Currently it works this way:

  1. the TracingAllocator records the allocations on the remote side (where the code is exectued)
  2. the LeakDetector checks whether the TracingAllocator leaked anything inside a with: statement around a call site, which happens on the local side

To make it working with local=False, we would need to implement one or more thrift calls so that the TracingAllocator and the LeakDetector can communicate. I even started to do it, but then I realized that it was becoming unnecessarily complex and that for the sake of running our own tests local=True works well enough and it's much simpler to implement.

_Originally posted by @antocuni in https://github.com/xnd-project/rbc/pull/380#discussion_r772358000_

guilhermeleobas commented 2 years ago

The tracing allocator was removed in #458, as https://github.com/heavyai/heavydb-internal/pull/6424 implements the auto memory management of buffers for runtime functions.