ackelcn created AMQ-7503:
----------------------------
Summary: Comment code with issue numbers
Key: AMQ-7503
URL: https://issues.apache.org/jira/browse/AMQ-7503
Project: ActiveMQ
Issue Type: Improvement
Reporter: ackelcn
When I read the code of activemq, I find some comments with issue numbers. One
of them comes from TopicSubscription.java:
{code:java}
public void add(MessageReference node) throws Exception {
...
while (active) {
while (matched.isFull()) {
if (getContext().getStopping().get()) {
LOG.warn("{}: stopped waiting for space in
pendingMessage cursor for: {}", toString(), node.getMessageId());
getSubscriptionStatistics().getEnqueues().decrement();
return;
}
if (!warnedAboutWait) {
LOG.info("{}: Pending message cursor [{}] is
full, temp usag ({}%) or memory usage ({}%) limit reached, blocking message
add() pending the release of resources.",
new Object[]{
toString(),
matched,
matched.getSystemUsage().getTempUsage().getPercentUsage(),
matched.getSystemUsage().getMemoryUsage().getPercentUsage()
});
warnedAboutWait = true;
}
matchedListMutex.wait(20);
}
// Temporary storage could be full - so just try to add
the message
// see
https://issues.apache.org/activemq/browse/AMQ-2475
if (matched.tryAddMessageLast(node, 10)) {
break;
}
}{code}
These comments are quite useful for other programmers and me to understand the
code, but I notice that not all issue numbers are written in code comments. It
can be already quite tedious to write them into commit messages :)
To handle the problem, I implemented a tool to automatically instrument issue
numbers into code comments. I tried my tool on activemq, and the instrumented
version is [https://github.com/ackelcn/activemqwithissuecomment]
To avoid confusion, if there is already an issue number in code comments, my
tool ignored the issue number. All my generated comments start from //IC, so it
is easy to find them.
Would you please some feedbacks to my tool? Please feel free to merge my
generated comments in your code, if you feel that some are useful.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)