On 14/02/2010 7:05 AM, Curt Arnold wrote:
On Feb 13, 2010, at 3:58 PM, Ceki Gülcü wrote:
Isn't the write method in PrudentWriter (see [1]) a copy-and-paste of code
safeWrite() method in logback's FileAppender (see [2])?
[1]
http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/helpers/PrudentWriter.java?revision=909868&view=markup&pathrev=909918
[2]
http://github.com/ceki/logback/blob/master/logback-core/src/main/java/ch/qos/logback/core/FileAppender.java
http://issues.apache.org/bugzilla/show_bug.cgi?id=48704
> The process that I followed was to examine to the logback code to
> determine what prudent mode was, which I then described as part of the
> bug report and then implemented from the description. The fragments
> are similar since there aren't that many ways to get a lock on a
> channel, reposition the channel to the end of the file, write a
> string, and release a lock.
What a load of horse crap. The prudent mode feature in logback was
requested by a paying customer. It took me a week, working full-time,
to bring the code and its accompanying battery of tests to its current
state. You got a there in a few hours and proceeded to resolve 5 other
log4j bugs all in the same evening. You must be a genius.
While it is probably not possible to refactor the locking code to make
it clearer, it took me several iterations to get there. More to the
point, it relies on the fact that the channel.size() operation
*always* returns the correct file size. Now, given that the size()
method in java.io.File class can return *inaccurate* results for
several *seconds* after the cessation of all I/O activity on a given
file, it is completely non-obvious and frankly quite miraculous that
my locking code should work at all. Contrary to your claim, one can
have confidence that the locking code actually works only after
performing a large battery of tests. Logback ships with several
hundred lines of code testing the locking code in prudent mode, which
I happened to execute for several days before gaining confidence in
its reliability. In contrast, your commit does not come with any tests
at all.
You picked the wrong logback feature to rip off.
You can persists in denying the obvious or come to your senses. I
suggest you privately contact the board or maybe Ralph Goers who is
quite knowledgeable about these matters to get counseling about the
seriousness of your predicament. You are also in violation of sections
4 and 5 of the ICLA document you signed as an Apache committer. The
Apache foundation is unlikely to condone your personal copyright
infringement implicating the foundation.
Before this matter gets out of hand with regrettable consequences, I
expect you to:
1) immediately revert commit 909868
2) post a public apology to this list and promise to refrain from
similar copyright infringement in the future.
--
Ceki Gülcü
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]