maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Campbell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DOXIA-554) Parsing time for Markdown documents can take very long and hang site generation
Date Sat, 11 Mar 2017 23:31:04 GMT

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

Marc Campbell commented on DOXIA-554:
-------------------------------------

[~vsch]  The {{doxia-modules/doxia-module-markdown/src/site/apt/index.apt}} should inform
the users of considerations in the choice between {{doxia-module-markdown}} version 1.7 and
1.8 because of the different required Java version.

My first thoughts on additional text would be something like the following.  

[~michael-o], [~hboutemy] Comments|input|guidance|feedback are welcome. :-)

----

*NOTE: Unlike other {{Doxia}} 1.8 modules, {{doxia-module-markdown}} version 1.8 requires
Java 7.  Other {{Doxia}} 1.8 modules require Java 6.*

The {{doxia-module-markdown}} version can be specified separately from other Doxia modules.

{code:xml}
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>${maven-site-plugin.version}</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>${doxia-module-markdown.version}</version>
        </dependency>
        <!-- other doxia module(s) -->
    </dependencies>
</plugin>
{code}

If your project requires Java 6, then you may consider the use of {{doxia-module-markdown}}
version 1.7.  In this situation, you should be aware that {{pegdown}} has known technical
issues and that ["pegdown has reached its end of life"|http://pegdown.org]. 

The {{flexmark-java}} markdown processor in {{doxia-module-markdown}} version 1.8 provides
the following improvements.

* Modern parser architecture (based on commonmark-java), designed from the ground up as a
pegdown replacement and supporting all its features and extensions
* 30x better average parsing performance without pathological input cases
* Configuration options for a multitude of markdown dialects (CommonMark, pegdown, MultiMarkdown,
kramdown and Markdown.pl)

... references ...

   * {{[flexmark-java|http://github.com/vsch/flexmark-java]}}, the library used by Doxia {{doxia-module-markdown}}
version 1.8 in {{[Pegdown|http://pegdown.org]}} compatibility mode.

   * {{[Pegdown|http://pegdown.org]}}, a deprecated markdown processing library used in the
previous {{doxia-module-markdown}} version 1.7.

> Parsing time for Markdown documents can take very long and hang site generation
> -------------------------------------------------------------------------------
>
>                 Key: DOXIA-554
>                 URL: https://issues.apache.org/jira/browse/DOXIA-554
>             Project: Maven Doxia
>          Issue Type: Bug
>          Components: Module - Markdown
>    Affects Versions: 1.7
>            Reporter: Michael Benz
>         Attachments: maven-pom-sample-pegdown-performance.zip
>
>
> The parsing time for Markdown documents can take very long and hang site generation when
e.g. long tables are being generated.
> The author of pegdown has marked the pegdown project deprecated since 2016-12-14 [pegdown.org|https://github.com/sirthias/pegdown/]
and advises to switch to [flexmark-java|https://github.com/vsch/flexmark-java].
> {quote}
> The project is essentially unmaintained with tickets piling up and crucial bugs not being
fixed.
> pegdown's parsing performance isn't great. In some cases of pathological input runtime
can even become exponential, which means that the parser either appears to "hang" completely
or abort processing after a time-out.
> {quote}
> Since the parsing timeout was increased in DOXIA-498 it is now possible to "hang" the
site creation with a longer table like the one in this example.
> In case this sample is rendered using version 3.3 of the maven site



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message