Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
fa9d19f
feature: Add ResourceMonitor to ExecutorExpressionContext
knakatasf Jul 16, 2025
47c58d5
feature: Add ResourceMonitor to ExecutorExpresionContext
knakatasf Jul 25, 2025
ebac27d
chore: Add tests for resource monitor for MERGE
knakatasf Jul 29, 2025
c827ed9
feature: Add resource monitor to aggregators
knakatasf Aug 1, 2025
b21ebe6
feature: add resource usage scope to Aggregators
knakatasf Aug 6, 2025
64c2c45
chore: Correct memory counting logic in mergeParameters() in ObjectFu…
knakatasf Aug 7, 2025
c877a40
Reserve memory before large operations and subtract estimate to avoid…
cpjulia Aug 8, 2025
79a05c1
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 11, 2025
ab9eebc
Add SupervisedBuffer for centralized memory accounting
cpjulia Aug 12, 2025
ff6a5b0
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 12, 2025
a1f4af8
Add new js tests, fix test name, avoid double memory accounting, fix …
cpjulia Aug 13, 2025
7765f5a
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 13, 2025
8eb0e15
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 13, 2025
94d7952
Introduced overriding of Buffer functions to account memory automatic…
cpjulia Aug 13, 2025
ae8b638
add new file to CMakeLists
cpjulia Aug 13, 2025
9cbf0bd
Run clang-format, but leave log messages for now
cpjulia Aug 13, 2025
7d84712
chore: Correct memory counting logic of INTO, SortedCollectExecutor
knakatasf Aug 14, 2025
2cbc538
chore: Correct memory accounting logic in AggregatorUnique
knakatasf Aug 14, 2025
fbf31c8
chore: Add test cases for SortedCollectExecutor in aql-memory-limit.js
knakatasf Aug 15, 2025
0a7dfb6
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 15, 2025
6d0c8c2
Update velocypack submodule to feature/supervised-buffer
cpjulia Aug 15, 2025
fa785d1
Merge branch 'feature/supervised-buffer' into feature/merge-resource-…
cpjulia Aug 15, 2025
e0d5f8f
chore: Correct PUSH aggregator logic; Add tests in aql-memory-limit.js
knakatasf Aug 18, 2025
c7d176c
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 18, 2025
58856cf
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 18, 2025
b079443
Override the clear method to account for released memory
cpjulia Aug 18, 2025
c924075
Remove noecept from overriden methods as now can throw
cpjulia Aug 18, 2025
ee48752
Remove comment
cpjulia Aug 18, 2025
462cb41
Give back the noexcept because methods don't actually throw as don't …
cpjulia Aug 18, 2025
ad3be4a
Added supervised buffer test
cpjulia Aug 18, 2025
71e47d3
Merge branch 'feature/supervised-buffer' into feature/merge-resource-…
cpjulia Aug 18, 2025
7777f35
Fix file name
cpjulia Aug 18, 2025
c166e38
track velocypack feature/supervised-buffer
cpjulia Aug 18, 2025
0ae55c5
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 18, 2025
77fa9f9
Get rid of raw pointer
cpjulia Aug 18, 2025
db70530
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 18, 2025
bd5b9d7
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 18, 2025
6e0ba43
Add supervised buffer usage to object functions
cpjulia Aug 18, 2025
34a766c
Fix cpp test
cpjulia Aug 18, 2025
a2ef8ed
Fix usage of supervised buffer in object functions mergeParameters
cpjulia Aug 19, 2025
ca43a7d
made steal method public
cpjulia Aug 19, 2025
93da005
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 19, 2025
aa4a377
Made inheritance public
cpjulia Aug 19, 2025
25233ab
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 19, 2025
c563ce3
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 19, 2025
2bac194
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 19, 2025
f489731
Merge branch 'devel' into feature/merge-resource-monitor
KVS85 Aug 20, 2025
a4d0821
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 20, 2025
0a1ee3d
Merge branch 'feature/merge-resource-monitor' of github.com:arangodb/…
cpjulia Aug 20, 2025
9adeb6f
Add function to build aql value accounting with the supervised buffer…
cpjulia Aug 20, 2025
3382d1d
Add pessimistic memory account guard before calling helper function t…
cpjulia Aug 21, 2025
8c5677e
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 21, 2025
40af59f
Add test with manual usage scope increase
cpjulia Aug 21, 2025
1267f9f
Fix test
cpjulia Aug 21, 2025
fc130ad
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 21, 2025
2a799eb
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 22, 2025
3d53eb5
chore: Change ExecutorExpressionContext so it hold reference of Resou…
knakatasf Aug 22, 2025
ca22a83
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 22, 2025
af6205b
Fixed errors in syntax
cpjulia Aug 22, 2025
3f28666
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 22, 2025
84aa621
Update velocypack with merged branch
cpjulia Aug 22, 2025
dd510c3
Merge branch 'feature/merge-resource-monitor' of github.com:arangodb/…
cpjulia Aug 22, 2025
4b6e93b
Update mergeParameters and helper function to not use scope and format
cpjulia Aug 25, 2025
e10cd2f
Add test that reuses the builder, pass the monitor instead of scope a…
cpjulia Aug 25, 2025
be8138b
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 26, 2025
4c399b0
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 26, 2025
3406b1b
Fix syntax, remove heap allocation of usage scope, delete default con…
cpjulia Aug 26, 2025
191fe1e
Removed LOG_DEVEL, fix ObjectFunctions wrt SupervisedBuffer, added test
cpjulia Aug 26, 2025
20470f4
Remove js test
cpjulia Aug 26, 2025
922c311
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 26, 2025
2ffded7
Removed LOG_DEVEL
cpjulia Aug 26, 2025
a09a880
Fix namespace syntax
cpjulia Aug 26, 2025
7a1d719
Fix pointer syntax in ObjectFunctions
cpjulia Aug 26, 2025
24d57b3
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 26, 2025
f80048f
Make inheritance public, remove helpers
cpjulia Aug 26, 2025
0d40598
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 26, 2025
c5c3300
Remove helper usage of supervised buffer
cpjulia Aug 26, 2025
d5bed73
Merge branch 'devel' of github.com:arangodb/arangodb into feature/sup…
cpjulia Aug 26, 2025
1de8853
Update velocypack submodule to feature/supervised-buffer
cpjulia Aug 26, 2025
4ce43a8
Remove countMemory boolean and function that uses it
cpjulia Aug 26, 2025
0b83b37
Remove count memory usage and helper function buildSupervisedAqlValue
cpjulia Aug 26, 2025
333f4b2
Merge remote-tracking branch 'origin/feature/supervised-buffer' into …
cpjulia Aug 27, 2025
6f04984
Remove comments, unused include
cpjulia Aug 27, 2025
fc02534
Fix mergeParameters to properly use optional buffer and fix tests, ad…
cpjulia Aug 27, 2025
a090621
Fix supervised buffer steal method to revert the usage scope instead …
cpjulia Aug 27, 2025
62f6b81
Make steal method in supervised buffer revert the scope, not steal it
cpjulia Aug 28, 2025
6c25ddc
Fixed syntax, added test
cpjulia Aug 28, 2025
a17a966
Include assertion
cpjulia Aug 28, 2025
9273610
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 28, 2025
df73e45
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Aug 29, 2025
1ba3bff
Change signatures of methors to get resource monitor ref
knakatasf Aug 28, 2025
e96c332
Fix formatting
knakatasf Aug 28, 2025
f29774f
Remove manual memory accounting, fix formatting
knakatasf Aug 29, 2025
46c2a5e
Fix git metalanguage inside file
cpjulia Aug 29, 2025
433dde0
Remove log message
cpjulia Aug 29, 2025
07b3252
Make usage scope stack allocated
cpjulia Aug 29, 2025
a7d6431
Fix aggregators buffer usage
cpjulia Aug 29, 2025
dc1dc97
Implement usage of resource monitor and supervised buffer
cpjulia Aug 29, 2025
c6f8478
Fix RAII safety of sorted collect executor
cpjulia Aug 29, 2025
fd7730c
Remove local files
cpjulia Aug 29, 2025
6b8dc30
Remove unused include
cpjulia Aug 29, 2025
cc3b4d3
Remove comment
cpjulia Aug 29, 2025
18b696f
Remove unused include
cpjulia Aug 29, 2025
85472b1
Remove unused include and useles formatting
cpjulia Aug 29, 2025
77a24b2
Remove usage scope from window executor as not needed
cpjulia Aug 29, 2025
871d7be
Make memory accounting automatic in hashed collector, use supervised …
cpjulia Aug 29, 2025
07989a5
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Sep 1, 2025
40b44c2
Merge branch 'devel' of github.com:arangodb/arangodb into feature/mer…
cpjulia Sep 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix formatting
  • Loading branch information
knakatasf authored and cpjulia committed Aug 29, 2025
commit e96c332a8f7452b60e9e7173fbc49a43f115d37d
9 changes: 5 additions & 4 deletions arangod/Aql/Aggregator.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,13 @@ struct Aggregator {
virtual ~Factory() = default;
// virtual std::unique_ptr<Aggregator> operator()(
// velocypack::Options const*) const = 0;
<<<<<<< HEAD
virtual std::unique_ptr<Aggregator> operator()(velocypack::Options const*,
ResourceMonitor&) const = 0;
=======
virtual std::unique_ptr<Aggregator> operator()(velocypack::Options const*,
ResourceMonitor&) const = 0;
>>>>>>> 05a72dd9d8d (chore: Refactor Aggregator instantiation so it takes ResourceMonitor& instead of ResourceUsageScope&)
virtual void createInPlace(void*, velocypack::Options const*,
ResourceMonitor&) const = 0;
virtual std::size_t getAggregatorSize() const = 0;
Expand All @@ -76,10 +81,6 @@ struct Aggregator {
std::string_view type,
ResourceMonitor& monitor);

// static std::unique_ptr<Aggregator> fromTypeString(velocypack::Options
// const*,
// std::string_view type);

/// @brief creates an aggregator from a velocypack slice
static std::unique_ptr<Aggregator> fromVPack(velocypack::Options const*,
arangodb::velocypack::Slice,
Expand Down
4 changes: 4 additions & 0 deletions arangod/Aql/Executor/HashedCollectExecutor.h
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,11 @@ class HashedCollectExecutor {
private:
struct ValueAggregators {
ValueAggregators(std::vector<Aggregator::Factory const*> factories,
<<<<<<< HEAD
velocypack::Options const* opts, ResourceMonitor& monitor);
=======
velocypack::Options const* opts, ResourceMonitor& monitor);
>>>>>>> 05a72dd9d8d (chore: Refactor Aggregator instantiation so it takes ResourceMonitor& instead of ResourceUsageScope&)
~ValueAggregators();
std::size_t size() const;
Aggregator& operator[](std::size_t index);
Expand Down
5 changes: 5 additions & 0 deletions arangod/Aql/Executor/IndexAggregateScanExecutor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,13 @@ IndexAggregateScanExecutor::IndexAggregateScanExecutor(Fetcher& fetcher,
_aggregatorInstances.reserve(_infos.aggregations.size());
for (auto const& agg : _infos.aggregations) {
auto const& factory = Aggregator::factoryFromTypeString(agg.type);
<<<<<<< HEAD
auto instance = factory.operator()(&_infos.query->vpackOptions(),
*infos.resourceMonitor);
=======
auto instance = factory.operator()(&_infos.query->vpackOptions(),
*infos.resourceMonitor);
>>>>>>> 05a72dd9d8d (chore: Refactor Aggregator instantiation so it takes ResourceMonitor& instead of ResourceUsageScope&)

_aggregatorInstances.emplace_back(std::move(instance))->reset();
}
Expand Down