-
Notifications
You must be signed in to change notification settings - Fork 871
Feature/refactor arangobench #14548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Feature/refactor arangobench #14548
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
80536ea
Started refactoring with Velocypack
cpjulia 4abf968
Test for account email change
cpjulia 008cea9
Integrated Velocypack to document-import and removed comments that we…
cpjulia 9a7c7c2
Integrated arangobench to Velocypack
cpjulia 054662f
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia e9910cd
Fixed compilation bug by adding const to the payload function definit…
cpjulia 0638ac9
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia 515e159
Removed unnecessary indentation from file
cpjulia 335414a
Fixed typos in document testkeys
cpjulia e32bbae
Apply suggestions from code review
cpjulia 92383c8
Applied suggested changes on review
cpjulia a01a3b2
Merge branch 'feature/refactor-arangobench' of github.com:arangodb/ar…
cpjulia 68be152
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia dc6eb5c
Added log topic BENCH
cpjulia 79a35f4
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia 61a108d
Merged url, type and payload functions into one, changed type of LOG …
cpjulia 38dca35
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
jsteemann f2ff275
Fixes for results calculations
jsteemann b113e67
simplify some test cases
jsteemann 14e930b
slightly clean up API
jsteemann 436a6f0
simplify request handling
jsteemann 11b44d3
simplify test cases
jsteemann 03aeb2c
simplify test cases
jsteemann 07ee251
simplify test cases
jsteemann 630603a
Removed escape for character % within a string that was causing compi…
cpjulia b8d61a3
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia 91b147b
reduce formatting differences in main files
jsteemann 03f57f4
micro optimizations
jsteemann b42c2d5
set some velocypack Options for Builder
jsteemann 8b4b981
allow recycling of SimpleHttpResult objects
jsteemann 23db23c
add "bench" log topic
jsteemann 760b2b4
unrolled case-insensitive comparison
jsteemann b0c136a
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
jsteemann 00a6f43
Merge branch 'devel' of github.com:arangodb/arangodb into feature/ref…
cpjulia c948826
CHANGELOG
cpjulia 07ce765
fix gtest
jsteemann 704dad5
Update arangosh/Benchmark/testcases/AqlInsertTest.h
jsteemann 3c90697
address review comments
jsteemann f95b976
fix error counters for batching
jsteemann 2ecf023
fix some out-of-range casts reported by ASan
jsteemann File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix error counters for batching
- Loading branch information
commit f95b9766fcbaf6694329d6b85e9c128a42bd265f
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If
result != nullptr && result->isComplete() && !result->wasHttpError() && !batchis satisfied we will return here without updating any counters - this is a change to be previous behavior.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the change is valid, because counters should only increased when there are any errors (the counters are simply error counters).
For non-batch requests (i.e.
!batch) an error was previously assumed ifresult == nullptr || !result->isComplete() || result->wasHttpError().In the refactored version, we are still counting in this case.
And for batch requests (.e.
batch) this case should also be ok, because for complete HTTP responses the number of errors is only in some header, which we are still checking.And in case
result == nullptr || !result->isComplete() || result->wasHttpError()we are still counting everything, regardless of batch requests or single requests.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw in the previous code we had two different implementations for the error handling. One in executeSingleRequest and executeBatchRequest. We tried to put them together here, which made the if conditions a bit more complex, but still should reduce code size.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, so basically a
batchrequest should never report an HTTP error?I saw that you tried to unify the error handling for the single/batch requests, but unfortunately I still t 6D65 hink this function does not behave like the previous code. For example, for batch requests the old code increased
_operationsCounterbynumOperationswhile now we always increment by one. Also, the old code for batch requests had an optional verbose output that is no longer available in the new code.Can we have batch requests with a single operation? If not, I would replace the
batchargument with anumOperationsargument and derivebool batch = numOperations > 1.