[ 
https://issues.apache.org/jira/browse/ACCUMULO-3652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14508333#comment-14508333
 ] 

Ed Coleman commented on ACCUMULO-3652:
--------------------------------------

Bob, it looks like the pull request has been closed. I have not used the review 
board (yet) so I can't be much help there, but I would like to look at the 
changes - but not sure what version you have is your latest.

When I made the previous changes, I would commit to my local branch often, but 
then I squashed those merges into one commit and I then fast-forwarded my 
changes to the latest accumulo-master (re-squishing as necessary) and then make 
a patch against my branch and then submitted that,  The patch submission took 
two steps in Jira - one to say patch available and a second to actually attach 
the file.

>From what I see from following the conversation it seems that you are real 
>close and I'd like to help to close this out.

One thing that I want to see in the review is the changes that you have made in 
OpTimer and also those dealing with TLevel commented on above.

This is my personnel opinion, but I've taken a couple of runs at the logging 
issue.  The ultimate goal it to enable Accumulo to move forward with a more 
modern logging framework (log4j2, logback,...) and to allow clients the 
flexibility to chose what they want. 

At this point, Accumulo (as well as some dependencies, i.e.hadoop) are pretty 
entrenched with log4j and we cannot remove it from the back end until there is 
some major refactoring / changes to some fundamental Accumulo components. 
(There is still hope for the client though.)

OpTimer is one, and the best approach may be to substitute other functionality 
that is compatible.  There is a separate ticket that expresses this desire.

TLevel and forwarding messages to the monitor is another tough hill to climb. 
This will really require a lot of rework in a very core component - something 
that I think we need to agree on an approach and it will probably need to be 
part of a major release.

With these two and other similar issues I've been taking the approach that it 
really should be all or nothing. There is no problem continuing with log4j for 
the time being and making changes, even if they seem minor could turn out to 
have real issues.  And being that these are fundamental core components / 
functionality, well the risk seems to outweigh any benefits of a partial 
solution - if the resulting component is still going to have a direct log4j 
dependency then I am in favor of leaving it until a solution is decided on. 
Otherwise, I think I'd need to see some specific tests added to demonstrate 
that there really is no change in functionality. 

As a hypothetical - say that a change prevented some messages from being 
forwarded to the monitor. We may never know until someone had an error in a 
tserver log that should have been displayed in the monitor but wasn't. Chasing 
the issue down would be quite tedious and might even be over looked for quite 
awhile - blamed on other things,... So, with little benefit now, and the 
component still having a direct log4j dependency (even if reduced) does not 
seem worth it. Completely refactoring and adequately testing a new component 
seems a more conservative approach that will minimize surprises.

These first couple of passes have allowed us to see where we still have issues 
and your work will help this move forward. Thanks.

Let me know what I can do to help.


> Remove string concatenation in log statements where slf4j is used.
> ------------------------------------------------------------------
>
>                 Key: ACCUMULO-3652
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3652
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: build
>    Affects Versions: 1.7.0
>            Reporter: Ed Coleman
>            Assignee: Bob Thorman
>            Priority: Minor
>             Fix For: 1.7.0
>
>         Attachments: ACCUMULO-3652-3.patch
>
>
> As a separate task, continue with the conversion to remove log4j 
> dependencies, modify log statements where string concatenation is used and 
> replace with {} parameter substitution. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to