I wonder what I did wrong... I did:
* change appenders.xml and changes.xml
* commit locally (not commit and push)
* rebase with origin/master
...and got a lot of conflicts.

The changes.xml conflict is expected, but it's marking all files I added
(MemoryMappedFileAppender.java, etc) as conflicting additions now...

Should I have pushed my local changes to the remote 431 branch before
rebasing with origin/master?

On Thursday, September 18, 2014, Remko Popma <[email protected]> wrote:

> I rephrased it but when I tried to rebase the branch I got tons of
> conflicts and got stuck. I'll try again tonight.
>
> Sent from my iPhone
>
> On 2014/09/18, at 1:55, Matt Sicker <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
> I think it would definitely be a good idea to mention "since 2.1" or a
> similar message. That's rather important since we don't maintain past
> versions of the website manual.
>
> On 17 September 2014 11:13, Gary Gregory <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
>> I would say nothing, otherwise, we should go around all of the docs and
>> put "beta" on all the new stuff. I think the docs maybe could say "since
>> 2.1" or "new" for the new stuff. But it is says "new" or "beta" you have to
>> go edit that again when we release. I think it is best to have a "what's
>> new section" that tracks what was added in each version.
>>
>> Gary
>>
>> On Wed, Sep 17, 2014 at 12:02 PM, Remko Popma <[email protected]
>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>>
>>> Shall I replace "Experimental" with "Beta" in the docs for this
>>> component then until 2.1 final? I'm fine with that.
>>>
>>> On Thu, Sep 18, 2014 at 12:48 AM, Gary Gregory <[email protected]
>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>>>
>>>> I do not think this should be marker "experimental".
>>>>
>>>> If it is brought into trunk for 2.1 and we have a beta, we can say,
>>>> this and that are new, it's a beta.
>>>>
>>>> Gary
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: <[email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
>>>> Date: Wed, Sep 17, 2014 at 11:45 AM
>>>> Subject: [1/3] git commit: LOG4J2-431 MemoryMappedFileAppender manual
>>>> page
>>>> To: [email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>
>>>>
>>>>
>>>> Repository: logging-log4j2
>>>> Updated Branches:
>>>>   refs/heads/LOG4J2-431 64369f3d7 -> 63aed83d6
>>>>
>>>>
>>>> LOG4J2-431 MemoryMappedFileAppender manual page
>>>>
>>>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>>>> Commit:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/80dafe9e
>>>> Tree:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/80dafe9e
>>>> Diff:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/80dafe9e
>>>>
>>>> Branch: refs/heads/LOG4J2-431
>>>> Commit: 80dafe9e85c28f89d5b4d411d8b28c33642f411f
>>>> Parents: 64369f3
>>>> Author: rpopma <[email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
>>>> Authored: Thu Sep 18 00:42:50 2014 +0900
>>>> Committer: rpopma <[email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
>>>> Committed: Thu Sep 18 00:42:50 2014 +0900
>>>>
>>>> ----------------------------------------------------------------------
>>>>  src/site/xdoc/manual/appenders.xml | 131
>>>> ++++++++++++++++++++++++++++++++
>>>>  1 file changed, 131 insertions(+)
>>>> ----------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/80dafe9e/src/site/xdoc/manual/appenders.xml
>>>> ----------------------------------------------------------------------
>>>> diff --git a/src/site/xdoc/manual/appenders.xml
>>>> b/src/site/xdoc/manual/appenders.xml
>>>> index 032983b..7d47f78 100644
>>>> --- a/src/site/xdoc/manual/appenders.xml
>>>> +++ b/src/site/xdoc/manual/appenders.xml
>>>> @@ -1320,6 +1320,137 @@ public class JpaLogEntity extends
>>>> AbstractLogEventWrapperEntity {
>>>>      ...
>>>>  }]]></pre>
>>>>          </subsection>
>>>> +      <a name="MemoryMappedFileAppender" />
>>>> +      <subsection name="MemoryMappedFileAppender">
>>>> +        <p><i>Experimental. This has been tested on several platforms,
>>>> but this is
>>>> +          a new component (since 2.1) and does not yet have much track
>>>> record.</i></p>
>>>> +        <p>
>>>> +          The MemoryMappedFileAppender maps a part of the specified
>>>> file into memory
>>>> +          and writes log events to this memory, relying on the
>>>> operating system's
>>>> +          virtual memory manager to synchronize the changes to the
>>>> storage device.
>>>> +          The main benefit of doing this is I/O performance. Instead
>>>> of making system
>>>> +          calls to write to disk, this appender can simply change the
>>>> program's local memory,
>>>> +          which is orders of magnitude faster. Also, in most operating
>>>> systems the memory
>>>> +          region mapped actually is the kernel's <a href="
>>>> http://en.wikipedia.org/wiki/Page_cache";>page
>>>> +          cache</a> (file cache), meaning that no copies need to be
>>>> created in user space.
>>>> +          (TODO: performance tests that compare performance of this
>>>> appender to
>>>> +          RandomAccessFileAppender and FileAppender.)
>>>> +        </p>
>>>> +        <p>
>>>> +          There is some overhead with mapping a file region into
>>>> memory,
>>>> +          especially very large regions (half a gigabyte or more).
>>>> +          The default region size is 32 MB, which should strike a
>>>> reasonable balance
>>>> +          between the frequency and the duration of remap operations.
>>>> +          (TODO: performance test remapping various sizes.)
>>>> +        </p>
>>>> +        <p>
>>>> +          Similar to the FileAppender and the RandomAccessFileAppender,
>>>> +          MemoryMappedFileAppender uses a MemoryMappedFileManager to
>>>> actually perform the
>>>> +          file I/O. While MemoryMappedFileAppender from different
>>>> Configurations
>>>> +          cannot be shared, the MemoryMappedFileManagers can be if the
>>>> Manager is
>>>> +          accessible. For example, two web applications in a servlet
>>>> container can have
>>>> +          their own configuration and safely write to the same file if
>>>> Log4j
>>>> +          is in a ClassLoader that is common to both of them.
>>>> +        </p>
>>>> +        <table>
>>>> +          <caption align="top">MemoryMappedFileAppender
>>>> Parameters</caption>
>>>> +          <tr>
>>>> +            <th>Parameter Name</th>
>>>> +            <th>Type</th>
>>>> +            <th>Description</th>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>append</td>
>>>> +            <td>boolean</td>
>>>> +            <td>When true - the default, records will be appended to
>>>> the end
>>>> +              of the file. When set to false, the file will be cleared
>>>> before
>>>> +              new records are written.
>>>> +            </td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>fileName</td>
>>>> +            <td>String</td>
>>>> +            <td>The name of the file to write to. If the file, or any
>>>> of its
>>>> +              parent directories, do not exist, they will be created.
>>>> +            </td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>filters</td>
>>>> +            <td>Filter</td>
>>>> +            <td>A Filter to determine if the event should be handled
>>>> by this
>>>> +              Appender. More than one Filter may be used by using a
>>>> CompositeFilter.
>>>> +            </td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>immediateFlush</td>
>>>> +            <td>boolean</td>
>>>> +            <td>
>>>> +              <p>When set to true, each write will be followed by a
>>>> +                call to <a href="
>>>> http://docs.oracle.com/javase/7/docs/api/java/nio/MappedByteBuffer.html#force()
>>>> ">MappedByteBuffer.force()</a>.
>>>> +            This will guarantee the data is written to the storage
>>>> device.
>>>> +              </p>
>>>> +              <p>The default for this parameter is <code>false</code>.
>>>> +                This means that the data is written to the storage
>>>> device even
>>>> +                if the Java process crashes, but there may be data
>>>> loss if the
>>>> +                operating system crashes. Note that manually forcing a
>>>> sync on every
>>>> +                log event loses most of the performance benefits of
>>>> using a memory mapped file.</p>
>>>> +              <p>Flushing after every write is only useful when using
>>>> this
>>>> +              appender with synchronous loggers. Asynchronous loggers
>>>> and
>>>> +              appenders will automatically flush at the end of a batch
>>>> of events,
>>>> +              even if immediateFlush is set to false. This also
>>>> guarantees
>>>> +              the data is written to disk but is more efficient.
>>>> +              </p>
>>>> +            </td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>regionLength</td>
>>>> +            <td>int</td>
>>>> +            <td>The length of the mapped region, defaults to 32 MB
>>>> +              (32 * 1024 * 1024 bytes). This parameter must be a value
>>>> +              between 256 and 1,073,741,824 (1 GB or 2^30);
>>>> +              values outside this range will be adjusted to the
>>>> closest valid
>>>> +              value.
>>>> +              Log4j will round the specified value up to the nearest
>>>> power of two.</td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>layout</td>
>>>> +            <td>Layout</td>
>>>> +            <td>The Layout to use to format the LogEvent</td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>name</td>
>>>> +            <td>String</td>
>>>> +            <td>The name of the Appender.</td>
>>>> +          </tr>
>>>> +          <tr>
>>>> +            <td>ignoreExceptions</td>
>>>> +            <td>boolean</td>
>>>> +            <td>The default is <code>true</code>, causing exceptions
>>>> encountered while appending events to be
>>>> +              internally logged and then ignored. When set to
>>>> <code>false</code> exceptions will be propagated to the
>>>> +              caller, instead. You must set this to <code>false</code>
>>>> when wrapping this Appender in a
>>>> +              <a href="#FailoverAppender">FailoverAppender</a>.</td>
>>>> +          </tr>
>>>> +        </table>
>>>> +        <p>
>>>> +          Here is a sample MemoryMappedFile configuration:
>>>> +        </p>
>>>> +
>>>> +          <pre class="prettyprint linenums"><![CDATA[<?xml
>>>> version="1.0" encoding="UTF-8"?>
>>>> +<Configuration status="warn" name="MyApp" packages="">
>>>> +  <Appenders>
>>>> +    <MemoryMappedFile name="MyFile" fileName="logs/app.log">
>>>> +      <PatternLayout>
>>>> +        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
>>>> +      </PatternLayout>
>>>> +    </MemoryMappedFile>
>>>> +  </Appenders>
>>>> +  <Loggers>
>>>> +    <Root level="error">
>>>> +      <AppenderRef ref="MyFile"/>
>>>> +    </Root>
>>>> +  </Loggers>
>>>> +</Configuration>]]></pre>
>>>> +      </subsection>
>>>>          <a name="NoSQLAppender"/>
>>>>          <subsection name="NoSQLAppender">
>>>>            <p>The NoSQLAppender writes log events to a NoSQL database
>>>> using an internal lightweight provider interface.
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: [email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');> | 
>>>> [email protected]
>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>
>>>> Java Persistence with Hibernate, Second Edition
>>>> <http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: [email protected]
>> <javascript:_e(%7B%7D,'cvml','[email protected]');> | 
>> [email protected]
>> <javascript:_e(%7B%7D,'cvml','[email protected]');>
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> Matt Sicker <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
>
>

Reply via email to