-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Improve names returned by server_info counters #4031
Conversation
Hi @natenichols, I wrote this code, so I don't feel like I can impartially review it. Sorry. But I'd be happy to have you review it. |
I can't approve my own pull requests. |
src/ripple/core/JobTypes.h
Outdated
add(jtLEDGER_REQ, "ledgerRequest", 5, 0ms, 0ms); | ||
add(jtPROPOSAL_ut, "untrustedProposal", maxLimit, 500ms, 1250ms); | ||
add(jtREPLAY_TASK, "ledgerReplayTask", maxLimit, 0ms, 0ms); | ||
add(jtLEDGER_DATA, "ledgerData", 5, 0ms, 0ms); |
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.
The limit for this job type used to be 4. Now it's 5. Was the change intentional?
src/ripple/core/JobTypes.h
Outdated
add(jtVALIDATION_ut, "untrustedValidation", maxLimit, 2000ms, 5000ms); | ||
add(jtTRANSACTION_l, "localTransaction", maxLimit, 100ms, 500ms); | ||
add(jtREPLAY_REQ, "ledgerReplayRequest", 10, 250ms, 1000ms); | ||
add(jtLEDGER_REQ, "ledgerRequest", 5, 0ms, 0ms); |
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.
The limit for this job type used to be 4. Now it's 5. Was this intentional?
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.
No. That was not an intentional change. Good catch. Thanks.
@scottschurr authored this commit and it has been running on reporting servers.
High Level Overview of Change
Historically, quite a number of different kinds of operations have been running in the
JobQueue
asjtCLIENT
. These include:Placing all of these operation types under
jtCLIENT
made them indistinguishable whenserver_info
returned usage of theJobQueue
. This commit improves visibility of the operations being performed in theJobQueue
by providing uniquejtClient*
priorities listed above.This change has the side effect of giving the different operations different priorities in the queue. I don't think this will have any negative impact on the ledger. And none has been observed in the reporting mode servers. But it's worth thinking about during the review. The priorities of the new job classifications are, from low to high priority:
These priorities can be trivially changed (by re-ordering their appearance in the
enum
) if any reviewer sees a good reason to do so.Context of Change
When debugging overloading of the
JobQueue
it was noted that many of the entries simply saidclientCommand
. We wanted to understand which jobs were actually running in theJobQueue
. Separating out the various jobs being handled under theclientCommand
umbrella was an easy way to accomplish the goal without adding to the pre-existing complexity.Type of Change
No unit tests were added for this change.