Stefan Egli created SLING-5701:
----------------------------------

             Summary: ChunkCleanUpTask runs into an endless loop with empty 
chunks
                 Key: SLING-5701
                 URL: https://issues.apache.org/jira/browse/SLING-5701
             Project: Sling
          Issue Type: Bug
          Components: Servlets
    Affects Versions: Servlets Post 2.3.10
            Reporter: Stefan Egli
             Fix For: Servlets Post 2.3.12


Normally chunks created by the SlingFileUploadHandler are formatted the 
following way:

{code}
./chunk_0_19999
./chunk_20000_39999
./chunk_40000_45123
{code}

However consider a chunk which is formatted as follows:

{code}
./chunk_45124_45123
{code}

this will cause 
[SlingFileUploadHandler.getLastChunk|https://github.com/apache/sling/blob/ded7f8d657ff54711d6e9bd7d6f76cca67c89df6/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java#L487]
 to enter an endless loop as it repeatedly sets the {{startPattern}} to 
"{{./chunk_45124_45123}}" in the above case. Generally speaking, when you have 
a chunk named '{{chunk_n_n-1}}' {{getLastChunk}} will do an endless loop.

You can also think of other scenarios where {{getLastChunk}} does an endless 
loop - basically, whenever the {{indexBounds[1]}} is lower than 
{{indexBounds[0]}} and hits an existing chunk name.



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

Reply via email to